【发布时间】:2017-08-21 23:37:03
【问题描述】:
这是我的第一个带有数据库的应用程序。它可以在我的 PC 上完美安装和运行。但是在另一台电脑上安装时会报错:
System.Data.SqlClient.SqlException (0x80131904): A network-related or
instance-specific error occurred while establishing a connection to SQL
Server. The server was not found or was not accessible. Verify that the
instance name is correct and that SQL Server is configured to allow remote
connections. (provider: SQL Network Interfaces, error: 50 - Local Database
Runtime error occurred. The specified LocalDB instance does not exist.
我需要的是,安装文件必须在本地包含一个数据库,以便我可以存储一些数据并检索它。
示例应用在这里:
using System;
using System.Data;
using System.Windows.Forms;
using System.Data.SqlClient;
namespace form1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
SqlDataAdapter da;
DataSet ds;
SqlConnection con;
private void button1_Click(object sender, EventArgs e)
{
con = new SqlConnection("Data Source=(LocalDB)\\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\\sql.mdf;Integrated Security=True");
da = new SqlDataAdapter("insert into STUDENTDATA(STUDENT,CLASS,SEX)values('" + textBox1.Text + "','" + textBox2.Text + "','" + textBox3.Text + "')", con);
ds = new DataSet();
da.Fill(ds);
MessageBox.Show("Registration has been successful");
}
private void button2_Click(object sender, EventArgs e)
{
Form2 f2 = new Form2();
f2.Show();
}
}
}
注意::另一台计算机中安装了 Visual Studio。
【问题讨论】:
-
Visual Studio 安装在数据库服务器上是无关紧要的。如果您要学习数据访问,请务必了解 IDisposable。将数据连接存储为字段是一种可怕的做法。您应该尽可能限制它们的范围。无论如何,您是否验证了 SQL Server LocalDB 已安装在您打算部署到的计算机上?
-
SQL Server LocalDB 已安装在机器上。我通过命令行检查了它
sqllocaldb i。并且实例是V11.0 -
您确认数据库文件在正确的位置了吗?
-
它在项目文件夹中。
-
如果将
|DataDirectory|\\sql.mdf替换为文件所在位置的物理硬编码路径会怎样?
标签: c# asp.net winforms visual-studio visual-studio-2015