······Windows API 函数 中的SQLConfigDataSource??

xiaolilili 2003-08-18 10:58:20
最近在学习VFP
不知道谁能够介绍一下在 VFP 中使用 Windows API 函数 SQLConfigDataSource 的方法啊
谢谢
...全文
95 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
mgan 2003-08-18
  • 打赏
  • 举报
回复
SQLConfigDataSource 是用于在本地计算机上添加, 删除和修改 ODBC 数据源名 (DSN) 入口.

该函数有 4 个参数;

1. 一个窗口句柄 (hwnd)
2. 配置类型 (添加, 删除或修改) (用户或系统)
#define ODBC_ADD_DSN 1
#define ODBC_CONFIG_DSN 2
#define ODBC_REMOVE_DSN 3
#define ODBC_ADD_SYS_DSN 4
#define ODBC_CONFIG_SYS_DSN 5
#define ODBC_REMOVE_SYS_DSN 6
#define ODBC_REMOVE_DEFAULT_DSN 7

3. 数据库驱动程序名
4. 连接参数信息串.

所有串参数必须以 CHR(0) 结尾. 连接参数信息串 (第四个参数) 必须是一个参数和值的分隔列表. 分隔符是 CHR(0). 参见示例.

SQLConfigureDataSource API 函数返回一个整型值. 该返回值可能是以下值之一:

#define SQL_NO_DATA 100
#define SQL_SUCCESS_WITH_INFO 1
#define SQL_SUCCESS 0
#define SQL_ERROR -1

如果 SQLConfigDataSource 返回 1 或 -1, 你可以用 SQLInstallerError API 函数来获取错误信息.

获取传递到 SQLConfigDataSource 函数的第四个参数的参数和值的信息的最好办法是, 运行 ODBC 管理器并用你所需要的连接信息创建一个 FILE DSN. 该信息会保存到一个你可用文件文件编辑的文件中.

如果一个 DSN 已经存在且你调用 SQLConfigDataSource 来添加一个新的 DSN, 原有的 DSN 将被复盖.

宿主文件 odbccp32.dll

Visual FoxPro 中的定义
DECLARE Integer SQLConfigDataSource IN odbccp32.dll Integer, Short, String @, String @

Visual FoxPro 示例
lc_driver = "SQL Server" + CHR(0)
lc_dsn = "dsn=testdsn" + CHR(0) + ;
"server=127.0.0.1" + CHR(0) + ;
"database=bigdb" + CHR(0) + ;
"network=DBMSSOCN" + CHR(0) && DBMSSOCN = TCP/IP connection

fResult = SQLConfigDataSource(0, ODBC_ADD_DSN, @lc_driver, @lc_dsn)

IF fResult = -1 OR fResult = 1
* 调用 SQLInstallerError API 函数来获取错误信息.
ENDIF
更多内容在http://www.foxer.net/list.asp?id=224 自己看去。

2,722

社区成员

发帖
与我相关
我的任务
社区描述
VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便。
社区管理员
  • VFP社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧