另一台PC上的C#数据库文件应用程序

时间:2019-02-19 12:18:02

标签: c# sql database visual-studio

我正在尝试制作一个简单的数据库应用程序。它只是使用c#winform从本地数据库文件写入和读取,但是当我将应用程序文件夹移动到另一台PC时,它会出现错误。我以为这是connstring或文件访问的一个愚蠢的错误,但是当我单击继续并启动应用程序时,组合框中甚至没有加载任何内容(应正常填充,而无需使用任何数据库材料)。对不起,我的英语,谢谢您的答复。

我无法发布图片,因为我是新来的,但该异常在其他文字中表示:

  

错误50-发生本地数据库运行时错误。指定的   LocalDB实例不存在。

2 个答案:

答案 0 :(得分:2)

解决方案实际上取决于您应用程序的设计。

集中式数据库:

如果您的应用程序应该使用集中式数据库-意味着多个c#winform应用程序连接到同一数据库。

然后,您必须确保在连接字符串中将数据库服务器的IP地址/计算机名称/标识符称为“数据源”。

例如下面的连接字符串显示了如何使用Windows身份验证进行连接时如何连接数据库。您将必须将Data Source替换为IP地址,并将Initial Catalog替换为数据库名称

Data Source=your-server-address;Initial Catalog=your-database;Integrated Security=TRUE;

本地数据库:

如果您的应用程序应该使用本地数据库,即每个c#winforms应用程序用户都将在其计算机上使用本地数据库, 然后,您必须确保安装了必需的组件(即SQL Express,SQL或要使用的任何其他数据库服务器)。

希望这可以澄清。

答案 1 :(得分:1)

检查您的LocalDB连接字符串,并将其指向正确的文件位置,如下所示(取自here)。现在,当您移动应用程序(AttachDBFilename属性)时,其路径有所不同

<connectionStrings>
    <add name="DefaultConnection" connectionString="Data Source= 
     (LocalDb)\MSSQLLocalDB;Initial Catalog=aspnet-MvcMovie-fefdc1f0-bd81-4ce9-b712- 
      93a062e01031;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnet- 
     MvcMovie-fefdc1f0-bd81-4ce9-b712-93a062e01031.mdf" 
     providerName="System.Data.SqlClient" /> 
</connectionStrings>