如何使用一个c#windows窗体程序,该程序具有来自另一台未安装SQL server的计算机的数据库?

如何使用一个c#windows窗体程序,该程序具有来自另一台未安装SQL server的计算机的数据库?,c#,.net,sql-server,database,winforms,C#,.net,Sql Server,Database,Winforms,我有一个C#windows窗体应用程序,它在我自己的机器上与Sql Server Express配合使用。我已经用release.exe文件发布了我的程序,并在其中包含Script.sql文件,以便拥有该程序的数据库。这个程序在我的机器上运行得很好,因为我有数据库和SQL server。在另一台具有SQL server的机器上,也可以正常工作,但该机器必须首先使用DBMS运行(执行)Script.SQL文件,然后才能正常工作 这是我的连接字符串:connectionString=“数据源=。\S

我有一个C#windows窗体应用程序,它在我自己的机器上与Sql Server Express配合使用。我已经用release.exe文件发布了我的程序,并在其中包含Script.sql文件,以便拥有该程序的数据库。这个程序在我的机器上运行得很好,因为我有数据库和SQL server。在另一台具有SQL server的机器上,也可以正常工作,但该机器必须首先使用DBMS运行(执行)Script.SQL文件,然后才能正常工作

这是我的连接字符串:
connectionString=“数据源=。\SQLEXPRESS;初始目录=评估;集成安全=真;

所以问题是:我不能在没有安装SQL Server的机器上使用我的程序

问题:是否可以在未安装SQL Server和Visual Studio的另一台计算机上使用数据库运行我的程序

我听说,如果我向项目中添加一些.dll文件或.mfd/.ldf文件,就可以在没有SQL Server的情况下运行该程序

我知道我正在以一种复杂的方式使用数据库(包括Script.sql和手动运行),因为我是编程初学者。 对不起,如果我问了一个愚蠢的问题

谢谢!

试试这个

   private void button1_Click(object sender, EventArgs e)
    {
        DataTable dtCPData = new DataTable();
        string sqlconstr = "Data Source=dbhost;Initial Catalog=dbname;Persist Security Info=True;User ID=username;Password=password";

        SqlConnection con = new SqlConnection();
        con.ConnectionString = sqlconstr;
        con.Open();
        SqlCommand cmd = new SqlCommand(@"Select * from Table", con);

        SqlDataAdapter da = new SqlDataAdapter(cmd);
        da.Fill(dtCPData);
        con.Close();

    }

因此,您试图在既没有安装SQL Express也没有安装SQL Standard/Enterprise的计算机上运行应用程序。如果您希望坚持使用Microsoft SQL技术,并且希望避免在应用程序中附带完整的SQL Express安装程序,则需要使用SQL Express LocalDB。以下是指向该应用程序的链接:

本质上,它是一个更小的Express版本(免费、10GB限制等)。您可以使用应用程序的安装程序安装它,或者在第一次启动时让应用程序检查SQL Server是否可用(如果没有,请安装并使用LocalDB)。它确实有一些限制,这些限制可能使它成为一个不错的选择:

  • 没有从计算机外部连接到数据库(因此名称为LocalDB)。这样,您就不必担心安全问题
  • 根据您创建DB实例的方式,SQL进程将在应用程序停止时自动关闭,而不会继续消耗计算机上的资源
MSDN文章谈到了开发人员。然而,LocalDB作为一种嵌入式数据库,非常适合于生产使用


如果您认为这是一个选项,请不要忘记将其标记为您问题的答案。

您可以在服务器中托管一个web服务,该服务将从数据库中获取数据。您的winform应用程序所要做的就是调用服务方法并相应地获取数据。这样,您就不必担心ut在客户端PC中根本没有MSSQL


由于您是一名初学者,这个想法可能对您来说有点困难,但这是一种广泛采用的体系结构,您可以开始尝试实现它。

StackOverflow不是一种代码编写服务。如果您的代码有问题,请提供最小、完整且可验证的示例。