编辑 1
我尝试创建和使用系统 DSN。我按照以下类似步骤进行了成功的连接尝试。然后我修改了我的连接字符串以引用这个新的 DSN。我收到一个错误The specified DSN contains a architecture mismatch between Driver and Application。
为了解决这个问题,我使用 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 库作为最低公分母。