VastbaseG100

基于openGauss内核开发的企业级关系型数据库。

Menu

SQLDataSources

功能描述

返回可用数据源列表。该函数仅由驱动程序管理器实现。

接口原型

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

参数说明

参数名 参数说明
EnvironmentHandle 环境句柄
Direction 确定驱动程序管理器返回有关的数据源信息,可以是:
  • SQL_FETCH_NEXT(获取列表中的下一个数据源名)
  • SQL_FETCH_FIRST(从列表的开始处获取)
  • SQL_FETCH_FIRST_USER(获取第一个用户DSN)
  • SQL_FETCH_FIRST_SYSTEM(获取第一个系统DSN)
当Direction被设置为SQL_FETCH_FIRST时,后续调用将Direction设置为SQL_FETCH_NEXT的sqldatasource将返回用户和系统dsn。当Direction设置为SQL_FETCH_FIRST_USER时,所有后续调用Direction设置为SQL_FETCH_NEXT的sqldatasource都只返回用户dsn。当Direction设置为SQL_FETCH_FIRST_SYSTEM时,所有后续调用Direction设置为SQL_FETCH_NEXT的sqldatasource都只返回系统dsn。
ServerName 指向缓冲区的指针,在该缓冲区中返回数据源名称。
如果ServerName为NULL, NameLength1Ptr仍将返回ServerName指向的缓冲区中可用的字符总数(不包括字符数据的NULL终止字符)。
BufferLength1 *ServerName缓冲区的长度,以字符为单位;它不需要比SQL_MAX_DSN_LENGTH加上null终止字符更长。
NameLength1Ptr 指向缓冲区的指针,在该缓冲区中返回*ServerName中可返回的字符总数(不包括空终止字符)。如果可返回的字符数量大于或等于BufferLength1,则*ServerName中的数据源名称将被截断为BufferLength1减去null终止字符的长度。
Description 指向一个缓冲区的指针,在该缓冲区中返回与数据源相关的驱动描述。例如:dBASE、SQL Server。 如果Description为NULL, NameLength2Ptr仍将返回Description指向的缓冲区中可用的字符总数(不包括字符数据的NULL终止字符)。
BufferLength2 *Description缓冲区的字符长度
NameLength2Ptr 指向缓冲区的指针,其中返回*Description中可返回的字符总数(不包括空终止字符)。如果可返回的字符数大于或等于BufferLength2,则* description中的驱动描述将被截断为BufferLength2减去null终止字符的长度。

返回值

  • SQL_SUCCESS:表示调用正确。
  • SQL_SUCCESS_WITH_INFO:表示会有一些警告信息。
  • SQL_ERROR:表示比较严重的错误,如:内存分配失败、建立连接失败等。
  • SQL_INVALID_HANDLE:表示调用无效句柄。其他API的返回值同理。
  • SQL_NO_DATA:表示没有对应的数据。

其他

该接口仅由驱动管理器实现,因此直接采用驱动管理器实现的接口原型,而没有采取源码中的接口原型。(源码中只给出了定义,没有具体实现)。