编辑1
我尝试创建和使用系统DSN。我遵循了下面类似的步骤,从而成功地尝试了连接。然后,我修改了连接字符串以引用这个新的DSN。我收到了一个错误,指定的DSN包含驱动程序和应用程序之间的架构不匹配。
为了解决这个问题,我使用sysWOW64 odbcad32 exe添加了一个相同的DSN。我的代码现在成功地完成了。这只会突出问题。代码可以连接到系统DSN。但是,当我为DSNless连接复制这些属性时,代码会失败。我的连接字符串怎么了?
终端编辑1
为什么我的连接字符串在安装成功时会失败?

但是在我的项目中,当我使用这个连接字符串"Driver=SQL Server Native Client 11.0;DATABASE=SynchronizerTester;Trusted_Connection=Yes;SERVER=(localdb)\v11.0;"时,我得到一个System.Data.Odbc.OdbcException,命名管道无法打开连接等等。
其他文章建议我应该使用数据源。此建议失败是因为“未指定服务器或dsn属性”。
Odbc文件DSN和我的连接字符串之间有什么不同呢?我应该在代码中使用Sql*系列而不是Odbc*系列吗?如果是这样的话,如何根据连接字符串来检测要使用哪一个,以便注入正确的类型?
请注意,我可能使用相同的代码来处理各种连接字符串。我最初的想法是,我会使用ODBC库作为最低的公分母。
发布于 2013-08-14 17:19:25
天哪..。
我不会删除这篇文章,因为它应该存在于我的个人资料中,作为一个愚蠢的圣地.提醒你要努力变得不那么笨。
反斜杠是转义字符。
更改:
SERVER=(localdb)\v11.0;
至:
SERVER=(localdb)\\v11.0;
发布于 2017-04-28 01:46:59
只是在这里添加这个,以防其他人发现它有用:我有来自不同原因的同样的症状。
在我的例子中,连接字符串是正确的。问题是工作站无法解决主机名的DNS。DSN条目设法工作了。也许它缓存了一个完全限定的服务器名什么的?但是连接字符串失败了。
https://stackoverflow.com/questions/18236185
复制相似问题