2017-04-04 23 views
2

我新的SQL數據庫C#項目,我有一個問題,連接到我的Windows窗體應用程序,它是一個單用戶應用程序的數據庫,我想用它只是爲我自己。我在Windows7 64位上使用Visual Studio 2012,並在我的DELL Inspiron15 3521筆記本電腦上安裝了SQL Server 2008和2012(太多信息了?對不起,我非常絕望)。首先我不知道我的連接字符串是正確的還是正確的形式。這是我的連接字符串:Connectionstring:它是正確的形式嗎?

con.ConnectionString = "Data Source=(local); Initial Catalog=Library;Integrated Security=True"; 

所以,請幫我糾正,當這個代碼在Visual Studio 2012上運行它告訴我,「無法打開數據庫‘圖書館’登錄所請求的另一個問題是登錄失敗。」當我在SQL Server中的身份驗證是Windows身份驗證並且沒有任何登錄信息添加到數據庫時,會發生這種情況。是它的任何配置或它只是我的代碼是錯誤的?

在先進的感謝

+0

你可以嘗試使用'SqlConnectionStringBuilder' – Niewidzialny

+0

你有沒有嘗試設置'數據源='你的SQL Server 2008的服務器名稱例如像'演示-MY-DSK024 \ SQLEXPRESS'或一些東西,可以通過右鍵單擊服務器名稱和常規選項卡找到? –

+0

當您使用VS 2012時,應該很容易打開「查看 - >服務器資源管理器」,右鍵單擊「數據連接」 - >「添加連接」。以下對話框將幫助您連接。連接字符串可以通過「屬性」從新創建的連接複製(如果你需要的話) – Shnugo

回答

2

連接字符串應該是這樣的:

<connectionStrings>  
    <add name="ConnStringDb1" 
     connectionString="Data Source=localhost\SQLSERVER;Initial Catalog=Library;Integrated Security=True;" 
     providerName="System.Data.SqlClient" /> 
</connectionStrings> 
+0

謝謝你的回答,但我的連接字符串用於應用程序的窗口,並從那裏我知道C#代碼的代碼是在XAML語言,它可以在WPF中使用,如果我是正確的。所以請在C#中創建它,並將其應用到我的項目中,並希望它能夠正常工作。謝謝 – Nemi

+0

@Nemi - 這篇文章向你展示瞭如何在app/web配置文件中聲明連接字符串。有關更多信息,請參閱[在Web.config中存儲連接字符串](https://www.connectionstrings.com/store-connection-string-in-webconfig/)。 - 「將你的應用程序的連接字符串存儲在一個配置文件中而不是你的代碼中的硬編碼字符串是一個好習慣。」 – Corak

+0

@Corak更正,它是'app.config'而不是'web.config'。請在建議可能相對幫助OP的鏈接之前查看帖子標籤併發布內容,但也可能會混淆它們。 –

0

如果你打算使用獲取與安裝VS測試/本地數據庫,你正在尋找(localdb)\\mssqllocaldb

所以連接字符串會那麼:

Data Source=(localdb)\\mssqllocaldb; Initial Catalog=Library;Integrated Security=True 

您可以像其他答案一樣將其存儲在app.config中,否則可能取決於您正在使用的內容。

Initial Catalog在談論使用
Integrated Security將要創建的數據庫的名稱/意味着它將驗證到數據庫與當前的Windows用戶

你需要這兩點,才能連接到內置的localdb。

0

謝謝大家對所有的答覆,但我發現我在@Corak的答案回答,該網站是在註釋中。然而,這是我應該用我的字符串連接的代碼的適當形式:

@"Data Source=(LocalDB)\v11.0; AttachDbFileName=|DataDirectory|\Library.mdf; Integrated Security=True"; 

在我的情況下|DataDirectory|在我的電腦數據庫(爲Library.mdf)的路徑,如果任何人使用此代碼因爲如果你使用|DataDirectory|的代碼將運行,但沒有在數據庫中會發生(或至少對我來說,沒有工作),而不是|DataDirectory|寫路徑一樣的例子。這裏是例子:

@"Data Source=(LocalDB)\v11.0;AttachDbFileName=AttachDbFileName=C:\Users\John\Documents\Visual Studio 2012\Projects\MyDatabasProject\MyDatabasProject\Library.mdf; Integrated Security=True"; 

我的SQLServer是VS2012本地數據庫服務器V11.0,那就是我曾在我的代碼寫具體的事情。

希望這是有用的