天津南大通用数据技术股份有限公司(以下简称“南大通用”)成立于2004年,自成立以来,始终坚持自主创新,产品的核心技术及底层代码自主可控,是国内少有的专注于数据库产品研发,并且在金融、电信行业得到规模化应用的独立数据库服务商。
经过十余年发展,南大通用构建了覆盖数据管理全生命周期、全技术栈的数据产品体系及服务解决方案。GBase系列数据库产品及服务范围覆盖全国32个省级行政区域。为金融、电信、政务、能源、交通、国防军工等百余个行业上万家用户提供产品和服务,建立节点超过30000个,管理数据总量超过300PB。并远销美国、巴西、墨西哥等34余个国家及地区。
未来,GBASE还将继续努力~
接下来什么揭晓GBase ODBC 如何解决SQL 问题???
如果应用像如下示例调用 ODBC 接口,那么 GBase ODBC 会在执行SQLNumResultCols 时先在 Server 端执行一次 selectSql,然后在执行SQLExecute 在 Server 端再执行一次 selectSql。
SQLPrepare(hstmt, selectSql, SQL_NTS);
SQLNumResultCols(hstmt, &tnum);
...
SQLExecute(hstmt);
第一次执行 selectSql 是为了获取结果集的 MetaData, 第二次执行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 后台检测。 默认使用 ODBC 负载均衡,如需屏蔽 ODBC 负载均衡功能,方法如下:
应用程序中在创建连接前执行:
system(“export GSODBC_USE_BALANCE”);
之后该程序创建的连接均屏蔽 ODBC 负载均衡功能,屏蔽后会使用 CAPI 的balance 实现,也就是说会随机选取一个节点执行 SQL。
注:
建议使用中兴的库时屏蔽 ODBC 负载均衡。
关于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%的高可用性;数据库配套可视化的智能运维平台,极大降低客户运维的复杂度。




