2010年8月9日 星期一

Informix Linked Server假象

同事在SSMS2005 (9.0.4053 SP3)建立一個linked server的連線到informix
安裝的ODBC版本是IBM Informix Client-SDK 3.5
ODBC的環境設置及測試連線都OK,
但在SQL SERVER LINKED SERVER上新增一個設定後,通常我們都會點開catalog目錄,看一下是不是設定成功吧......
結果,一點選catalog目錄,卻彈出下列訊息..

TITLE: Microsoft SQL Server Management Studio

------------------------------
Failed to retrieve data for this request. (Microsoft.SqlServer.SmoEnum)
For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&LinkId=20476
------------------------------
ADDITIONAL INFORMATION:
An exception occurred while executing a Transact-SQL statement or batch. (Microsoft.SqlServer.ConnectionInfo)
------------------------------
The OLE DB provider "SQL Server" for linked server "(null)" reported an error. One or more arguments were reported invalid by the provider.
Cannot obtain the schema rowset "DBSCHEMA_CATALOGS" for OLE DB provider "SQL Server" for linked server "(null)". The provider supports the interface, but returns a failure code when it is used. (Microsoft SQL Server, Error: 7399)
For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=09.00.4053&EvtSrc=MSSQLServer&EvtID=7399&LinkId=20476
------------------------------


很奇怪咧.....相同的ODBC及環境設定,在我的機器上卻是OK...

比較了二者的差異只在於,他是用SSMS 2005連結到SQL2005 DB SERVER來建LINKED SERVER, 而我則是在SSMS 2008連線到SQL2005 DB SERVER建立LINKED SERVER....
(我的本機同時安裝了2008 及2005,所以習慣以SSMS2008來開啟專案)

怪哉, 二者都是連到SQL2005 DB建立LINKED SERVER, SSMS版本不同會有差嗎?

試了一下, 改用SSMS2005 建立LINKED SERVER,
幹.........還真的是有差, 點開catalog時,也同樣發生了上面的錯誤訊息

突然間, 熊熊想到, 以前好像碰過這個問題, 雖然無法瀏覽catalog, 但實際上, 直接下一段openquery的查詢卻是OK的....

下一次,就別再被騙了....

2 則留言:

  1. Hi~~我剛好路過看到這篇,要實現SQL Linked server Informix,要裝Informix OLEDB Provider才行哦~~~祝您好運

    回覆刪除
  2. 謝謝O, Informix ODBC DRIVER當然是要裝, 只不過在SSMS2005設定 Linked server 時,要瀏覽物件有錯誤,但實際上直接下OPENQUERY是沒問題的

    回覆刪除

publish error allowDefinition='MachineToApplication'

一個老舊的aspx web form專案,調了一些功能建置成功,但進行部署時顯示以下錯誤。 在應用程式層級之外使用註冊為 allowDefinition='MachineToApplication' 的區段發生錯誤。錯誤的原因可能是虛擬目錄尚未在 IIS 中設定為...