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

华为GaussDB T ODBC接口参考

墨天轮 2019-10-12
730

ODBC接口参考

SQLAllocHandle

描述:用于分配ODBC的句柄。

接口

SQLRETURN SQL_API SQLAllocHandle(SQLSMALLINT HandleType, SQLHANDLE InputHandle, SQLHANDLE *OutputHandle)

输入参数

  • HandleType,待分配的句柄类型(SQL_HANDLE_ENV,SQL_HANDLE_DBC,SQL_HANDLE_STMT)。
  • InputHandle,依赖句柄。

输出参数

OutputHandle,分配的句柄。

返回值
  • SQL_SUCCESS:成功。
  • !=SQL_SUCCESS:失败。

是否线程安全:否

SQLAllocEnv

描述:用于分配ODBC的环境句柄。

接口

SQLRETURN SQL_API SQLAllocEnv(SQLHENV *EnvironmentHandle)

输出参数

EnvironmentHandle,分配到的句柄。

返回值
  • SQL_SUCCESS:成功。
  • !=SQL_SUCCESS:失败。

是否线程安全:否

SQLAllocConnect

描述:用于分配ODBC的链接句柄。

接口

SQLRETURN SQL_API SQLAllocConnect(SQLHENV EnvironmentHandle, SQLHDBC *ConnectionHandle)

输入参数

EnvironmentHandle,环境句柄。

输出参数

ConnectionHandle,分配到的链接句柄。

返回值
  • SQL_SUCCESS:成功。
  • !=SQL_SUCCESS:失败。

是否线程安全:否

SQLAllocStmt

描述:用于分配ODBC的执行句柄。

接口

SQLRETURN SQL_API SQLAllocStmt(SQLHDBC ConnectionHandle, SQLHSTMT *StatementHandle)

输入参数

ConnectionHandle,链接句柄。

输出参数

StatementHandle,分配到的执行句柄。

返回值
  • SQL_SUCCESS:成功。
  • !=SQL_SUCCESS:失败。

是否线程安全:否

SQLFreeHandle

描述:用于释放ODBC的句柄。

接口

SQLRETURN SQL_API SQLFreeHandle(SQLSMALLINT HandleType, SQLHANDLE Handle)

输入参数

  • HandleType,待释放的句柄类型(SQL_HANDLE_ENV,SQL_HANDLE_DBC,SQL_HANDLE_STMT)。
  • Handle,句柄。
返回值
  • SQL_SUCCESS:成功。
  • !=SQL_SUCCESS:失败。

是否线程安全:否

SQLFreeEnv

描述:用于释放ODBC的环境句柄。

接口

SQLRETURN SQL_API SQLFreeEnv(SQLHENV EnvironmentHandle)

输入参数

EnvironmentHandle,待释放的环境句柄。

返回值
  • SQL_SUCCESS:成功。
  • !=SQL_SUCCESS:失败。

是否线程安全:否

SQLFreeConnect

描述:用于释放ODBC的链接句柄。

接口

SQLRETURN SQL_API SQLFreeConnect(SQLHDBC ConnectionHandle)

输入参数

ConnectionHandle,待释放的链接句柄。

返回值
  • SQL_SUCCESS:成功。
  • !=SQL_SUCCESS:失败。

是否线程安全:否

SQLFreeStmt

描述:用于释放ODBC的执行句柄。

接口

SQLRETURN SQL_API SQLFreeStmt(SQLHSTMT StatementHandle, SQLUSMALLINT Option)

输入参数

  • StatementHandle,待释放的执行句柄。
  • Option,释放的类型(SQL_DROP)。
返回值
  • SQL_SUCCESS:成功。
  • !=SQL_SUCCESS:失败。

是否线程安全:否

SQLSetEnvAttr

描述:用于设置ODBC的环境句柄属性。

接口

SQLRETURN SQL_API SQLSetEnvAttr(SQLHENV EnvironmentHandle, SQLINTEGER Attribute, SQLPOINTER Value, SQLINTEGER StringLength)

输入参数

  • EnvironmentHandle,待设置环境句柄。
  • Attribute,待设置的属性名称(SQL_ATTR_ODBC_VERSION,SQL_ATTR_OUTPUT_NTS)。
  • Value,待设置的属性值。
  • StringLength,属性值的长度。
返回值
  • SQL_SUCCESS:成功。
  • !=SQL_SUCCESS:失败。

是否线程安全:否

SQLSetConnectAttr

描述:用于设置ODBC的链接句柄属性。

接口

SQLRETURN SQL_API SQLSetConnectAttr(SQLHDBC ConnectionHandle, SQLINTEGER Attribute, SQLPOINTER Value, SQLINTEGER StringLength)

输入参数

  • ConnectionHandle,待设置链接句柄。
  • Attribute,待设置的属性名称(SQL_ATTR_AUTOCOMMIT,SQL_ATTR_LOGIN_TIMEOUT,SQL_ATTR_CONNECTION_TIMEOUT)。
  • Value,待设置的属性值。
  • StringLength,属性值的长度。
返回值
  • SQL_SUCCESS:成功。
  • !=SQL_SUCCESS:失败。

是否线程安全:否

SQLSetStmtAttr

描述:用于设置ODBC的执行句柄属性。

接口

SQLRETURN SQL_API SQLSetStmtAttr(SQLHSTMT StatementHandle, SQLINTEGER Attribute, SQLPOINTER Value, SQLINTEGER StringLength)

输入参数

  • StatementHandle,待设置执行句柄。
  • Attribute,待设置的属性名称(SQL_ATTR_PARAMSET_SIZE)。
  • Value,待设置的属性值。
  • StringLength,属性值的长度。
返回值
  • SQL_SUCCESS:成功。
  • !=SQL_SUCCESS:失败。

是否线程安全:否

SQLConnect

描述:使用链接句柄链接数据源。

接口

SQLRETURN SQL_API SQLConnect(SQLHDBC ConnectionHandle, SQLCHAR *ServerName, SQLSMALLINT NameLength1, SQLCHAR *UserName, SQLSMALLINT NameLength2, SQLCHAR *Authentication, SQLSMALLINT NameLength3)

输入参数

  • ConnectionHandle,链接句柄。
  • ServerName,ODBC配置的数据源名称。
  • NameLength1,数据源名称长度。
  • UserName,链接数据源使用的用户名。
  • NameLength2,用户名长度。
  • Authentication,链接数据源使用的密码。
  • NameLength3,密码长度。
返回值
  • SQL_SUCCESS:成功。
  • !=SQL_SUCCESS:失败。

是否线程安全:否

SQLDisconnect

描述:断开和数据源的链接。

接口

SQLRETURN SQL_API SQLDisconnect(SQLHDBC ConnectionHandle)

输入参数

ConnectionHandle,链接句柄。

返回值
  • SQL_SUCCESS:成功。
  • !=SQL_SUCCESS:失败。

是否线程安全:否

SQLDriverConnect

描述:使用链接句柄链接数据源。

接口

SQLRETURN SQL_API SQLDriverConnect( SQLHDBC hdbc, SQLHWND hwnd, SQLCHAR *szConnStrIn, SQLSMALLINT cbConnStrIn, SQLCHAR *szConnStrOut, SQLSMALLINT cbConnStrOutMax, SQLSMALLINT *pcbConnStrOut, SQLUSMALLINT fDriverCompletion)

输入参数

  • hdbc,链接句柄。
  • hwnd,链接交互界面句柄(暂时不用)。
  • szConnStrIn,数据源链接串。
  • cbConnStrIn,数据源链接串长度。
  • cbConnStrOutMax,输出链接串缓冲区长度。
  • fDriverCompletion,链接选项(SQL_DRIVER_PROMPT,SQL_DRIVER_NOPROMPT,SQL_DRIVER_COMPLETE,SQL_DRIVER_COMPLETE_REQUIRED)。

输出参数:

  • szConnStrOut,输出链接串。
  • pcbConnStrOut,输出链接串实际使用长度。
返回值
  • SQL_SUCCESS:成功。
  • !=SQL_SUCCESS:失败。

是否线程安全:否

SQLPrepare

描述:准备要执行的SQL语句。

接口

SQLRETURN SQL_API SQLPrepare(SQLHSTMT StatementHandle, SQLCHAR *StatementText, SQLINTEGER TextLength)

输入参数

  • StatementHandle,执行句柄。
  • StatementText,SQL语句
  • TextLength,SQL语句长度
返回值
  • SQL_SUCCESS:成功。
  • !=SQL_SUCCESS:失败。

是否线程安全:否

SQLBindParameter

描述:往准备好SQL的执行句柄绑定参数。

接口

SQLRETURN SQL_API SQLBindParameter( SQLHSTMT StatementHandle, SQLUSMALLINT ParameterNumber, SQLSMALLINT InputOutputType, SQLSMALLINT ValueType, SQLSMALLINT ParameterType, SQLULEN ColumnSize, SQLSMALLINT DecimalDigits, SQLPOINTER ParameterValuePtr, SQLLEN BufferLength, SQLLEN * StrLen_or_IndPtr)

输入参数

  • StatementHandle,执行句柄。
  • ParameterNumber,绑定的参数序号,从1开始。
  • InputOutputType,指示参数的输入输出类型。
  • ValueType,缓冲区的C类型。
  • ParameterType,待绑定字段的SQL类型。
  • ColumnSize,绑定缓冲区的列宽。
  • DecimalDigits,绑定缓冲区的格式化精度。
  • ParameterValuePtr,缓冲区指针。
  • BufferLength,缓冲区的长度。
  • StrLen_or_IndPtr,待绑定的长度的地址指针。
返回值
  • SQL_SUCCESS:成功。
  • !=SQL_SUCCESS:失败。

是否线程安全:否

SQLBindCol

描述:绑定结果集列存放缓冲区。

接口

SQLRETURN SQL_API SQLBindCol(SQLHSTMT StatementHandle, SQLUSMALLINT ColumnNumber, SQLSMALLINT TargetType, SQLPOINTER TargetValue, SQLLEN BufferLength, SQLLEN *StrLen_or_Ind)

输入参数

  • StatementHandle,执行句柄。
  • ColumnNumber,绑定的获取列序号,从1开始。
  • TargetType,结果存放缓冲区的C类型。
  • TargetValue,结果存放缓冲区。
  • BufferLength,结果存放缓冲区大小。
  • StrLen_or_Ind,获取的结果实际长度。
返回值
  • SQL_SUCCESS:成功。
  • !=SQL_SUCCESS:失败。

是否线程安全:否

SQLExecute

描述:执行SQL语句。

接口

SQLRETURN SQL_API SQLExecute( SQLHSTMT StatementHandle)

输入参数:StatementHandle,执行句柄。

返回值
  • SQL_SUCCESS:成功。
  • SQL_NEED_DATA:存在参数没有绑定。
  • !=SQL_SUCCESS:失败。

是否线程安全:否

SQLExecDirect

描述:直接执行SQL语句。

接口

SQLRETURN SQL_API SQLExecDirect( SQLHSTMT StatementHandle, SQLCHAR * StatementText, SQLINTEGER TextLength)

输入参数

  • StatementHandle,执行句柄。
  • StatementText,SQL语句。
  • TextLength,SQL语句长度。
返回值
  • SQL_SUCCESS:成功。
  • SQL_NEED_DATA:存在参数没有绑定。
  • !=SQL_SUCCESS:失败。

是否线程安全:否

SQLColAttribute

描述:描述列属性。

接口

SQLRETURN SQL_API SQLColAttribute( SQLHSTMT StatementHandle, SQLUSMALLINT ColumnNumber, SQLUSMALLINT FieldIdentifier, SQLPOINTER CharacterAttributePtr, SQLSMALLINT BufferLength, SQLSMALLINT * StringLengthPtr, SQLLEN * NumericAttributePtr)

输入参数

  • StatementHandle,执行句柄。
  • ColumnNumber,列序号,从1开始。
  • FieldIdentifier,描述类型(SQL_DESC_NAME,SQL_DESC_LENGTH,SQL_DESC_NULLABLE,SQL_DESC_TYPE,SQL_DESC_TYPE_NAME)。
  • BufferLength,字符缓冲区长度。

输出参数:

  • CharacterAttributePtr,字符缓冲区。
  • StringLengthPtr,实际获取的字符长度。
  • NumericAttributePtr,数字缓冲区。
返回值
  • SQL_SUCCESS:成功。
  • !=SQL_SUCCESS:失败。

是否线程安全:否

SQLGetDiagRec

描述:故障诊断。

接口

SQLRETURN SQL_API SQLGetDiagRec( SQLSMALLINT HandleType, SQLHANDLE Handle, SQLSMALLINT RecNumber, SQLCHAR * SQLState, SQLINTEGER * NativeErrorPtr, SQLCHAR * MessageText, SQLSMALLINT BufferLength, SQLSMALLINT * TextLengthPtr)

输入参数

  • HandleType,句柄类型。
  • Handle,句柄。
  • RecNumber,诊断错误的序号(当前只缓存一条)。
  • BufferLength,错误信息缓冲区长度。

输出参数:

  • SQLState,SQL状态(当前不支持)。
  • NativeErrorPtr,数据源侧错误码。
  • MessageText,错误信息缓冲区。
  • TextLengthPtr,实际错误信息长度。
返回值
  • SQL_SUCCESS:成功。
  • SQL_NO_DATA:没有更多的诊断信息。
  • !=SQL_SUCCESS:失败。

是否线程安全:否

SQLFetch

描述:获取下一行结果。

接口

SQLRETURN SQL_API SQLFetch( SQLHSTMT StatementHandle)

输入参数:StatementHandle,执行句柄。

返回值
  • SQL_SUCCESS:成功。
  • SQL_NO_DATA:已经获取结束。
  • !=SQL_SUCCESS:失败。

是否线程安全:否

SQLGetData

描述:获取结果行中某列的数据。

接口

SQLRETURN SQL_API SQLGetData( SQLHSTMT StatementHandle, SQLUSMALLINT Col_or_Param_Num, SQLSMALLINT TargetType, SQLPOINTER TargetValuePtr, SQLLEN BufferLength, SQLLEN * StrLen_or_IndPtr)

输入参数

  • StatementHandle,执行句柄。
  • Col_or_Param_Num,列序号,从1开始。
  • TargetType,目标缓冲区的C类型。
  • TargetValuePtr,目标缓冲区。
  • BufferLength,缓冲区长度。
  • StrLen_or_IndPtr,实际获取的长度。
返回值
  • SQL_SUCCESS:成功。
  • SQL_SUCCESS_WITH_INFO:列被截断,还需再次获取剩余数据。
  • SQL_NULL_DATA:列为空。
  • !=SQL_SUCCESS:失败。

是否线程安全:否

SQLCloseCursor

描述:关闭游标。

接口

SQLRETURN SQL_API SQLCloseCursor( SQLHSTMT StatementHandle)

输入参数

StatementHandle,执行句柄。

返回值
  • SQL_SUCCESS:成功。
  • !=SQL_SUCCESS:失败。

是否线程安全:否

SQLRowCount

描述:获取行数,对于查询是获取到的行数,修改的SQL是实际修改的行数。

接口

SQLRETURN SQL_API SQLRowCount( SQLHSTMT StatementHandle, SQLLEN * RowCountPtr)

输入参数

StatementHandle,执行句柄。

输出参数:

RowCountPtr,修改行数。

返回值
  • SQL_SUCCESS:成功。
  • !=SQL_SUCCESS:失败。

是否线程安全:否

SQLEndTran

描述:结束事务。

接口

SQLRETURN SQL_API SQLEndTran(SQLSMALLINT HandleType, SQLHANDLE Handle, SQLSMALLINT CompletionType)

输入参数

  • HandleType,句柄类型。
  • Handle,句柄。
  • CompletionType,结束事务的方式(SQL_COMMIT,SQL_ROLLBACK)。
返回值
  • SQL_SUCCESS:成功。
  • !=SQL_SUCCESS:失败。

是否线程安全:否

SQLError

描述:获取行数,对于查询是获取到的行数,修改的SQL是实际修改的行数。

接口
SQLRETURN SQL_API SQLError(SQLHENV EnvironmentHandle, SQLHDBC ConnectionHandle, SQLHSTMT StatementHandle, SQLCHAR *Sqlstate, SQLINTEGER *NativeError, SQLCHAR *MessageText, SQLSMALLINT BufferLength, SQLSMALLINT *TextLength)

输入参数

  • EnvironmentHandle,环境句柄。
  • ConnectionHandle,链接句柄。
  • StatementHandle,执行句柄。
  • BufferLength,错误信息缓冲区长度。

输出参数:

  • Sqlstate,输出为空。
  • NativeError,数据源本地错误码。
  • MessageText,错误信息缓冲区。
  • TextLength,错误信息实际长度。
返回值
  • SQL_SUCCESS:成功。
  • !=SQL_SUCCESS:失败。

是否线程安全:否

SQLFetchScroll

描述:自定义获取结果行。

接口
SQLRETURN SQL_API SQLFetchScroll( SQLHSTMT StatementHandle, SQLSMALLINT FetchOrientation, SQLLEN FetchOffset)

输入参数

  • StatementHandle,执行句柄。
  • FetchOrientation,行获取方式(SQL_FETCH_NEXT)。
  • FetchOffset,获取偏移(暂不启用)。
返回值
  • SQL_SUCCESS:成功。
  • SQL_NO_DATA:没有更多行数据。
  • !=SQL_SUCCESS:失败。

是否线程安全:否

SQLParamData

描述:判断参数状态。

接口
SQLRETURN SQL_API SQLParamData( SQLHSTMT StatementHandle, SQLPOINTER * ValuePtrPtr)

输入参数

StatementHandle,执行句柄。

输出参数:

ValuePtrPtr,准备后的SQL,返回没有绑定完全的参数指针;执行后的SQL,返回可获取结果的列token(当前是列号)。

返回值
  • SQL_SUCCESS:成功。
  • SQL_NEED_DATA:有参数需要绑定更多数据。
  • SQL_PARAM_DATA_AVAILABLE:有列没有获取完全。
  • !=SQL_SUCCESS:失败。

是否线程安全:否

SQLPutData

描述:传入执行句柄更多绑定数据,当返回SQLParamData返回数据可读的时候,无需再次SQLExecute。

接口
SQLRETURN SQL_API SQLPutData( SQLHSTMT StatementHandle, SQLPOINTER DataPtr, SQLLEN StrLen_or_Ind)

输入参数

  • StatementHandle,执行句柄。
  • DataPtr,待传入参数的首次绑定地址。
  • StrLen_or_Ind,待传入参数的长度。
返回值
  • SQL_SUCCESS:成功。
  • !=SQL_SUCCESS:失败。

是否线程安全:否

SQLNumResultCols

描述:返回结果集中列的个数。

接口
SQLRETURN SQLNumResultCols( SQLHSTMT StatementHandle, SQLSMALLINT * ColumnCountPtr)

输入参数

  • StatementHandle,执行句柄。

输出参数

  • ColumnCountPtr,返回结果集中列的个数的绑定地址。
返回值
  • SQL_SUCCESS:成功。
  • !=SQL_SUCCESS:失败。

是否线程安全:否

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

评论