1.Sql2005提示“該使用者與可信的SQL SERVER 串連無關聯”的解決辦法
問題: 使用sa使用者或自建使用者使用“SQL SERVER 身份認證”串連資料庫引擎時報錯:“該使用者與可信的SQL SERVER 串連無關聯” 解決方案: 1、在資料庫執行個體上單擊滑鼠右鍵,選擇“屬性”; 2、在彈出的“伺服器屬性”視窗中,選擇“安全性”; 3、在伺服器身份認證模式中,選擇“SQL SERVER 和Windows身分識別驗證模式” 4、重新啟動資料庫。 作者:sqlserver
2.資料庫連接不上的問題Server等於localhost、127.0.0.1、(local)都不行,但換成SQL Server登入時給的伺服器名稱就行了,如 AE5EC3E392D24E2\\SQLEXPRESS3..NET SQL Server連接字串文法
資料庫的串連性已經發展成為應用程式開發的一個標準方面。資料庫連接字串現在已經成為每個項目的標準必備條件。我發現自己為了找到所需要的句法,經常要從另外一個應用程式中複製連接字串或者進行一次搜尋。這個在與SQL Server互動操作時更是如此,因為它有太多的連接字串選項。現在就讓我們來研究一下連接字串的眾多方面。
連接字串
在對象執行個體化或者建立期間,資料庫連接字串通過屬性或方法被傳遞到必要的對象。連接字串的格式是一個以分號為界,劃分鍵/值參數對的列表。列表A中包括了一個C#中的例子,說明了怎樣用建立SqlConnection對象的方法串連到SQL Server(實際的連接字串是通過對象的ConnectionString屬性分配的)。列表B中包括的是VB.NET的版本。
引用內容:
string cString = "Data Source=server;Initial Catalog=db;User ID=test;Password=test;";
SqlConnectionconn = new SqlConnection();
conn.ConnectionString = cString;
conn.Open();
引用內容:
Dim cString As String
cString = "Data Source=server;Initial Catalog=db;User ID=test;Password=test;"
Dim conn As SqlConnection = New SqlConnection()
conn.ConnectionString = cString
conn.Open()
連接字串會指定資料庫伺服器和資料庫,以及訪問資料庫必需的使用者名稱和密碼。但是這種格式並不是對所有資料庫互動都適用,它的確有許多可用的選項,其中很多選項都有同義字。和Data Source(資料來源)、Initial Catalog(初始編目)、User ID(使用者ID)、和Password(密碼)等元素一起,下面這些選項都是可用的:
* Application Name(應用程式名稱):應用程式的名稱。如果沒有被指定的話,它的值為.NET SqlClient Data Provider(資料提供者).
* AttachDBFilename/extended properties(擴充屬性)/Initial File Name(初始檔案名稱):可串連資料庫的主要檔案的名稱,包括完整路徑名稱。資料庫名稱必須用關鍵字資料庫指定。
* Connect Timeout(連線逾時)/Connection Timeout(連線逾時):一個到伺服器的串連在終止之前等待的時間長度(以秒計),預設值為15。
* Connection Lifetime(串連存留時間):當一個串連被返回到串連池時,它的建立時間會與目前時間進行對比。如果這個時間跨度超過了串連的有效期間的話,串連就被取消。其預設值為0。
* Connection Reset(串連重設):表示一個串連在從串連池中被移除時是否被重設。一個偽的有效在獲得一個串連的時候就無需再進行一個額外的伺服器來回運作,其預設值為真。
* Current Language(當前語言):SQL Server語言記錄的名稱。
* Data Source(資料來源)/Server(伺服器)/Address(地址)/Addr(地址)/Network Address(網路地址):SQL Server執行個體的名稱或網路地址。
* Encrypt(加密):當值為真時,如果伺服器安裝了授權認證,SQL Server就會對所有在客戶和伺服器之間傳輸的資料使用SSL加密。被接受的值有true(真)、false(偽)、yes(是)和no(否)。
* Enlist(登記):表示串連池程式是否會自動登記建立線程的當前事務語境中的串連,其預設值為真。
* Database(資料庫)/Initial Catalog(初始編目):資料庫的名稱。
[b]* Integrated Security(整合安全)/Trusted Connection(受信串連):表示Windows認證是否被用來串連資料庫。它可以被設定成真、偽或者是和真對等的sspi,其預設值為偽。
* Max Pool Size(串連池的最大容量):串連池允許的串連數的最大值,其預設值為100。
* Min Pool Size(串連池的最小容量):串連池允許的串連數的最小值,其預設值為0。
* Network Library(網路程式庫)/Net(網路):用來建立到一個SQL Server執行個體的串連的網路程式庫。支援的值包括: dbnmpntw (Named Pipes)、dbmsrpcn (Multiprotocol/RPC)、dbmsvinn(Banyan Vines)、dbmsspxn (IPX/SPX)和dbmssocn (TCP/IP)。協議的動態連結程式庫必須被安裝到適當的串連,其預設值為TCP/IP。
* Packet Size(資料包大小):用來和資料庫通訊的網路資料包的大小。其預設值為8192。
* Password(密碼)/Pwd:與帳戶名稱相對應的密碼。
* Persist Security Info(保持安全資訊):用來確定一旦串連建立了以後安全資訊是否可用。如果值為真的話,說明像使用者名稱和密碼這樣對安全性比較敏感的資料可用,而如果值為偽則不可用。重設連接字串將重新設定包括密碼在內的所有連接字串的值。其預設值為偽。
* Pooling(池):確定是否使用串連池。如果值為真的話,串連就要從適當的串連池中獲得,或者,如果需要的話,串連將被建立,然後被加入合適的串連池中。其預設值為真。
* User ID(使用者ID):用來登陸資料庫的帳戶名稱。
* Workstation ID(工作站ID):串連到SQL Server的工作站的名稱。其預設值為本機電腦的名稱。
下面的連接字串用一個受信串連和指定的登陸認證(不及管理員密碼空缺安全),在Test\Dev1伺服器上與Northwind資料庫建立串連:
引用內容:
Server=Test\Dev1;Database=Northwind;User ID=sa;
Password=;Trusted_Connection=True;
下一個連接字串使用了TCIP/IP 和一個指定的IP地址:
引用內容:
Data Source=192.162.1.100,1433;Network Library=DBMSSOCN;
Initial Catalog=Northwind;User ID=sa;Password=;
所使用的選項可以很容易地包括在連接字串中,但是它們還是取決於你的應用程式和它的要求。知道什麼是可用的是很有好處的,這樣你就可以恰當地使用它。
使用ADO.NET 2.0
ADO.NET 2.0為每一個.NET架構的資料提供者引進了新的連接字串產生器。關鍵詞作為屬性被列出,使得連接字串句法在提交到資料來源之前就生效。也還有新的類可以使連接字串在設定檔中的儲存和檢索變得簡單,並且用受保護的方式將它們加密。
或多或少,正是你需要的。
通過.NET應用程式串連到SQL Server為特定的串連參數和其他選項提供了多種選擇。它可以像指定資料庫、伺服器和登入憑據那樣簡單,也可能像設定緩衝串連池和安全選項一樣複雜。 ADO.NET 2.0的確通過資料庫類使得連接字串選項具有了更大的靈活性。你只需使用應用程式所需要的選項,不必理會其他的。而且,如果你發現自己身陷困境,記不得連接字串句法了,可以查閱以下網址ConnectionStrings.com