部署后无法连接到本地数据库

时间:2015-09-08 21:43:09

标签: c# sql .net sql-server

我正在使用Visual C#2015编写一个程序。我已经在IDE中创建了一个本地数据库,在本地构建和运行后,一切似乎都能正常工作。但是,在发布应用程序并在另一台机器上安装后,我在attachdbfilename上出现了一个参数异常错误。我已将数据库包含为内容文件。 ClickOnce会将数据库复制到Appdata文件夹中APPS下的文件夹中。我在目标计算机上安装了SQL Local DB版本。数据库名称为ConnectionsDatabase.mdf。

这些是我的Settings.Designer.cs文件中的定义。

(SqlConnection con = new SqlConnection(Store_Switcher.Properties.Settings.Default.ConnectionsDatabaseConnectionString))

不确定它们是否应该只用于1个数据库。

这是我在相应类中用于连接字符串的内容。 使用

$myClass = 'App\MyClass';
$object = new $myClass;

我愿意分享所需的所有项目文件。请记住,这是一个小型应用程序,将安装在几台不同的计算机上。请帮忙!!这让我发疯了!

1 个答案:

答案 0 :(得分:1)

AttachDbFilename=|DataDirectory|\ConnectionSet" + "tings.mdf

应该是

AttachDbFilename=|DataDirectory|\ConnectionData" + "base.mdf

在您的设计器文件中。或相反亦然。你的文件名断开了。

编辑: 你的意思是“密钥值无效”?问题听起来就像您在目标系统上使用的数据库路径与您的开发机器不匹配。

你甚至说“ClickOnce会将数据库复制到我的Appdata文件夹中的APPS下的文件夹中。”所以也许在您的开发框中你有c:\ myapp \ App_Data \ ConnectionData.mdf并且在目标上它是c:\部署后myapp \ App_data \ APPS \ ConnectionData.mdf。这不起作用。摆脱APPS,或更改您的代码,以便部署文件夹与开发框上的相同。这是一个路径问题。