程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> .NET實例教程 >> 關於遠程連接數據庫(Distributed Qeury)

關於遠程連接數據庫(Distributed Qeury)

編輯:.NET實例教程
c

關於遠程連接數據庫(Distributed Qeury)

[ 來源:ASP.Net教程 |

OPENDATASOURCE('SQLOLEDB','DataSource=192.168.1.201;Initial Catalog=DBName;user id=sa;passWord=sa').DBName.dbo.TableName

上面的語句執行會出現以下錯誤:

Msg 18456, Level 14, State 1, Line 1 用戶 'sa' 登錄失敗。 Msg 4060, Level 11, State 1, Line 1 無法打開登錄所請求的數據庫 "bbage_GameInisde"。登錄失敗。

因為OPENDATASOURCE後面已經跟了數據庫的名字(DBName),所以連接字符串中不能指定Initial Catalog。

正確的語句如下:

SELECT   * FROM      OPENDATASOURCE(          'SQLOLEDB',          'Data Source=192.168.1.201;User ID=sa;PassWord=sa'          ).DBName.dbo.TableName

注意:上面灰色的字均為個人需要配置的東西。

執行該語句,可能會遇到以下問題:

SQL Server 阻止了對組件 'Ad Hoc Distributed QuerIEs' 的 STATEMENT'OpenRowset/OpenDatasource' 的訪問,因為此組件已作為此服務器安全配置的一部分而被關閉。系統管理員可以通過使用 sp_configure 啟用 'Ad Hoc Distributed Queries'。有關啟用 'Ad Hoc Distributed QuerIEs' 的詳細信息,請參閱 SQL Server 聯機叢書中的 "外圍應用配置器"。

只要執行下列語句:

EXEC sp_configure ''Ad Hoc Distributed QuerIEs'' 1

RECONFIGURE  

如果你沒有設置過服務器配置,可能會出現以下錯誤:

配置選項 'Ad Hoc Distributed QuerIEs' 不存在,也可能是高級選項。

這時,你就需要打開高級配置:

EXEC sp_configure 'show advanced option' 1

RECONFIGURE  

總的操作就按照上面逆序執行即可:

EXEC sp_configure 'show advanced option' 1

RECONFIGURE

EXEC sp_configure 'Ad Hoc Distributed QuerIEs' 1

RECONFIGURE

注意:上面的RECONFIGURE是用以動態更新選項的操作,如果不執行,則sp_configure的執行結果不會被保持。

另外,對於SQLExpression 2005,則需要執行:

EXEC sp_configure 'user instance enabled' 1

RECONFIGURE

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved