SQLReadFileDSN 函数
一致性
引入的版本:ODBC 3.0
摘要
SQLReadFileDSN 从文件 DSN 读取信息。
语法
BOOL SQLReadFileDSN(
LPCSTR lpszFileName,
LPCSTR lpszAppName,
LPCSTR lpszKeyName,
LPSTR lpszString,
WORD cbString,
WORD * pcbString);
参数
lpszFileName
[输入]指向包含 .dsn 文件名称的数据缓冲区的指针。 .dsn 扩展名将追加到所有没有 .dsn 扩展名的文件名。 *lpszFileName 中的值必须是以 null 结尾的字符串。
lpszAppName
[输入]指向包含应用程序名称的数据缓冲区的指针。 这是 ODBC 节的“ODBC”。 *lpszAppName 中的值必须是以 null 结尾的字符串。
lpszKeyName
[输入]指向包含要读取的键名称的数据缓冲区的指针。 有关保留关键字,请参阅“注释”。 *lpszAppName 中的值必须是以 null 结尾的字符串。
lpszString
[输出]指向包含与要读取的键关联的字符串的数据缓冲区的指针。
如果 *lpszFileName 是有效的 .dsn 文件名,但 lpszAppName 参数为空指针, 而 lpszKeyName 参数为空指针,则 *lpszString 包含有效应用程序的列表。 如果 *lpszFileName 是有效的 .dsn 文件名, *lpszAppName 是有效的应用程序名称,但 lpszKeyName 参数为空指针,则 *lpszString 在 DSN 文件的适当节中包含有效保留关键字的列表,用分号分隔。 如果 *lpszFileName 是有效的 .dsn 文件名,但 *lpszAppName 为空指针, 而 lpszKeyName 参数为空指针,则 *lpszString 包含 DSN 文件中各节的列表,由分号分隔。
cbString
[输入] *lpszString 缓冲区的 长度。
2013 年 12 月
[输出] *lpszString 中可返回的总字节数。 如果可返回的字节数大于或等于 cbString,则 *lpszString 中的输出字符串将被截断为 cbString 减去 null 终止字符。 该参数可以为 null 指针。
返回
如果成功,函数将返回 TRUE;如果失败,则返回 FALSE。
诊断
当 SQLReadFileDSN 返回 FALSE 时,可以通过调用 SQLInstallerError 获取关联的 *pfErrorCode 值。 下表列出了 SQLInstallerError 可返回的 *pfErrorCode 值,并说明了此函数上下文中的每个值。
*pfErrorCode | 错误 | 说明 |
---|---|---|
ODBC_ERROR_GENERAL_ERR | 常规安装程序错误 | 发生错误,其中没有特定的安装程序错误。 |
ODBC_ERROR_INVALID_BUFF_LEN | 缓冲区长度无效 | lpszString 参数为 NULL。 cbString 参数小于或等于 0。 |
ODBC_ERROR_INVALID_PATH | 安装路径无效 | lpszFileName 参数中指定的文件名路径无效。 |
ODBC_ERROR_INVALID_REQUEST_TYPE | 请求类型无效 | lpszAppName 参数为 NULL,而 lpszKeyName 参数有效。 |
ODBC_ERROR_OUT_OF_MEM | 内存不足 | 由于内存不足,安装程序无法执行该函数。 |
ODBC_ERROR_OUTPUT_STRING_TRUNCATED | 输出字符串被截断 | * lpszString 中返回的字符串被截断,因为 cbString 中的值小于或等于 *lpszString 中的值。 |
ODBC_ERROR_REQUEST_FAILED | 申请失败。 | 文件 DSN 中不存在 关键字。 |
注释
ODBC 保留用于存储连接信息的节名称 [ODBC]。 此部分的保留关键字与 SQLDriverConnect 中为连接字符串保留的关键字相同。 (有关详细信息,请参阅 SQLDriverConnect 函数 description.)
应用程序可以使用这些保留关键字来读取文件 DSN 中的信息。 如果应用程序想要找出与文件 DSN 关联的无 DSN 连接字符串,它可以为 [ODBC] 节中的任何保留连接字符串关键字调用 SQLReadFileDSN 。 在无 DSN 连接中传递的完整连接字符串是 [ODBC] 节中所有关键字 (保留和特定于驱动程序的) 的组合。
相关函数
有关以下方面的信息 | 请参阅 |
---|---|
将信息写入文件 DSN | SQLWriteFileDSN |