用SQL Server訪問Sybase中的表的方法

來源:互聯網
上載者:User

問:SQL Server應該怎樣訪問Sybase資料庫的表? 

答:具體方法如下: 

1: 安裝Sybase用戶端 

版本的要求: 

Sybase Client 11.9.2 for NT 

1.1:安裝完成後,運行開始->程式->Sybase->Dsedit 

1.2:選擇菜單的'Server Object',-> 'Add' 輸入服務名 比如 1.70 

1.3:然後在Server列表中選擇'1.70',雙擊右邊的對話方塊server address欄,在Network Address Attribute對話方塊中 選擇add 填入ip地址,比如132.228.1.70,4300,ok 確定 

1.4:選擇工具列的Ping Server按鈕測試是否能連通伺服器 (紅色的類似閃電的按鈕) 

2:在ODBC中建立DSN> 


管理工具->資料來源ODBC 


建立一個系統DSN,名稱設為 1.70 


在建立新資料來源對話方塊中選擇'Sybase System11'資料來源驅動程式, 


General屬性的DSN datasouce name: 填入 1.70, 


database: 填入sybase資料庫名 


確定儲存 


3:建立連結的伺服器 



企業管理器->安全性->建連結的伺服器->建立連結的伺服器 


3.1:常規標籤欄目中 



名稱Sybase, 


伺服器類型選其他資料來源,在提供者的名稱中選擇 



Microsoft OLE DB Provider FOR ODBC


資料來源:填入DSN名字 1.70 



3.2:安全性欄目中 


本地登陸填入sa 


遠端使用者和遠程密碼填入sybase的使用者名稱和密碼 



3.3:使用此安全上下文建立串連 



遠程登陸 輸入sybase的使用者名稱和密碼 


使用密碼 輸入密碼 



確定儲存 



4: 用sa身份登陸查詢分析器 



執行以下sql語句就能查出sybase資料 

select * from 連結的伺服器名(本例子為sybase).sybase的資料庫名.dbo.sybase的表名 

注: 如果在執行查詢時發現這個問題: 連結的伺服器 "sybase" 的 OLE DB 提供者 "MSDASQL" 為列提供的中繼資料不一致。 

解決方案:: 不要直接用下面這種語句 


select * from sybase.dbname.dbo.tablename


只需要換個語句,就能解決問題。具體語句如下: 



select * from openquery(sybase,'select * from dbname.dbo.tablename ') 


相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.