测试 OLE DB 连接字符串的快速方法

Posted

技术标签:

【中文标题】测试 OLE DB 连接字符串的快速方法【英文标题】:Quick ways to test OLE DB Connection String 【发布时间】:2011-04-24 01:07:44 【问题描述】:

出于调试目的,我想知道快速测试 OLE DB 连接字符串的方法。

我找到了this free software,它在我的机器上运行,测试成功。

有没有更快的方法,可能是从 Windows 上的命令行?因为大多数时候,是客户而不是我来执行此任务,所以我更喜欢“零安装”方法,这种方法对他们的系统影响最小。

【问题讨论】:

我刚刚发现了这个:“如何使用记事本测试数据库连接字符串。”简单,快速,而且效果很好。 gotknowhow.com/articles/… 【参考方案1】:

以下方法已被证明对我有用。它超级快速实用,不需要 PowerShell:

打开记事本并创建一个空文本文件,然后单击文件-> 单击保存-> 并将其保存为文件名:TestConnection.udl 到 您的桌面。 进入桌面,双击刚刚创建的TestConnection.udl文件,弹出数据链接属性框。 选择提供商选项卡并找到您要连接的提供商,然后单击下一步>>。 现在从“连接”选项卡中,选择或输入您的源/服务器名称 -> 然后输入信息以登录到服务器 -> 并选择 服务器上的数据库。 单击测试连接并单击确定保存文件。如果在测试连接字符串期间发生错误,您将收到一个弹出窗口 带有错误消息的框。

演练(同上,但有图片)

打开记事本并创建一个空文本文件,然后单击文件-> 单击保存-并使用文件名:TestConnection.udl 将其保存到您的桌面:

到您的桌面并双击您刚刚创建的 TestConnection.udl 文件,将弹出“数据链接属性”框。

选择提供商选项卡并找到您要连接的提供商,然后单击下一步>>。

现在从“连接”选项卡中,选择或输入您的源/服务器名称 -> 然后输入信息以登录到服务器 -> 并选择服务器上的数据库。

单击测试连接并单击确定以保存文件。如果在测试连接字符串的过程中发生错误,您将收到一个带有错误消息的弹出框。

Source

【讨论】:

这种方法不能粘贴连接字符串进行测试。 这是毫无疑问的,我在 *** 上找到的最好的技巧!如果您使用上述步骤创建连接@Valentin,IIRC 如果您在文本编辑器中打开文件,您将看到可以直接编辑的连接字符串,然后再次作为 UDL 文件打开。 这并没有解决原始问题。这是测试 SQL 连接性的方法。问题是关于测试连接字符串。 完美地为机器测试与数据库的连接。【参考方案2】:

如果客户端安装了 PowerShell(如果他们运行的是 Windows 7 或 Windows Server 2008 R2,则为给定),那么您可以从 PowerShell 控制台窗口执行这些命令:

$conn = New-Object System.Data.OleDb.OleDbConnection
$conn.ConnectionString = "Provider=Search.CollatorDSO" # whatever you are testing
$conn.Open()
$conn.Close()

【讨论】:

对于 Windows Server 2016 上的我来说,我收到错误 Exception calling "Open" with "0" argument(s): "No error message available, result code: DB_E_ERRORSOCCURRED(0x80040E21).",但下面 @CJBS 的回答对我有用,并且不需要连接字符串 ***.com/a/42842231/602585 中的 Provider【参考方案3】:

PowerShell 中的 SQL Server Native Connection 字符串测试

此方法在 Powershell 中适用于测试 SQL Server Native 连接字符串(可能与 SQL Server 数据库一起使用并用于 web.config 文件的类型)。请注意,此连接字符串的开头没有Provider=xxxx

首先:开始→运行→PowerShell

$conn = New-Object System.Data.SqlClient.SqlConnection
$conn.ConnectionString = "Data Source=(local)\SQLExpress;Initial Catalog=MyDatabase;Persist Security Info=True;User ID=MyDBUser;Password=IShouldBeUsingIntegratedSecurity!;MultipleActiveResultSets=True;User Instance=False"

# If no error occurs here, then connection was successful.
$conn.Open();
$conn.Close();

SqlConnection Class documentation.

感谢@Chuck Heatherly,on whose example 这是基于。

注意:我完全知道这个问题是针对 OLEDB 的,但是来到这里寻找一种为 SQL Native 连接执行此操作的方法,这可能对其他以相同方式到达这里的人有用目标。

【讨论】:

“来这里是为了寻找一种为 SQL Native 连接执行此操作的方法,这可能对其他带着相同目标到达这里的人有用。” 当然!!感谢您提供信息,因为这是我得到的第一名。【参考方案4】:

有一种快速的 UI 方法可以验证它

    创建一个空文件:empty.txt 重命名扩展udl:empty.udl 现在双击那个文件,它会询问服务器和用户名密码,你就知道怎么做了。

参考:http://www.gotknowhow.com/articles/test-a-database-connection-string-using-notepad

【讨论】:

这不是和@Daniel 相同的答案吗,上面:***.com/a/13627709/3063884?

以上是关于测试 OLE DB 连接字符串的快速方法的主要内容,如果未能解决你的问题,请参考以下文章

为啥 Microsoft 不支持到 SQL Azure 的 OLE DB 连接?

ArcGIS Pro微课1000例0018:ArcGIS Pro 2.8通过OLE DB与个人数据库建立连接案例

ArcGIS Pro微课1000例0018:ArcGIS Pro 2.8通过OLE DB与个人数据库建立连接案例

sqlserver远程连接中链接服务器"”的 OLE DB 访问接口 "SQLNCLI" 返回了消息 "登录超时已过期问题

.NET 的快速数据库访问测试

Code First 的 Advantage Database Server 11 连接字符串