- KingbaseES ODBC 的扩展属性
1.1. KingbaseES ODBC 数据源的高级选项
这里提供了在Windows下配置KingbaseES的相关说明。
这里设定的选项值将对使用该 DSN 的 ODBC 连接有效,但部分选项的值可通过设置扩展的连接属性或语句属性来改变,从而使这里设定的选项值失效而改用 ODBC 应用程序中设置的选项值。
1.1.1. 高级选项1/3对话框
o 默认值:按此按钮恢复以下设置的正常默认值。
o 识别唯一索引: 默认选中此选项。
o Use Declare/Fetch:如果为true,则驱动程序自动使用declare cursor/fetch来处理SELECT语句,并在缓存中保留100行。这主要是一个很大的优势存在于从数据库中读取数据,而不是更新数据。这会导致驱动程序不会吸收大量内存来缓冲整个结果集。如果设置为false,将不会使用游标,驱动程序将检索整个结果集。对于非常大的表,这是非常低效的,可能会用完所有的Windows内存/资源。但是,它可能会更好地处理更新,因为这些表不会保持打开状态,就像使用游标时一样。这是老版本odbc32的风格。然而,内存分配的行为有了很大的改进,所以即使不使用游标,性能至少应该比旧的odbc32更好。
o 普通日志(C:ksqlodbc_xxxx.log): 记录通讯信息的文件。该文件对调试问题很有帮助。
o 详细日志(C:mylog_xxxx.log):记录调试消息的文件。该文件对调试驱动程序的问题很有帮助。
o 执行语句的解析(a):如果应用程序在执行查询之前请求该信息,则告诉驱动程序如何收集有关查询结果列的信息。另请参阅服务器端准备选项。驱动程序首先检查次此选项。如果禁用,则检查服务器端准备选项。
如果启用此选项,驱动程序将解析SQL查询语句以识别列和表并收集有关它们的统计信息,例如精度、是否为空、别名等。然后在SQLDescribeCol、SQLColAttributes和SQLNumResultCols中报告此信息。
禁用此选项(默认)时,查询将发送到服务器以进行解析和描述。如果解析器不能处理一个列(因为它是一个函数或表达式等),它会回退到描述服务器中的语句。解析器相当复杂,可以处理很多事情,例如列和表别名、带引号的标识符、文字、连接、交叉产品等。它可以正确识别函数或表达式列,无论复杂度如何,但它不会尝试以确定这些列的数据类型或精度。
o 忽略超时: 忽略使用 SQLSetStmtAttr() 设置的 SQL_ATTR_QUERY_TIMEOUT。一些工具在内部发出 SQLSetStmtAttr(…, SQL_ATTR_QUERY_TIMEOUT, …) ,有时用户很难更改该值。
o 未知大小:控制着SQLDescribeCol和SQLColAttributes返回精度未知时的结果集中的字符数据类型(varchar,text和unknown)的精度。6.4版之前的KingbaseES无法返回varchar数据类型的已定义列宽度的一个解决方法。
最大值:始终返回数据类型的最大精度。
未知:返回“未知”的结果,让应用程序决定。
最长:返回任意一列的最长字符串长度。使用游标时请注意此设置,因为缓存大小可能不是缓存中最长列的良好表示。
o 数据类型选项:影响一些数据类型的映射方式:
Text as LongVarChar:KingbaseES TEXT类型映射到SQLLongVarchar,否则映射到SQLVarchar。
Unknowns as LongVarChar:未知类型(数组等)被映射到SQLLongVarChar,否则SQLVarchar
Bools char:Bools映射到SQL_CHAR,否则映射到SQL_BIT。
o Max Varchar:Varchar和BPChar(char [x])类型的最大精度。默认值是254,这实际上意味着255因为空终止符。请注意,如果您将此值设置为高于254,Access将不会让您在varchar列上索引!
o 缓存大小:使用游标时,这是元组缓存的行大小。如果不使用游标,这是在任何给定的时间分配内存的数量。无论哪种情况,默认值为100行。
o Max LongVarChar: LongVarChar类型的最大精度。默认值是4094,实际上意味着4095的空终止符。你甚至可以指定(-4)这个大小,这是odbc的SQL_NO_TOTAL值。
o SysTable Prefixes:作为系统表的附加表名前缀。以“pg_”开头的表格总是被视为系统表格,即使没有这个选项。用分号(;)分隔每个前缀。
金仓数据库KingbaseES ODBC使用指南四--扩展参数
本文档详细介绍了KingbaseES ODBC数据源的高级选项,包括识别唯一索引、Use Declare/Fetch、日志记录、数据类型选项等设置。此外,还讨论了在SQLDriverConnect()连接串中可以设定的扩展连接属性,如Fetch、MaxVarcharSize、UseServerSidePrepare等,以及如何通过设置连接属性和语句属性来优化性能和行为。
摘要由CSDN通过智能技术生成