检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
作为宿主语言,将EXEC SQL [Command]语句认为是宿主语言的嵌入式SQL,因此将C语言程序中用于嵌入式SQL语句的变量称为宿主变量。 概述 声明段 检索查询 类型映射 处理字符串 使用非初级类型的宿主变量 访问特殊数据类型 处理非初级SQL数据类型 父主题: 基于ecpg开发
found",请使用环境变量LD_LIBRARY_PATH进行隔离,以避免混用操作系统自带的openssl与GaussDB依赖的openssl。 例如,在执行某个调用psycopg2的应用软件client.py时,将环境变量显性赋予该应用软件: export LD_LIBRARY_PATH=/path/
SQLAllocEnv 在ODBC 3.x版本中,ODBC 2.x的函数SQLAllocEnv已被SQLAllocHandle代替。有关详细信息请参见SQLAllocHandle。 父主题: ODBC接口参考
SQLFreeStmt 在ODBC 3.x版本中,ODBC 2.x的函数SQLFreeStmt已被SQLFreeHandle代替。有关详细信息请参见SQLFreeHandle。 父主题: ODBC接口参考
SQLAllocStmt 在ODBC 3.x版本中,ODBC 2.x的函数SQLAllocStmt已被SQLAllocHandle代替。有关详细信息请参见SQLAllocHandle。 父主题: ODBC接口参考
SQLFreeEnv 在ODBC 3.x版本中,ODBC 2.x的函数SQLFreeEnv已被SQLFreeHandle代替。有关详细信息请参见SQLFreeHandle。 父主题: ODBC接口参考
如果一个语句返回单行,应用程序可以在PREPARE执行语句之后调用EXECUTE,同时使用USING子句为占位符提供实际值: EXEC SQL EXECUTE stmt1 INTO :dboid, :dbname USING 1; 如果一个语句返回多行,应用程序可以使用基于预备语句声明的游标。为
使用游标 使用游标可以检索出多行的结果集,应用程序必须声明一个游标并且从游标中抓取每一行数据。 声明一个游标: EXEC SQL DECLARE c CURSOR FOR select * from tb1; 打开游标: EXEC SQL OPEN c; 从游标中抓取一行数据: EXEC
器之间的通讯,为敏感数据在Internet上的传输提供了一种安全保障手段。 本节主要介绍应用程序通过JDBC如何采用SSL的方式对客户端进行配置(服务端配置请联系管理员)。 在使用本节所描述的方法前,默认用户已经获取了服务端和客户端所需要的证书和私钥文件,关于证书等文件的获取请参见Openssl相关文档和命令。
开发流程 图1 采用JDBC开发应用程序的流程 父主题: 基于JDBC开发
开发流程 图1 采用Psycopg2开发应用程序的流程 父主题: 基于Psycopg开发
port } # LoggingConnection默认记录所有SQL,可自行实现filter过滤不需要的或敏感的SQL,下面给出了简单的过滤password相关SQL的示例 class SelfLoggingConnection(LoggingConnection):
典型应用程序开发示例 获取和处理数据库中的数据 批量绑定 高性能绑定类型 开启连接池 父主题: 基于ODBC开发
SQL描述符区域 SQL描述符区域是一种处理SELECT、FETCH或者DESCRIBE语句结果的高级方法。SQL描述符区域把一行数据里的数据和元数据项组合到一个数据结构中。ecpg提供了两种使用描述符区域的方法:命名SQL描述符区域和SQLDA。 命名SQL描述符区域 SQLDA 父主题:
01,2,'{0,1,2,3,4,5,6,7,8,9}', 'USA'); exec sql commit; exec sql insert into test_t(f, i, a, mstr) values(3.01,3,'{0,1,2,3,4,5,6,7,8,9}'
port } # LoggingConnection默认记录所有SQL,可自行实现filter过滤不需要的或敏感的SQL,下面给出了简单的过滤password相关SQL的示例。 class SelfLoggingConnection(LoggingConnection):
*stream):若函数第一个参数为非0,则开启调试日志,第二个参数表示要打印日志的标准输出流。调试日志在标准输出流上执行,日志包含所有输入的SQL语句以及来自GaussDB Kernel服务器的结果。 示例: #include <stdio.h> #include <stdlib
*stream):若函数第一个参数为非0,则开启调试日志,第二个参数表示要打印日志的标准输出流。调试日志在标准输出流上执行,日志包含所有输入的SQL语句以及来自GaussDB Kernel服务器的结果。 示例: #include <stdio.h> #include <stdlib
当ecpg应用程序在GaussDB Kernel服务器和C语言程序之间交换值时(例如:从服务器检索查询结果或者执行带有输入参数的SQL语句),在GaussDB Kernel数据类型和宿主语言变量类型(具体的C语言数据类型)之间需要进行值的转换。有两种数据类型可以使用:简单的GaussDB
ecpg:用于对嵌入式SQL-C进行预处理的可执行二进制文件。 libecpg:为ecpg提供连接、执行SQL、事务等实现的动态库,包括libecpg.so、libecpg.so.6和libecpg.so.6.4,在C语言程序编译执行时通过“-lecpg”参数引用。 libpgtypes:ecpg提供的用于实现数