Chinaunix首页 | 论坛 | 博客
  • 博客访问: 57762
  • 博文数量: 16
  • 博客积分: 70
  • 博客等级: 民兵
  • 技术积分: 66
  • 用 户 组: 普通用户
  • 注册时间: 2012-08-07 09:54
文章分类
文章存档

2015年(11)

2014年(1)

2013年(2)

2012年(2)

我的朋友

分类: LINUX

2015-04-15 10:21:29

                         unixODBC API 整理

1. SQLAllocHandle

SQLRETURN
SQLAllocHandle(SQLSMALLINT HandleType,
               SQLHANDLE InputHandle,
               SQLHANDLE *OutputHandlePtr);


(1)功能
    分配需要的句柄

(2)参数说明
    @ HandleType:  定义通过该接口要分配的句柄类型,取值可能有四个,分别为  SQL_HANDLE_ENV,
                      SQL_HANDLE_DBC,SQL_HANDLE_STMT,SQL_HANDLE_DESC
    @ InputHandle:
它定义分配新句柄时使用的上下文句柄, 它与 HandleType参数取值对应关系如下:
                   如果 HandleType 值为 SQL_HANDLE_ENV,则参数取 SQL_NULL_HANDLE;
                     
如果 HandleType 值为 SQL_HANDLE_DBC,则参数取 SQL_HANDLE_ENV 类型的句柄;
                     
如果 HandleType 值为 SQL_HANDLE_STMT,则参数取 SQL_HANDLE_DBC 类型的句柄;
                     
如果 HandleType 值为 SQL_HANDLE_DESC,则参数取 SQL_HANDLE_DBC 类型的句柄
    @
OutputHandlePtr: 存储分配的句柄

(3)返回值说明
   
可能的返回值: SQL_SUCCESS, SQL_SUCCESS_WITH_INFO, SQL_INVALID_HANDLE, SQL_ERROR

2.

SQLRETURN
SQLBindCol(SQLHSTMT StatementHandle,
           SQLUSMALLINT ColumnNumber,
           SQLSMALLINT TargetType,
           SQLPOINTER TargetValuePtr,
           SQLINTEGER BufferLength,
           SQLINTEGER *StrLen_or_IndPtr);


(1)功能
    绑定一个变量和结果及中的列

(2)参数说明
    @ StatementHandle: 它必须是通过 SQLAllocHandle 接口分配句柄,它将用于存储SQL操作的
                        结果
    @ ColumnNumber:    在结果集中的列序号,从 1 开始
    @ TargetType:      列数据类型标识
    @ TargetValuePtr:  指向存储列数据变量的指针
    @ BufferLength:    TargetValuePtr指针指向的内存的大小,以字节计算
    @ StrLen_or_IndPtr:在获取数据时,它可能取值有
  •   返回的数据的长度
  •   SQL_NO_TOTAL
  •   SQL_NULL_DATA
(3)返回值
 可能的返回值:SQL_SUCCESS, SQL_SUCCESS_WITH_INFO, SQL_ERRORSQL_INVALID_HANDLE

3. SQLConnect

SQLRETURN

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


(1)功能
    连接数据源

(2)参数说明
    @ ConnectionHandle: 连接句柄,必须是通过SQLAllocHandle分配的,它保存有连接信息
    @ ServerName:       数据库服务器名
    @ NameLength1:      ServerName 参数值的长度, 或者取 SQL_NTS,表明参数是字符串,长度
                         由系统运行时决定
    @ UserName:         登录服务器使用的用户名
    @ NameLength2:      UserName参数值的长度,或者取 SQL_NTS
    @ Authentication:   用户密码
    @ NameLength3:      Authentication 参数值的长度

(3)返回值
    可能的返回值: SQL_SUCCESS, SQL_SUCCESS_WITH_INFO, SQL_ERRORSQL_INVALID_HANDLE

4.

SQLRETURN
SQLDataSources(SQLHENV EnvironmentHandle,
               SQLUSMALLINT Direction,
               SQLCHAR *ServerName,
               SQLSMALLINT BufferLength1,
               SQLSMALLINT *NameLength1Ptr,
               SQLCHAR *Description,
               SQLSMALLINT BufferLength2,
               SQLSMALLINT *NameLength2Ptr);


(1)功能
    取得可用的数据源

(2)参数说明
   @ EnvironmentHandle: 环境句柄,必须是通过 SQLAllocHandle 已分配的
   @ Direction:         指明获取哪一个DSN,可以取如下值之一:
  • SQL_FETCH_FIRST          能找到的第一个数据源,无论是用户类型还是系统类型
  • SQL_FETCH_FIRST_USER     第一个用户数据源
  • SQL_FETCH_FIRST_SYSTEM   第一个系统数据源
  • SQL_FETCH_NEXT           它的意义取决于之前使用的是前三个值中的哪一个,语义一致
   @ ServerName:       返回的数据源名称
   @ BufferLength1:    存数数据源名称内存的大小
   @ NameLength1Ptr:   实际返回的数据源名称的长度
   @ Description:      数据源描述信息
   @ BufferLength2:    存储描述信息的内存大小
   @ NameLength2Ptr:   实际返回的描述信息长度

(3)返回值
  可能的返回值: SQL_SUCCESS, SQL_SUCCESS_WITH_INFO, SQL_ERRORSQL_INVALID_HANDLE
               SQL_NO_DATA

5.

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


(1)功能
    执行 SQL 语句

(2)参数说明
   @ StatementHandle: 语句执行句柄, 必须是 SQLAllocHandle 分配过的
   @ StatementText:   要执行的 SQL 语句
   @ TextLength:      SQL 语句长度, 或者 SQL_NTS

(3)返回值
  可能的返回值: SQL_SUCCESS, SQL_SUCCESS_WITH_INFO, SQL_ERRORSQL_INVALID_HANDLE

阅读(439) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~