我们有一个ASP.NET网站,该网站使用我们希望能够使用连接字符串访问的数据库。我们已经成功建立了一个用于连接到该数据库的DSN,但是我似乎找不到与连接字符串搭配使用的正确方法。
是否有直接方法将DSN中的值转换为连接字符串?我知道从用户界面中,并没有一个明显的答案……每个数据库供应商都提供了一个不同的用户界面,用于根据他们的需求创建DSN。但是,我希望在UI的下面做一些事情,例如在后台创建一个连接字符串,然后我可以查看一下以查看我做错了什么。对此有什么希望吗?如果是这样,关于如何获取我所需信息的任何指示?
(我去connectionstrings.com尝试确保我的连接字符串格式正确,但是似乎没有任何作用……这就是为什么我要尝试这种奇怪的从dsn转换的方式。)
编辑:我必须不明确的一点是,我们不想拥有DSN条目。我们已经创建了一个,并暂时使用了它,但是我们希望能够摆脱它,并使用不带dsn的的连接字符串。
最佳答案
如果可以使用OLEDB,则可以创建UDL file。只需创建一个新的文本文档test.udl
并双击即可。填写对话框,然后使用记事本将其打开以进行备份。瞧-这是您的连接字符串。
ODBC有点困难-您可以从ODBC管理器创建文件DSN,也可以在系统DSN的HKLM\Software\ODBC\ODBC.INI\<DSN Name>
中戳注册表。您将得到一些名称/值对。您应该能够将它们转换为连接字符串。 \\Driver
将列出实际的DLL,因此您需要从HKLM\Software\ODBC\ODBC Data Sources\\<DSN Name>
获取提供程序名称。
如果可以将OLEDB提供程序用于ODBC,则可以使用UDL技巧,并使它也可以从ODBC文件DSN构建连接字符串。 ODBC连接字符串将位于UDL的扩展属性中。
关于asp.net - DSN到connectionstring?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1008047/