将 Windows 应用程序连接到虚拟机中另一台计算机中的 SQL 服务器的问题
Issue connecting Windows app to SQL Server that is in another computer in a virtual machine
我的电脑是 运行 Windows 10 x64,它有一个 Windows 7 x86 的虚拟机。此虚拟机有一个 SQL 服务器实例 SQLEXPRESS
。这个服务器是临时的,以后我们要用别的电脑,这个是为了测试。
我开发了一个 Windows 桌面应用程序,它连接到此服务器进行读写。
这是连接字符串:
<add name="Importacion"
connectionString="Data Source=WIN-EIUKNBIVIED\SQLEXPRESS;Initial Catalog=Importacion;User Id=administrador;Password=contraseña"
providerName="System.Data.SqlClient" />
这是在 Visual Studio 中用 C# 开发的。我已经创建了一个包含所有依赖项的安装程序。它在虚拟机中工作。
问题
当我在另一台计算机上安装它时,出现 SQL 服务器错误 #28。
提示
- 虚拟机中的 Ping 工作
SQLEXPRESS
- 从本机 PC 到虚拟机的 Ping 工作正常
- 从本机 PC Ping 到
SQLEXPRESS
不工作
我已经尝试过的东西
- 启用 TCP/IP 个端口
- 设置为混合连接到服务器(Windows 和 SQL 服务器)
- 在两台计算机上禁用防火墙
- 使用连接字符串的新用户有权执行所有操作
- 远程连接已启用
我想通了。
当您在 Visual Studio 2019 年创建 DataConnection 时,连接字符串设置为 Windows 登录。即使您手动更改它以添加 SQL 验证,它也不会将其用作 SQL 登录。
如果您想使用 SQL 登录,则必须创建一个新的数据连接。
希望对以后的人有所帮助。
我的电脑是 运行 Windows 10 x64,它有一个 Windows 7 x86 的虚拟机。此虚拟机有一个 SQL 服务器实例 SQLEXPRESS
。这个服务器是临时的,以后我们要用别的电脑,这个是为了测试。
我开发了一个 Windows 桌面应用程序,它连接到此服务器进行读写。
这是连接字符串:
<add name="Importacion"
connectionString="Data Source=WIN-EIUKNBIVIED\SQLEXPRESS;Initial Catalog=Importacion;User Id=administrador;Password=contraseña"
providerName="System.Data.SqlClient" />
这是在 Visual Studio 中用 C# 开发的。我已经创建了一个包含所有依赖项的安装程序。它在虚拟机中工作。
问题
当我在另一台计算机上安装它时,出现 SQL 服务器错误 #28。
提示
- 虚拟机中的 Ping 工作
SQLEXPRESS
- 从本机 PC 到虚拟机的 Ping 工作正常
- 从本机 PC Ping 到
SQLEXPRESS
不工作
我已经尝试过的东西
- 启用 TCP/IP 个端口
- 设置为混合连接到服务器(Windows 和 SQL 服务器)
- 在两台计算机上禁用防火墙
- 使用连接字符串的新用户有权执行所有操作
- 远程连接已启用
我想通了。
当您在 Visual Studio 2019 年创建 DataConnection 时,连接字符串设置为 Windows 登录。即使您手动更改它以添加 SQL 验证,它也不会将其用作 SQL 登录。 如果您想使用 SQL 登录,则必须创建一个新的数据连接。
希望对以后的人有所帮助。