当前位置:网站首页>金仓数据库KingbaseES 客户端编程接口指南 - ODBC特性支持约束
金仓数据库KingbaseES 客户端编程接口指南 - ODBC特性支持约束
2022-07-28 21:46:00 【沉舟侧畔千帆过_】
3. ODBC特性支持约束
KingbaseES 对 ODBC 3.0 的支持是有约束的,本节将从系统边界值等方面描述这些约束。
3.1. 系统边界值
系统特性 | 最小值 | 最大值 |
|---|---|---|
ODBC每个环境句柄的连接数 | 0 | 128 |
3.2. 特殊数据说明
BLOB
BLOB 数据类型可以通过编程方式插入(参照 示例说明 中的 "绑定参数为BLOB值" ),也可以通过调用 SQL 语句
insert into [table name] values(1,X'41424344')进行插入。CLOB
与 BLOB 类似,CLOB 数据类型可以通过编程方式插入,也可以通过调用 SQL 语句
insert into [table name] values(1, 'ABCD')进行插入。
3.3. 其它约束
SQLBindCol
具体的列中的类型可以转化为C数据类型,参见表3.3.1。
SQLBindParameter
支持从C数据类型往SQL数据类型的转化,参见表3.3.2。
列类型与SQL语句类型的对应关系参见表3.3.3。
SQLGetData
具体的列中的类型可以转化为C数据类型,参见表3.3.1。
参考以下的详细数据类型转换:
3.3.1. 表中的列类型到C数据类型的转换
调用 SQLBindCol 和 SQLGetData 时可以参照该表。
表中的列定义可以是下表第一列中列出的12种类型,ODBC的C数据类型可以是下表的第一行所列的20种类型。
如果表定义为左边的某种类型,那么当调用 SQLGetData 或者SQLBindCol 时 TargeType 参数只能是该数据类型对应的一行中填有"Y" 的C数据类型。
例如,当表中的列定义为 date,那么调用 SQLGetData 或者 SQLBindCol 时,TargetType 参数就可以是 SQL_C_DEFAULT,SQL_C_CHAR,SQL_C_DATE,SQL_C_TIME,SQL_C_TIMESTAMP,而不能是 SQL_C_TINYINT。
表中的列定义 | C数据类型 | |||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
S Q L _C _ DE FA UL T | S Q L _C _ CH AR | S Q L _C _ TI NY IN T | S Q L _C _ UT IN YI NT | S Q L _C _ ST IN YI NT | S Q L _C _ SH OR T | S Q L _C _ US HO RT | S Q L _C _ SS HO RT | S Q L _C _ LO NG | S Q L _C _ UL ON G | S Q L _C _ SL ON G | S Q L _C _ SB IG IN T | S Q L _C _ UB IG IN T | S Q L _C _ DO UB LE | S Q L _C _ FL OA T | S Q L _C _ BI NA RY | S Q L _C _ BI T | S Q L _C _ DA TE | S Q L _C _ TI ME | S Q L _C _ TI ME ST AM P | |
BIGINT | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | |||||
INTEGER | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | |||||
SMALLINT | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | |||||
TINYINT | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | |||||
NUMERIC DECIMAL | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | |||||
FLOAT DOUBLE REAL | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | |||||
BIT | Y | Y | ||||||||||||||||||
BYTEA BLOB | Y | Y | ||||||||||||||||||
BOOL BOOLEAN | Y | Y | ||||||||||||||||||
DATE TIME TIMESTAMP INTERVAL | Y | Y | Y | Y | Y | |||||||||||||||
CHAR VARCHAR | Y | Y | Y | Y | Y | |||||||||||||||
TEXT CLOB | Y | Y | ||||||||||||||||||
3.3.2. C数据类型到SQL数据类型的转换
调用 SQLBindParameter 时可以参照该表。
ODBC 的C数据类型可以使用下表的第一行所列的18种类型,SQL语句类型可以使用下表第一列中列出的19种类型。
如果绑定参数的 ValueType为某种C数据类型,那么当调用 SQLBindParameter时,ParameterType 参数只能是该C数据类型对应的一列中填有"Y"的 SQL数据类型。 如:
如果绑定参数的 ValueType为 SQL_C_CHAR,那么调用 SQLBindParameter 时,ParameterType 参数就可以是 SQL_CHAR,SQL_VARCHAR,SQL_LONGVARCHAR,而不能是 SQL_DECIMAL。
表中的列定义 | C数据类型 | |||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
S Q L _C _ DE FA UL T | S Q L _C _ CH AR | S Q L _C _ TI NY IN T | S Q L _C _ UT IN YI NT | S Q L _C _ ST IN YI NT | S Q L _C _ SH OR T | S Q L _C _ US HO RT | S Q L _C _ SS HO RT | S Q L _C _ LO NG | S Q L _C _ UL ON G | S Q L _C _ SL ON G | S Q L _C _ DO UB LE | S Q L _C _ FL OA T | S Q L _C _ BI NA RY | S Q L _C _ BI T | S Q L _C _ DA TE | S Q L _C _ TI ME | S Q L _C _ TI ME ST AM P | |
SQL_CHAR | Y | Y | Y | Y | Y | |||||||||||||
SQL_VARCHAR | Y | Y | Y | Y | Y | |||||||||||||
SQL_LONGVARCHAR | Y | Y | ||||||||||||||||
SQL_DECIMAL | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | ||||||
SQL_NUMERIC | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | ||||||
SQL_BIT | Y | Y | ||||||||||||||||
SQL_TINYINT | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | ||||||
SQL_SMALLINT | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | ||||||
SQL_INTEGER | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | |||||||
SQL_BIGINT | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | ||||||
SQL_REAL | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | ||||||
SQL_FLOAT | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | ||||||
SQL_DOUBLE | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | ||||||
SQL_BINARY | Y | Y | ||||||||||||||||
SQL_VARBINARY | Y | Y | ||||||||||||||||
SQL_LONGVARBINARY | Y | Y | ||||||||||||||||
SQL_TYPE_DATE | Y | Y | Y | Y | ||||||||||||||
SQL_TYPE_TIME | Y | Y | Y | Y | ||||||||||||||
SQL_TYPE_TIMESTAMP | Y | Y | Y | Y | ||||||||||||||
3.3.3. 表中的列类型到SQL数据类型的映射
下表列出了调用 SQLBindParameter时表中的列定义数据类型与SQL类型的对应关系:
当表中的数据类型定义为第一列的某种类型,那么当调用 SQLBindParameter时,ParameterType 只能为其对应行中的第二列的值。如:表中的列类型为INTEGER(INT),那么对应的 SQL 数据类型只能为SQL_INTEGER,而不能为其它的 SQL 数据类型,否则数据转化将会出错。
表中的列定义 | 可转化为如下SQL数据类型 |
|---|---|
BIGINT | SQL_BIGINT |
INTEGER | SQL_INTEGER |
SMALLINT | SQL_SMALLINT |
TINYINT | SQL_TINYINT |
DECIMAL NUMERIC | SQL_DECIMAL, SQL_NUMERIC |
REAL FLOAT DOUBLE | SQL_REAL, SQL_FLOAT, SQL_DOUBLE |
BYTEA | SQL_BINARY, SQL_VARBINARY |
BLOB | SQL_LONGVARBINARY |
BOOL BOOLEAN | SQL_BIT |
DATE TIME TIMESTAMP | SQL_DATE, SQL_TIME, SQL_TIMESTAMP |
CHAR VARCHAR TEXT | SQL_CHAR, SQL_VARCHAR |
CLOB | SQL_LONGVARCHAR |
边栏推荐
- Zero vision technology completed the pre-A round of financing and promoted the domestic replacement of intelligent driving platform software
- 这款全网热评的无线路由器,到底有什么特别?
- How does VR panorama entrepreneurship expand the market? How to make the road of entrepreneurship smoother?
- mgr.exe病毒导致启动程序启动失败
- 可视化全链路日志追踪
- 【数据挖掘工程师-笔试】2022年大华股份
- View APK signature
- CV实例分割模型小抄(1)
- [mongodb] basic use of mongodb database, special cases, and the installation and creation process of mongoose (including the installation of mongoose fixed version)
- In order for digital retail to continue to play its role, we need to give new connotation and significance to digital retail
猜你喜欢

一文读懂Okaleido Tiger近期动态,挖掘背后价值与潜力

Huawei wireless device configuration uses WDS technology to deploy WLAN services

trivy【2】工具漏洞扫描
![[filter tracking] target tracking based on EKF, TDOA and frequency difference positioning with matlab code](/img/e5/878bf5908856c80d6e07b03ba59da5.png)
[filter tracking] target tracking based on EKF, TDOA and frequency difference positioning with matlab code

With the "integration of driving and parking", freytek's high-performance domain controller leads the new track

What if win11 cannot find the DNS address? Win11 can't find DNS and can't access the web page solution

Arduino框架下STM32F103C系列单片机引脚映射关系

Mycms we media mall V3.6 release, compatible with micro engine application development (laravel framework)
![[physical application] atmospheric absorption loss with matlab code](/img/72/e6ac23012a59ac48a37bcbb068890b.png)
[physical application] atmospheric absorption loss with matlab code

参加竞赛同学们的留言 : 第十七届的记忆
随机推荐
WebView whitelist
Development of small programs ②
Kotlin JVM annotation
当初的“你“为什么做测试/开发程序员?自己存在的价值......
Mgr.exe virus caused the startup program to fail
pg_ Installation and use of RMAN "PostgreSQL"
Runloop, auto release pool, thread, GCD
[physical application] Wake induced dynamic simulation of underwater floating wind turbine wind field with matlab code
String string
[physical application] atmospheric absorption loss with matlab code
Array array object
CV语义分割模型小抄(2)
Typescript prevents base classes from being instantiated
Pgbench benchmark PostgreSQL
MyCms 自媒体商城 v3.6 发布,兼容微擎应用开发(Laravel框架)
IOS interview
零念科技完成Pre-A轮融资,推动智能驾驶平台软件国产替代
Runloop principle (II)
Cnpm installation steps
22牛客多校day1 I - Chiitoitsu 概论dp