启动应用程序时数据库错误

本文关键字:错误 数据库 应用程序 启动 | 更新日期: 2023-09-27 18:06:29

我部署了c#应用程序并创建了安装程序。安装程序创建成功,但当试图启动应用程序时,它抛出以下错误:

试图为文件campuspoint .mdf附加自动命名的数据库失败了。存在同名的数据库,或者指定的文件不存在

在app.config中的连接字符串如下:

<connectionStrings>
    <add name="App_Key_Management.Properties.Settings.VendorKeyConnectionString1" 
         connectionString="Data Source=.'SQLEXPRESS;AttachDbFilename=&quot;C:'Program Files'Vendor Key Management'VendorKey.mdf&quot;;Integrated Security=True;Connect Timeout=30;User Instance=True"
         providerName="System.Data.SqlClient" />
  </connectionStrings>

如有任何帮助,不胜感激。

问候,斯里兰卡

启动应用程序时数据库错误

首先,你需要确保几件事:1. 已安装SQL Server2. 您需要处理创建或替换您创建的文件。我想这是你的问题……如果.mdf文件存在,那么您需要更新现有文件或删除并替换它(使用[database] GO drop TABLE…去板条箱表…去)。您还需要考虑下面的第4步。3.如果您正在访问位于数据库中的文件,则需要一个完全格式化的名称。还需要将数据库用户添加到ASP中的连接字符串中。网网络。Config或app . Config(取决于应用)。看来是你挑起的…4. 确保您在连接字符串中使用的用户帐户在数据库端具有必要的特权。如果这是一个完全成熟的SQL SERVER数据库,那么用户帐户将需要更新,删除,创建权限。如果您正在动态地替换或创建数据库,那么用户将需要CREATE DATABASE或DROP/CREATE权限。

我想要最好地回答你的问题,我们需要更多关于应用程序架构的信息。我的猜测是,您的代码第一次创建数据库时很好,然后当您第二次尝试运行它时,它失败了,因为数据库已经存在。如果是这种情况,你还需要处理你的代码(使用If语句或SWITCH case…)调用)来处理表(1)不存在并且需要创建的情况;(2)存在且需要更新的;和/或(3)存在并且需要替换。正确的答案同样取决于您的代码和您要做的事情。