在另一台计算机上启动程序时建立与 SQL 服务器的连接时出现与网络相关或特定于实例的错误
A network-related or instance-specific error occurred while establishing a connection to SQL Server when starting the program on another computer
我需要帮助解决这个问题。我使用 MS Visual Studio Installer Projects 创建了应用程序安装程序,并在另一台设备上 运行 创建了它。 prerequisites, so I had to download the SQL Server 2017 LocalDB on another computer manually. After that, when I started the program I received the following error.
中我的计算机(2016 和 2017)上没有安装任何版本的 LocalDB
数据库文件在安装过程中自动放置在文件夹 Documents 中
我更改了连接字符串如下:
string dbPathMyDoc = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
string dbPath = Path.Combine(dbPathMyDoc, "myprojectAppData");
AppDomain.CurrentDomain.SetData("DataDirectory", dbPath);
Database path
所以在我看来问题不是连接字符串,而是什么?
我在创建 ny 时为所有项目制作示例修复问题 winforms & localdb
您可以在 App.config 文件
中创建 2 个 ConnectionString
App.config
<add name="DevConnectionString"
connectionString="Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\MyDatabase.mdf;Integrated Security=True"
providerName="System.Data.SqlClient" /> <!-- *1* Use when publish project-->
<!--<add name="AppConnectionString"
connectionString="Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename='E:\My Projects\MyDatabase.mdf';Integrated Security=True"
providerName="System.Data.SqlClient" />-->
<!--*2* Use for development-->
- 需要开发系统时先用开发环境
- 应用发布时使用二次CS 发布环境
For second connection-string must write full path
代码
要获取 App.config 文件 中的连接字符串,您可以使用此代码
var conStr = ConfigurationManager.ConnectionStrings["DevConnectionString"].ConnectionString;
我发现我无法通过命令提示符使用命令sqllocaldb info MSSQLLocalDB
检查安装在第二台计算机上的SQL Server LocalDB的版本(因为出错)。
所以我决定使用以下命令重新创建 MSSQLLocalDB 实例:
1) sqllocaldb d MSSQLLocalDB
2) sqllocaldb c MSSQLLocalDB
然后程序成功连接到数据库。
我希望这些信息对某人有所帮助。
我需要帮助解决这个问题。我使用 MS Visual Studio Installer Projects 创建了应用程序安装程序,并在另一台设备上 运行 创建了它。 prerequisites, so I had to download the SQL Server 2017 LocalDB on another computer manually. After that, when I started the program I received the following error.
中我的计算机(2016 和 2017)上没有安装任何版本的 LocalDB数据库文件在安装过程中自动放置在文件夹 Documents 中
我更改了连接字符串如下:
string dbPathMyDoc = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
string dbPath = Path.Combine(dbPathMyDoc, "myprojectAppData");
AppDomain.CurrentDomain.SetData("DataDirectory", dbPath);
Database path
所以在我看来问题不是连接字符串,而是什么?
我在创建 ny 时为所有项目制作示例修复问题 winforms & localdb
您可以在 App.config 文件
中创建 2 个 ConnectionStringApp.config
<add name="DevConnectionString"
connectionString="Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\MyDatabase.mdf;Integrated Security=True"
providerName="System.Data.SqlClient" /> <!-- *1* Use when publish project-->
<!--<add name="AppConnectionString"
connectionString="Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename='E:\My Projects\MyDatabase.mdf';Integrated Security=True"
providerName="System.Data.SqlClient" />-->
<!--*2* Use for development-->
- 需要开发系统时先用开发环境
- 应用发布时使用二次CS 发布环境
For second connection-string must write full path
代码
要获取 App.config 文件 中的连接字符串,您可以使用此代码
var conStr = ConfigurationManager.ConnectionStrings["DevConnectionString"].ConnectionString;
我发现我无法通过命令提示符使用命令sqllocaldb info MSSQLLocalDB
检查安装在第二台计算机上的SQL Server LocalDB的版本(因为出错)。
所以我决定使用以下命令重新创建 MSSQLLocalDB 实例:
1) sqllocaldb d MSSQLLocalDB
2) sqllocaldb c MSSQLLocalDB
然后程序成功连接到数据库。
我希望这些信息对某人有所帮助。