【发布时间】:2013-08-14 15:38:38
【问题描述】:
编辑 1
我尝试创建和使用系统 DSN。我按照以下类似步骤进行了成功的连接尝试。然后我修改了我的连接字符串以引用这个新的 DSN。我收到一个错误指定的 DSN 包含驱动程序和应用程序之间的架构不匹配。
为了解决这个问题,我使用 sysWOW64 odbcad32 exe 添加了一个相同的 DSN。我的代码现在成功完成。这只会突出问题。代码可以连接到系统 DSN。但是,当我为无 DSN 连接复制这些属性时,代码会失败。我的连接字符串有什么问题?
结束编辑 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 库作为最低公分母。
【问题讨论】: