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

55

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

我找到了这个免费软件,它在我的计算机上运行良好,已成功测试。

是否有更快的方法来做到这一点,也许是在Windows命令行上?因为大多数情况下,执行此任务的通常是客户端,而不是我,所以我更喜欢“零安装”方法,对他们的系统影响最小。


2
我刚发现了这个:「如何使用记事本测试数据库连接字符串。」简单、快速,而且效果非常好。http://www.gotknowhow.com/articles/test-a-database-connection-string-using-notepad - Jason H.
4个回答

84
以下方法对我非常有用,非常快捷实用,不需要 PowerShell:
  • 打开记事本并创建一个空文本文件,然后单击“文件” -> 单击“另存为” -> 并将其保存到桌面上的文件名为:TestConnection.udl。
  • 转到您的桌面,双击刚刚创建的TestConnection.udl文件,数据连接属性框将弹出。
  • 选择“提供程序”选项卡,找到要连接的提供程序,然后单击“下一步>>”。
  • 现在从“连接”选项卡中选择或输入源/服务器名称->然后输入登录服务器的信息->并选择服务器上的数据库。
  • 单击“测试连接”并单击“确定”以保存文件。如果在测试连接字符串时发生错误,您将收到带有错误消息的弹出框。

演示过程(与上面相同但包含图片):

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

图片描述

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

图片描述

选择“提供程序”选项卡,找到要连接的提供程序,然后单击“下一步>>”。

图片描述

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

进入图像描述

单击测试连接并单击确定以保存文件。如果在测试连接字符串期间发生错误,则会弹出包含错误消息的弹出框。

进入图像描述

来源


9
使用这种方法,您无法粘贴连接字符串进行测试。 - Valentin
3
这无疑是我在StackOverflow上找到的最好的贴士!如果按照上述步骤创建一个连接@Valentin,我IRC认为,如果您在文本编辑器中打开文件,您将看到连接字符串,您可以直接编辑它,然后将其再次打开为UDL文件。 - Dead.Rabit
3
这并没有回答原始问题,而是关于如何测试SQL连接性。问题询问的是关于测试连接字符串的。 - Shadoninja
完美地为机器测试数据库连接工作。 - Rajaram Shelar

74
如果客户端安装了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()

1
在Windows Server 2016上,我遇到了错误“Exception calling "Open" with "0" argument(s): "No error message available, result code: DB_E_ERRORSOCCURRED(0x80040E21)."”,但是下面@CJBS的答案对我有用,并且不需要在连接字符串中使用“Provider”。https://dev59.com/92865IYBdhLWcg3wQMID#42842231 - deadlydog
@deadlydog,CJBS的回答并没有测试OLEDB,而这个问题特别涉及到它。它正在测试SQL Native提供程序(ADO.NET)。它们是完全不同的东西。 - Simon Brangwin

45

在PowerShell中测试SQL Server本地连接字符串

这种方法适用于在PowerShell中测试SQL Server本地连接字符串(这种连接字符串可能适用于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类文档

向@Chuck Heatherly致敬,本问题的例子基于他的工作。

注意:我完全意识到这个问题是针对OLEDB的,但是因为我在寻找一种用于SQL Native连接的方法,所以这可能对那些带着同样目标而来的其他人有用。


"来到这里寻找 SQL Native 连接的方法,这对于其他有同样目标的人也许会有用。当然!感谢提供信息,因为这是我得到的排名第一的结果。" - xpt

17

1
这不是与@Daniel在此页面上的回答相同吗:https://dev59.com/92865IYBdhLWcg3wQMID#13627709? - CJBS
这并没有回答所提出的问题。 - TomXP411

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接