WIN10+VS2017+ODBC连接SQL SERVER失败问题

最近将VC6.0中的一个数据库程序移植到了VS2017中,在进行数据库连接的时候提示如下错误:

在网络上搜索这个问题的解决方法,都是说的不明不白的,最后的解决办法如下:

首先同样的程序在win7中能连接上sqlserver,但在win10中连接不上;win7中ODBC的配置跟win10中ODBC数据源的配置也是一样的,而且ODBC的测试也是通过了的,但在用程序连接的时候就出上面的问题,程序中是使用CDatabase类使用DSN的方式连接数据库,sql语句为sql="DSN=metertest;UID=SA;PWD="+datakey;//METERTEST;metertest是数据源的名字,不区分大小写。win10中ODBC的数据源配置如下,服务器部分用的是域名:

这个配置在ODBC的测试中是能连接上sql server的,但在程序中不能连接上,但如果直接在服务器处填写IP地址,通过程序连接又是可以的,如下:

这说明是域名解析出了问题,因此在win10主机的host文件中加了域名解析,这样就可以通过域名连接上sqlserver,上面的问题得到解决。可能是win7和win10系统间存在一些区别,在win7中直接用上面的域名不在hosts文件中做域名解析也是可以连接的。

猜你喜欢

转载自blog.csdn.net/xiebingsuccess/article/details/91450677