iT邦幫忙

0

執行WEB時,出現 "開啟資料失敗"之錯誤訊息!

開啟WEB網頁時,出現如下錯誤訊息!
開啟資料庫失敗!!
[Microsoft][ODBC SQL Server Driver][Named Pipes]拒絕存取
請問是WINDOWS SERVER 2008的設定那邊出問題?還是SQL 2008那邊出問題?

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
4
賽門
iT邦超人 1 級 ‧ 2011-09-09 16:47:05
最佳解答

SQL Server 2008開始, Named Pipe預設是已停用的狀態. 會停用是因為TCP/IP協定比較常用, 也因為不安全了.

請版大到SQL Server Configuration Manager(組態管理員)中, SQL Server網路組態下的SQL Server通訊協定中, 把Named Pipe(命名管道)設定為'已啟用'.

設定好後把SQL Server服務重新啟動.

如果是已啟用的狀態, 還是發生相同問題, 這是因為IIS的驗證設定...

請先確定資料庫登入模式與ASP中呼叫的ODBC設定的驗證模式是否相同, 如果是SQL Server登入模式, 請確定帳密是正確的.

如果是Windows驗證模式, 因為SQL Server2008開始預設不再配合AD的自動驗證, 要自己去設定KERBEROS驗證...這有些技術細節要詳談, 最簡單的方法是把會要登入SQL Server資料庫的帳號加進資料庫安全性下的使用者中, 給予適當的權限, 當然帳密要和ASP的ODBC登入資訊一樣. 這樣說, 你應該瞭解, 如果是用ODBC, 連線設定也要跟著調整.

10
liurambo0911
iT邦高手 1 級 ‧ 2011-09-06 15:11:08

dindon87提到:
拒絕存取

檢查SQL的開啟帳號有無權限

10
ytung
iT邦新手 5 級 ‧ 2011-09-06 16:15:15

檢查一下你的程式是不是以命名通道連線方式,如果不是當可能的連線方式都沒有時,連線就會以NamedPipes來嘗試做連線

試著在WEB主機上新增ODBC,然後在用戶端設定中選則TCPIP或你程式連線的方式,這樣當你的ODBC連線成功,應該就可以了

dindon87 iT邦新手 5 級 ‧ 2011-09-09 16:03:52 檢舉

各位大大:
上面兩種方式都檢查過了,都沒問題!
可是還是出現同樣的錯誤!

我要發表回答

立即登入回答