南大通用分布式分析型数据库GBase 8a遇见的常有问题:
支持动态游标
GBase 8a ODBC 8.3 除了支持只向前和静态游标类型还支持动态游标类型。由于性能问题,驱动程序缺省是不支持这个特征。用户可以通过指明连接选项标识 DYNAMIC_CURSOR=1 或从 DSN 配置中选中使用动态游标选项来使用这个特征。
使用 unixODBC 访问 GBase 数据库时出现段错误
这是 unixODBC 的问题,通过在/etc/odbcinst.ini 文件中增加DontDLClose=1 关键字可以解决该问题。
多线程使用 unixODBC 访问 GBase 数据库的配置
在多线程调用 unixODBC 访问 GBase 数据库时,可以在/etc/odbcinst.ini文件中增加 threading=0 来提高并发。
python 语言调用 GBase 8a ODBC 驱动
使用 python 语言调用 GBase 8a ODBC 时,需要在下载安装 python 和 pyodbc包。
perl 语言调用 GBase 8a ODBC 驱动
使用 python 语言调用 GBase 8a ODBC 时,需要在下载安装 perl 和 DBD::ODBC包。
php 语言调用 GBase 8a ODBC 驱动
GBase ODBC 驱动重复执行能够返回结果的SQL 问题
如果应用像如下示例调用 ODBC 接口,那么 GBase ODBC 会在执行SQLNumResultCols 时先在 Server 端执行一次 selectSql,然后在执行SQLExecute 在 Server 端再执行一次 selectSql。
获取存储过程的结果集
使用 SQLPrepare 接口获取存储过程的结果集必须在调用 SQLExecute 后获取结果集信息,否则获取不到结果集信息。
调用 SQLBindCol 时报错 Invalid descriptor index
正常情况下传给 SQLBindCol 的第二个参数 ColumnNumber 为 0 或者大于结果集的列数时会报 Invalid descriptor index 错误。
当传入的 ColumnNumber 参数正确时,由于某种原因 gclusterd 主动 断开了连接,也会导致 SQLBindCol 报错 Invalid descriptor index。比如当结果集比较大时,ODBC 客户端应用不能及时从 ODBC 读取结果集,导致 gclusterd 向
ODBC 发送数据时写超时。这种情况在 gclusterd 的参数"gcluster_send_client_data_timeout"默认值 30 时比较常见。这时需要修改该参数值为一个较 大值或者直接修改为 0。
特殊场景下屏蔽 ODBC 负载均衡方式
GBase 8a Cluster ODBC_8.4_build2.0 支持屏蔽 ODBC 负载均衡,使用环境变量 GSODBC_USE_BALANCE 来控制 gsodbc 驱动是否使用 balance 后台检测。
关于GBase数据库核心产品
GBase 8a
GBase 8a是南大通用公司自主研发的,面向海量数据查询分析应用领域的一款高性能国产新型数据库产品,用于满足各个数据密集型行业日益增大的数据查询、数据统计、数据分析、数据挖掘和数据备份等数据存储、管理和处理需求,可用做数据仓库系统、BI系统和决策支持系统的承载数据库。
产品主要应用在金融、电信、能源等拥有海量业务数据的行业得到规模化应用,在商业分析和商业智能市场领域表现突出。
GBase 8s
GBase 8s是南大通用自主研发的、成熟稳定的企业级事务型数据库,拥有自主知识产权。产品达到安全数据库四级标准(国际B2),支持国密算法,支持SQL92/99、ODBC、JDBC、ADO.NET、GCI(OCI/OCCI)、Python接口等国际数据库规范和开发接口。支持分布式部署、集中式部署、共享存储高可用部署、支持两地三中心高可用部署,具备高容量、高并发、高性能等特性,为超大规模数据管理提供高性价比的通用计算平台。
GBase 8s适用于OLTP 应用场景,包括金融、电信行业的关键核心业务系统,安全、党政、国防等行业对信息安全性有较高要求的信息系统,能够提供7*24小时不间断运行处理能力。
GBase 8c
GBase 8c具备分布式事务强一致性、计算能力和存储能力线性扩展的核心能力;同时支持多地多中心和异地多活,能提供99.999%的高可用性;数据库配套可视化的智能运维平台,极大降低客户运维的复杂度。




