关于ODBC API编程中如何判断DSN是否已存在

      在ODBC编程中,要连接数据库必须先配置好数据源,Windows自带了一个数据源配置工具,可以在控制面板的管理工具中找到,也可以在运行中直接输入odbcad32.exe来打开。但对于程序开发者来说,我们怎么能让用户做这些繁琐的事呢!当然,微软也想到了这点,所以就有了SQLConfigDataSource这个API,它能自动配置数据源,具体参见MSDN。

       那么问题来了,一个程序,一般不会只在用户电脑上运行一次,所以不可能每次程序运行都来配置数据源吧,怎样检测用户电脑上是否已经存在我们需要的数据源了呢?

       其实,Windows中已经存在的数据源都保存在注册表中:

       HKEY_LOCAL_MACHINE/software/odbc/odbc.ini       下保存了所有系统DSN
       HKEY_CURRENT_USER/software/odbc/odbc.ini        下保存了所有用户DSN
       因此,我们可以使用注册表操作API以 HKEY_LOCAL_MACHINE/software/odbc/odbc.ini/DSN名称 为参数打开,判断一下返回值不就行了吗?
代码如下:
HKEY   key;
if(RegOpenKeyEx(HKEY_LOCAL_MACHINE,   "software//odbc//odbc.ini/MYDB ",   0,   KEY_ALL_ACCESS,   &key)   ==   ERROR_SUCCESS)
{
    DSN存在;
}
else
{
    DSN不存在;
}
RegCloseKey(key);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值