2014-05-15 197 views
0

我正在安裝一個開源工具,並且在定義數據庫設置時,我需要指定數據庫連接字符串。他們對於SQL Server Express的連接字符串提供了一個例子如下:SQL Server 2008 R2的連接字符串與SQL Server Express的對比

Database=roadkill;Server=.\SQLEXPRESS;uid=username;pwd=password; 

但由於我使用SQL Server 2008 R2,而不是SQL Server Express的,我怎麼能定義連接字符串我的SQL Server 2008 R2以同樣的方式?

感謝

編輯

我嘗試下面的連接字符串: -

Data Source=.\SQLExpress;Integrated Security=true; AttachDbFilename=C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\roadkill.mdf 

,但我得到了以下異常: -

System.Data.SqlClient.SqlException (0x80131904): A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, error: 26 - Error Locating Server/Instance Specified) 
    at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction) 
    at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose) 
    at System.Data.SqlClient.TdsParser.Connect(ServerInfo serverInfo, SqlInternalConnectionTds connHandler, Boolean ignoreSniOpenTimeout, Int64 timerExpire, Boolean encrypt, Boolean trustServerCert, Boolean integratedSecurity, Boolean withFailover) 
    at System.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin(ServerInfo serverInfo, String newPassword, SecureString newSecurePassword, Boolean ignoreSniOpenTimeout, TimeoutTimer timeout, Boolean withFailover) 
    at System.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover(ServerInfo serverInfo, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance, SqlConnectionString connectionOptions, SqlCredential credential, TimeoutTimer timeout) 
    at System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(TimeoutTimer timeout, SqlConnectionString connectionOptions, SqlCredential credential, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance) 
    at System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, SqlCredential credential, Object providerInfo, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance, SqlConnectionString userConnectionOptions) 
    at System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, DbConnectionPoolKey poolKey, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection, DbConnectionOptions userOptions) 
+4

這裏的[的ConnectionStrings-Я美](http://www.connectionstrings.com/)網站:-) – dasblinkenlight

+0

有一個Sql Server 2008 R2的快速版。他們是(或可以)是一個一樣的。 –

回答

3

連接字符串格式用於SQL Server和SQL Se rver Express是完全一樣的。在這兩種情況下,ServerData Source值必須是服務器和實例名稱。 「。\ SQLEXPRESS」僅表示本地機器上名爲「SQLEXPRESS」的實例。這是慣例,該實例名稱用於SQL Server Express,但不是必需的。您可以使用不同的名稱,或者可以將該名稱用於完整的SQL Server實例,儘管這會導致誤導。這只是一個識別標籤。在所有情況下,使用「ServerName \ InstanceName」作爲命名實例,而使用「ServerName」作爲默認實例。您可以使用 」。」或「(本地)」來引用本地機器。

+0

你能檢查我的編輯嗎? –

+0

該錯誤消息表明本地計算機上沒有名爲「SQLEXPRESS」的實例。 – jmcilhinney

+0

順便說一句,爲什麼你要附加一個文件,似乎在一個位置,表明它是,或應該是,已經永久連接? – jmcilhinney

1

這兩個版本的sqlserver沒有區別。服務器參數的sqlexpress只有寫作「.SQLEXPRESS」或說(LOCAL)兩種情況的區別。

數據庫= 「SQLEXPRESS」
或 數據庫= 「(本地)」

相關問題