Pyodbc对数据类型的支持
常用的数据类型如下:
字符类型
内置字符类型包括:char, nchar, varchar, nvarchar 和lvarchar
CHARACTER(n) 和 CHARACTER VARYING(n)这样的别名同样支持
参考代码:test_string_type.py
常用的数据类型如下:
内置字符类型包括:char, nchar, varchar, nvarchar 和lvarchar
CHARACTER(n) 和 CHARACTER VARYING(n)这样的别名同样支持
参考代码:test_string_type.py
常用的数据类型如下:
内置字符类型包括:char, nchar, varchar, nvarchar 和lvarchar
CHARACTER(n) 和 CHARACTER VARYING(n)这样的别名同样支持
参考代码:test_string_type.py
同名函数,参数输入不同
-- dbms_lob_getlength
create function 'gbasedbt'.dbms_lob_getlength (blob)
returns integer
external name '$GBASEDBTDIR/extend/excompat.1.0/excompat.bld(dbms_lob_getlength)' language c;
create function 'gbasedbt'.dbms_lob_getlength (clob)
returns integer
external name '$GBASEDBTDIR/extend/excompat.1.0/excompat.bld(dbms_lob_getlength)' language c;
测试环境:
确认已经安装python3和python3-devel
[root@localhost test]# python3 -V
Python 3.6.8
如果没有安装,建议使用yum install python3来安装。
升级pip的版本
修改/etc/sysconfig/network-scripts/ifcfg-ens33配置文件,按以下内容提示修改
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="none"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="yes"
# 确认IPV6INIT的值为yes
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
# 增加IPV6ADDR和IPV6_DEFAULTGW,注意不要使用私网地址
IPV6ADDR="3ffe:ffff:ffff:ffff::12/64"
IPV6_DEFAULTGW="3ffe:ffff:ffff:ffff::1"
NAME="ens33"
UUID="caab0c05-8e0d-4526-9dcf-e966cd9eef34"
DEVICE="ens33"
ONBOOT="yes"
IPADDR="192.168.80.70"
PREFIX="24"
GATEWAY="192.168.80.2"
DNS1="192.168.80.2"
DOMAIN="192.168.80.2"
IPV6_PRIVACY="no"
JDBC连接字符串的完整格式:
>>-jdbc:gbasedbt-sqli://-hostname:portnum--/database_name:------>
>--+--------------------------------+--------------------------->
'-USER=userid;-PASSWORD=password-'
>--+----------------------------+------------------------------->
'-GBASEDBTSERVER=servername;-'
>--+-----------------------------------------------------------+-><
| .-;-----------. |
| V | |
'-CSM=(SSO=database_server@realm,ENC=true)}---;name=value-+-'
GBase 8s中clob数据类型的操作一般使用filetoclob,lotofile和locopy函数;
示例如下:
-- 插入文本文件到指定字段中
insert into tabclob(id, clobcol) values (1, filetoclob('/home/gbase/clob.file','client'));
-- 导出clob内容至文件
select lotofile(clobcol,'/home/gbase/clob.file.20220103','client') from tabclob;
-- 复制clob
insert into tabclob2 select 2,locopy(clobcol) from tabclob where id = 1;
与前一文档类似,本文档通过SPL实现部分mysql兼容函数。
参考的SQL语句: mysql_func.sql
包含的内容:
-- STRCMP函数:比较两个字符串
function STRCMP(str1 lvarchar, str2 lvarchar)
比如,放到$GBASEDBTDIR/udr 目录下,并改名为judr.jar
则gbasedbt-judr-x.x.x.jar的位置为$GBASEDBTDIR/udr/judr.jar
下载地址:https://docs.gbasedbt.com/Java_Udr/install/gbasedbt-judr-1.0.0.jar
使用的环境:
IntelliJ IDEA 2018.3.6 x64
新创建项目(New Project),选Spring Initializr,SDK使用1.8,使用默认的https://start.spring.io创建