【问题标题】:Quick ways to test OLE DB Connection String测试 OLE DB 连接字符串的快速方法
【发布时间】:2024-01-20 23:14:01
【问题描述】:

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

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

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

【问题讨论】:

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

标签: .net connection-string oledb database-connection


【解决方案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 方法可以验证它

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

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

【讨论】:

最近更新 更多