.exe在其他电脑上运行错误

时间:2013-10-10 12:48:52

标签: c# sql visual-studio-2010 deployment sql-server-2008-express

我使用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";

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

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

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。我必须安装它吗?还有什么我需要做的?

3 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

使用正确的服务器名称

更改连接字符串
Data Source=<servernameinwhichSQLServerInstalled>\SQLEXPRESS;AttachDbFilename=|DataDirectory|\db.mdf;Integrated Security=True;User Instance=True";

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

答案 2 :(得分:0)

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

找到这个的简单方法可能是打开SQL Managment Studio /查询分析器/ WinSQL / SQL脚本编辑器并运行以下脚本

use [Database name in question]
Select @@ServerName

替换你的;

Data Source=.\SQLEXPRESS

Data Source=@@ServerNameResult\SQLEXPRESS

希望有所帮助。