【问题标题】:How to attach a database to a setup如何将数据库附加到设置
【发布时间】: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


【解决方案1】:

试试这个,它对我有用。

转到工具/选项/数据库工具/单击数据连接/现在从右侧框中删除 Sql Server 实例名称/单击确定。

然后尝试添加另一个数据库:打开解决方案资源管理器/右键单击项目/添加新项目/选择基于服务的数据库/单击添加

【讨论】:

    猜你喜欢
    • 2020-01-18
    • 2018-03-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多