0

我使用 Visual Studio 2010 和 SQL Server 2008 在 .NET Framework 4.0 中编写了一个桌面应用程序(Windows 窗体)。

在该/bin文件夹中,它会创建一个.exe文件,该文件可以在我的计算机和其他计算机上正常运行(如果它们安装了 Visual Studio 和 SQL Server)。如果他们没有安装这些,那么它会报告错误并且.exe文件不会运行。

在另一台 PC 上,我在安装 .NET Framework 4.0 后在 Windows XP sp3、Windows 7 上进行了测试,还为 WinXP sp3 安装了 Windows Installer 4.5,但没有成功。

问题是什么?我的连接字符串有什么问题吗:

@“Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\db.mdf;Integrated Security=True;User Instance=True";

如何让我的 .exe 文件在其他 PC 上运行?

谢谢,这帮了很多忙,现在我明白问题只是连接字符串,但问题仍未解决。现在我正在使用这个连接字符串

Data Source=HOME-9BE0D501F6\SQLEXPRESS;AttachDbFilename=|DataDirectory|\shopdb.mdf;Integrated Security= True;User Instance=True

WA-PC 是我正在工作的计算机的名称,它运行良好,但是当我将 bin 文件夹复制到名为 HOME-9BE0D501F6 的另一台计算机时,它仍然无法运行。我已使用此名称更改了 app.config 文件中的连接字符串,但仍然出现连接错误。我没有在这台电脑上安装 SQL Server 2008。我必须安装它吗?我还需要做什么?

4

3 回答 3

0

.\SQLEXPRESS表示本地电脑上的 SQL Express 实例,因此如果没有安装 SQL Server,则会出现错误。

于 2013-10-10T12:50:38.687 回答
0

使用正确的服务器名称更改连接字符串

Data Source=<servernameinwhichSQLServerInstalled>\SQLEXPRESS;AttachDbFilename=|DataDirectory|\db.mdf;Integrated Security=True;User Instance=True";

如果您使用的是 (local) 或 DOT(.) 这意味着它必须连接到运行应用程序的计算机。在这种情况下,如果您没有在不同的计算机上安装 sql server 或数据库,则会抛出此错误。

于 2013-10-10T12:50:44.887 回答
0

问题(如前所述)是您告诉 SQL 连接使用本地 PC 名称而不是服务器名称(安装 SQL 实例的位置)。

找到它的一种简单方法是打开 SQL 管理工作室/查询分析器/WinSQL/SQL 脚本编辑器并运行以下脚本

use [Database name in question]
Select @@ServerName

更换你的;

Data Source=.\SQLEXPRESS

Data Source=@@ServerNameResult\SQLEXPRESS

希望有帮助。

于 2013-10-10T14:12:49.473 回答