2012-07-27 50 views
1

我開發了一個帶有SQL Server數據庫的C#應用​​程序。當我嘗試發佈應用程序來測試它>>它可以在我的機器上正常工作(包括SQL Server數據文件夾中的數據庫)>>但是當我將該發佈的應用程序移動到另一臺機器時,它不起作用。如何使用SQL Server數據庫部署或發佈Windows應用程序

我想知道用它的數據庫部署項目一起

最簡單的方法,我在我的app.config使用此連接字符串:

<?xml version="1.0" encoding="utf-8" ?> 
<configuration> 
    <connectionStrings> 
    <add name="cs" 
     providerName="System.Data.ProviderName" 
     connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=C:\Program Files (x86)\Microsoft SQL Server\MSSQL.1\MSSQL\Data\KBank.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True" /> 
    </connectionStrings> 
</configuration> 

我應該爲了將數據庫做使用已部署的應用程序並動態修改數據庫連接字符串app.config

當我打開該項目的用戶機器顯示的異常說:

的Attempet附加的文件C自動命名的數據庫:\ PROGRAM 文件(x86)\ Microsoft SQL Server的\ MSSQL .1 \ MSSQL \ DATA \ KBank.mdf失敗, 具有相同名稱的數據庫存在,或指定的文件無法打開 或其UNC共享位置

現在看來,這是無法讀取SQL數據庫

+0

你能澄清'不行嗎?有沒有例外? – 2012-07-27 05:07:02

+1

目標/測試機器是否安裝了SQL Server Express?還有一個名爲「sqlexpress」的實例? – dougajmcdonald 2012-07-27 05:55:53

+0

@dougajmcdonald不​​,我只是希望它可以在任何有或沒有SQL服務器的機器上工作 – Hassanation 2012-07-27 11:29:49

回答

0

我已解決我的問題>問題是我沒有將本地數據庫添加到我的項目解決方案..所以當我在另一臺機器上嘗試項目時,應用程序找不到指定的連接sting有路徑:

C:\ Program Files文件(x86)的\微軟SQL服務器 \ MSSQL.1 \ MSSQL \ DATA \ KBank.mdf;集成安全性= TRUE;連接 超時= 30;用戶實例=真

但是當我添加本地數據庫到我的項目解決方案連接字符串路徑變成:

| DataDirectory目錄| \ KBank.mdf

已經附加了工程順利文件 謝謝

2

您的應用程序無法找到在連接字符串指定說話少的數據庫文件連接到它。這是因爲數據庫是自動命名爲而不是數據文件。您只需要將數據庫附加到數據庫數據文件中,以便在部署時數據庫將與其一起運行。 爲此,在Visual Studio IDE上,在發佈選項卡上選擇「應用程序文件」,將數據庫文件的發佈狀態從「包括自動」更改爲「數據文件」,然後進行驗證。這將在發佈和部署時將數據庫文件添加到您的應用程序。 訪問項目屬性, 1)與Visual Studio 2010/2012 - 點擊項目菜單 - >屬性 - >

我希望這有助於ü。如果沒有,我會再試一次。 保持祝福

相關問題