C# 在另一台计算机上部署应用程序
我开发了一个简单的winforms应用程序,带有一个基于服务的数据库 在我的机器上运行应用程序时,它工作正常。但在发布应用程序并将其放在另一台机器上之后,它会正常安装和运行,但当连接到数据库时,它会抛出一个错误 “试图为文件附加自动命名数据库” 使用以下连接字符串:C# 在另一台计算机上部署应用程序,c#,visual-studio,app-config,C#,Visual Studio,App Config,我开发了一个简单的winforms应用程序,带有一个基于服务的数据库 在我的机器上运行应用程序时,它工作正常。但在发布应用程序并将其放在另一台机器上之后,它会正常安装和运行,但当连接到数据库时,它会抛出一个错误 “试图为文件附加自动命名数据库” 使用以下连接字符串: <connectionStrings> <add name="MyConString" connectionString="Data Source=.\SQLEXPRESS;AttachDbFile
<connectionStrings>
<add name="MyConString" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\myDB.mdf;Integrated Security=True;User Instance=True"
providerName="System.Data.SqlClient" />
</connectionStrings>
static string constr = System.Configuration.ConfigurationManager.ConnectionStrings["MyConString"].ConnectionString;
static SqlConnection conn = new SqlConnection(constr);
正在目标计算机上安装SQL server
我错过什么了吗 数据源=。\SQLEXPRESS
此处的“.”表示本地计算机上的Sql server数据库。
如果将此应用程序部署到另一台计算机,
您必须将“.”更改为您的本地计算机IP地址(假定它们位于同一本地网络中)。您应该在数据库存在的位置更改数据源名称。“表示它存在于本地计算机上。”。如果您不想更改数据源名称,则应将数据库放在同一系统上。下面的链接是通过创建设置来部署应用程序的分步教程:
我怀疑这是您收到的实际错误消息(“尝试”?)。另一台计算机是否具有相同的
| DataDirectory |
,并且该文件夹中是否有名为myDB.mdf
的文件?@KenWhite是,错误如前所述,是,发布时im包括数据库。。但是我没有得到| DataDirectory |部分我如何才能使它变为变量。。Cz我想它停在哪里了..应用程序找不到db路径..MS实际上发布了一个写着“尝试”的东西?他们的QC变得很差;您可能应该提交一份关于这种草率的bug报告。(如果输入错误不存在,它不是您收到的实际消息,(我的观点)。)DataDirectory将是您安装DB副本的位置,您可以在连接字符串或应用程序的配置文件中声明。显然,如果您试图打开C:\MyAppDir\MyDB.MDF
,则MyDB.MDF
文件必须位于目标计算机上的C:\MyAppDir
中,如果不是,则必须从适当的文件夹打开它。