暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

分享揭秘 GBase ODBC如何解决SQL 问题?

GBASE数据库 2022-06-14
695

天津南大通用数据技术股份有限公司(以下简称“南大通用”)成立于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%的高可用性;数据库配套可视化的智能运维平台,极大降低客户运维的复杂度。

 GBase 8c具备弹性伸缩、稳定可靠、分布式事务、应用透明、完善的国产生态、SQL兼容、部署灵活优势,可以有效降低用户IT成本,同时可在线扩容缩容,灵活应对极端业务场景的性能需求,是一款支持多地多中心、多地多活的金融机构高可用分布式交易型数据库。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论