1 用ODBC 的訪問接口
一、安裝sybase客戶端
版本:Sybase Client
1)安裝完成后,運行開始->程序->sybase->Dsedit
2)選擇菜單的'Server Object',-> 'Add' 輸入服務名 比如 sybase
3)然后在Server列表中選擇'sybase',雙擊右邊的對話框server address欄,在Network Address Attribute對話框中 選擇add 填入ip地址,比如192.168.1.1,4300,ok 確定
4)選擇工具欄的Ping Server按鈕測試是否能連通服務器 (紅色的類似閃電的按鈕)
二、在ODBC中建立DSN
管理工具->數(shù)據(jù)源ODBC
新建一個系統(tǒng)DSN,名稱設為 sybase
在創(chuàng)建新數(shù)據(jù)源對話框中選擇'Sybase System11'數(shù)據(jù)源驅動程序,General屬性的DSN datasouce name: 填入 sybase
database:填入sybase數(shù)據(jù)庫名
確定保存
三、建立鏈接服務器
企業(yè)管理器->安全性->建鏈接服務器->新建鏈接服務器
1)常規(guī)標簽欄目中
名稱sybase,服務器類型選其他數(shù)據(jù)源,在提供程序的名稱中選擇Microsoft OLE DB Provider FOR ODBC,數(shù)據(jù)源:填入DSN名字 sybase
2)安全性欄目中
本地登陸填入sa
遠程用戶和遠程密碼填入sybase的用戶名和密碼
3)使用此安全上下文建立連接
遠程登陸 輸入sybase的用戶名和密碼
使用密碼 輸入密碼
確定保存
四、用sa身份登陸查詢分析器
執(zhí)行以下sql語句就能查出sybase數(shù)據(jù)
select * from 鏈接服務器名(本例子為sybase).sybase的數(shù)據(jù)庫名.dbo.sybase的表名
注意:如果在執(zhí)行查詢時發(fā)現(xiàn)這個問題: 鏈接服務器 "sybase" 的 OLE DB 訪問接口 "MSDASQL" 為列提供的元數(shù)據(jù)不一致。
1.在SQL Server2005服務器上安裝Sybase的驅動,安裝界面如圖:
此主題相關圖片如下:1.bmp
2.一直下一步后,到選擇安裝方式,我們選擇自定義安裝,在安裝選項中一定要勾中ASE Data Providers,這就是我們需要的驅動,其他的可選可不選,為了方便測試和管理,其他的選中也沒有關系。
此主題相關圖片如下:2.bmp
3.安裝完成后在開始菜單中將出現(xiàn)如下的菜單:
此主題相關圖片如下:3.bmp
4.點擊OLE DB Provider下的Configuation Manager,界面如圖:
此主題相關圖片如下:4.bmp
5.在Data Sources 上右擊,選擇New Data Source,在彈出的對話框中輸入DataSourceName,比如SybaseTest。
此主題相關圖片如下:5.bmp
6.單擊“SetUpDataSource”按鈕,系統(tǒng)將彈出鏈接Sybase數(shù)據(jù)庫的配置對話框,在該窗口中輸入Sybas服務器的IP,端口和數(shù)據(jù)庫,如圖:
此主題相關圖片如下:6.bmp
7.單擊“Test Connect”按鈕,系統(tǒng)將彈出測試鏈接窗口,在該窗口中輸入用戶名密碼然后單擊“Connect”按鈕,如果鏈接成功,將顯示Success,說明我們的配置沒有問題。
此主題相關圖片如下:7.bmp
8.單擊“確定”按鈕,系統(tǒng)回到Configration Manager窗口。如下圖,關閉該窗口。
此主題相關圖片如下:8.bmp
9.重啟計算機,然后打開SSMS,在鏈接服務器上右擊,選擇“新建鏈接服務器”選項:
此主題相關圖片如下:9.bmp
10.在彈出的新建鏈接服務器窗口中輸入要新建的鏈接服務器的名稱,比如SYBASELINK,訪問接口選擇“Sybase ASE OLE DB Provider”,產(chǎn)品名稱就填Sybase嘛,數(shù)據(jù)源這個就是我們剛才建的SybaseTest。填寫好如圖:
11.在安全性選項卡中,輸入登錄Sybase數(shù)據(jù)庫的用戶名和密碼,然后單擊“確定”按鈕即可。如圖:
12 檢查接口選項.在服務器對象->鏈接服務器->訪問接口下,雙擊Sybase.ASEOLEDBProvider,查看"允許進程內(nèi)"是否是"啟用"的,如果沒有啟用,需要啟用這個連接.
這個時候我們的鏈接服務器就已經(jīng)創(chuàng)建完成了。我們可以運行SQL語句來讀取Sybase數(shù)據(jù)庫中的數(shù)據(jù)了,比如:
select * from SYBASELINK.cardcenter.dbo.VIPCARD