我们有一个 ASP.NET 网站,该网站使用一个数据库,我们希望能够使用连接字符串来访问该数据库。我们已经成功设置了一个 DSN 来连接到这个数据库,但我似乎无法发现连接字符串的正确魔力。
是否有一种直接的方法可以将 DSN 中的值转换为连接字符串?我知道从 UI 来看,对此没有明显的答案...每个数据库供应商都提供不同的 UI 来根据他们的需求创建 DSN。但是,我希望在用户界面下面它可能只是在幕后创建连接字符串之类的事情,我可以查看它以了解我做错了什么。这还有希望吗?如果是这样,有关于如何获取我需要的信息的指导吗?
(我已经去connectionstrings.com尝试确保我的连接字符串格式正确,但似乎没有任何效果......这就是为什么我尝试这种奇怪的translate-from-dsn tact。)
EDIT:我一定没有说清楚的是,我们不希望有 DSN 条目。我们已经创建了一个,并暂时使用了它,但我们希望能够摆脱它并使用连接字符串without a dsn.
如果您可以使用OLEDB,那么您可以创建一个UDL file http://msdn.microsoft.com/en-us/library/e38h511e(VS.71).aspx。只需创建一个新的文本文档,test.udl
并双击。填写对话框,然后用记事本将其打开。瞧 - 这是你的连接字符串。
ODBC 有点难 - 您可以从 ODBC 管理器创建文件 DSN,或者在注册表中查看HKLM\Software\ODBC\ODBC.INI\<DSN Name>
对于系统 DSN。您最终会得到一些名称/值对。您应该能够将它们转换为连接字符串。这\\Driver
将列出实际的 DLL,因此您需要从以下位置获取提供程序名称HKLM\Software\ODBC\ODBC Data Sources\\<DSN Name>
.
如果您可以使用 ODBC 的 OLEDB 提供程序,那么您可以使用 UDL 技巧并让它从 ODBC 文件 DSN 构建连接字符串。 ODBC 连接字符串将位于 UDL 的扩展属性中。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)