我使用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。我必须安装它吗?还有什么我需要做的?
答案 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
希望有所帮助。