SQL Server2005數(shù)據(jù)庫(kù)連接中易出現(xiàn)的錯(cuò)誤列舉
以下的文章主要向大家講述的是在SQL Server2005數(shù)據(jù)庫(kù)連接中經(jīng)常出現(xiàn)的一些問(wèn)題的解決,以及對(duì)實(shí)際操作中的第12步單擊“測(cè)試連接”中出現(xiàn)的問(wèn)題的糾正,以下就是文章的主要內(nèi)容的描述。
主要過(guò)程:
1.在 Visual Web Developer 中,切換到“設(shè)計(jì)”視圖中。
2.從“工具箱”的“數(shù)據(jù)”文件夾中,將 GridView 控件拖動(dòng)到頁(yè)面上。
3.如果未顯示“GridView 任務(wù)”快捷菜單,則右擊 GridView 控件,然后單擊“顯示智能標(biāo)記”。
4.在“GridView 任務(wù)”菜單上的“選擇數(shù)據(jù)源”列表中,單擊“<新建數(shù)據(jù)源>”。
出現(xiàn)“數(shù)據(jù)源配置”對(duì)話(huà)框。
5.單擊“數(shù)據(jù)庫(kù)”。
這將指定您要從支持 SQL 語(yǔ)句的數(shù)據(jù)庫(kù)中獲取數(shù)據(jù)。此類(lèi)數(shù)據(jù)庫(kù)包括 SQL Server 和其他與 OLE-DB 兼容的數(shù)據(jù)庫(kù)。
在“為數(shù)據(jù)源指定 ID”框中,將顯示默認(rèn)的數(shù)據(jù)源控件名稱(chēng)(“SqlDataSource1”)??梢员A舸嗣Q(chēng)。
6.單擊“確定”。
7.隨即會(huì)顯示“配置數(shù)據(jù)源”向?qū)?,其中顯示了一個(gè)可在其中選擇連接的頁(yè)面。
單擊“新建連接”。
8.在“選擇數(shù)據(jù)源”對(duì)話(huà)框的“數(shù)據(jù)源”下,單擊“Microsoft SQL Server”,然后單擊“繼續(xù)”。
即出現(xiàn)“添加連接”對(duì)話(huà)框。
9.在“服務(wù)器名”框中,輸入要使用的 SQL Server 的名稱(chēng)。
10.在登錄憑據(jù)中,選擇可用于訪(fǎng)問(wèn) SQL Server 數(shù)據(jù)庫(kù)的選項(xiàng)(集成安全性或特定的 ID 和密碼),并在需要時(shí)輸入一個(gè)用戶(hù)名和密碼。
11.單擊“選擇或輸入數(shù)據(jù)庫(kù)名”,然后輸入“Northwind”。
12.單擊“測(cè)試連接”,并在確定該連接生效后單擊“確定”。
隨即會(huì)顯示“配置數(shù)據(jù)源 - <DataSourceName>”向?qū)?,其中填充了連接信息。
……
就是第12步單擊“測(cè)試連接”出了問(wèn)題,提示錯(cuò)誤:
在建立與服務(wù)器的連接時(shí)出錯(cuò)。在連接到 SQL Server 2005 時(shí),在默認(rèn)的設(shè)置下 SQL Server 不允許進(jìn)行遠(yuǎn)程連接可能會(huì)導(dǎo)致此失敗。 (provider: 命名管道提供程序, error: 40 - 無(wú)法打開(kāi)到 SQL Server 的連接)
這個(gè)問(wèn)題以前也遇到過(guò),解決了,可是不知道為什么又出來(lái)。
解決方法如下:
1.服務(wù)器如果開(kāi)了防火墻,把它關(guān)閉
2. 開(kāi)啟sql2005遠(yuǎn)程連接功能,開(kāi)啟辦法如下,
配置工具->sql server外圍應(yīng)用配置器->服務(wù)和連接的外圍應(yīng)用配置器->打開(kāi)MSSQLSERVER節(jié)點(diǎn)下的Database Engine 節(jié)點(diǎn),先擇"遠(yuǎn)程連接",接下建議選擇"同時(shí)使用TCP/IP和named pipes",確定后,重啟數(shù)據(jù)庫(kù)服務(wù)就可以了.
3.登陸設(shè)置改為,Sql server and windows Authentication方式同時(shí)選中,具體設(shè)置如下:
Management Studio管理器->windows Authentication(第一次用windows方式進(jìn)去),->對(duì)象資源管理器中選擇你的數(shù)據(jù)服務(wù)器--右鍵>屬性>security>Sql server and windows Authentication方式同時(shí)選中.
4.設(shè)置一個(gè)Sql server方式的用戶(hù)名和密碼,具體設(shè)置如下:
Management Studio管理器->windows Authentication>new query>sp_password null,'sa123456','sa'
這樣就設(shè)置了一個(gè)用戶(hù)名為sa ,密碼為:sa123456的用戶(hù),下次在登陸時(shí),可以用Sql server方式,
用戶(hù)名為sa ,密碼為:sa123456的用戶(hù)進(jìn)數(shù)據(jù)庫(kù)了.
5.做完上面三步后,這樣寫(xiě)連接字符串就可以順利進(jìn)入數(shù)據(jù)庫(kù)了,
(server=.\sqlexpress;uid=sa;pwd=sa123456;database=master");
后來(lái)用這個(gè)管理器才發(fā)現(xiàn),正確的Server名是這樣的,機(jī)器名SQLEXPRESS而不是LOCALHOST,127.0.0.1,FANCYBOY(機(jī)器名)比如我的是這樣的
Server:FANCYBOYSQLEXPRESS
原來(lái)的是:Server=localhost;database=user;uid=sa;pwd=''
現(xiàn)在的是:Server=.\SQLEXPRESS;database=user;uid=sa;pwd=''
還找到了另外一個(gè)可能的解決方法:
1.打開(kāi)IIS屬性-》虛擬目錄屬性-》選Net 2.0-》點(diǎn)‘編輯配置’-》刪除所有連接SQlexpress的項(xiàng)
當(dāng)然,最好連全局的配置也刪除,
2.打開(kāi)IIS屬性-》站點(diǎn)屬性-》選Net 2.0-》點(diǎn)‘編輯全局配置’
-》刪除所有連接SQlexpress的項(xiàng).