iT邦幫忙

0

請問如何在SQL Server 2005開一個View連到Sybase?

  • 分享至 

  • xImage

有客戶是使用Sybase, 是否可在SQL Server 2005開一個View連到Sybase?
在不影響客戶DB,以ADODB or Dot Net方式連此View.

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 個回答

12
steven6758
iT邦新手 5 級 ‧ 2009-07-20 08:27:31
最佳解答

設定連結伺服器 Sybase 資料庫伺服器

如果要設定連結伺服器 Sybase 資料庫伺服器時,請依照下列步驟執行]:

  1. 登入執行 SQL Server 的電腦。

  2. 安裝 [Sybase 用戶端電腦上的軟體。

  3. 若要連接 [Sybase 資料庫伺服器,請在電腦上安裝適當驅動程式。 您可以使用 Microsoft OLE DB Provider for ODBC 連接至 Sybase 的資料庫伺服器。

請注意 您也可以使用一個協力廠商的驅動程式或提供者連接到 Sybase 資料庫伺服器。 如果您使用協力廠商的驅動程式或提供者,您就必須連絡協力廠商的任何問題,會發生與驅動程式或提供者。

  1. 安裝 Sybase 用戶端軟體之後,重新啟動電腦。

  2. 確定您可以成功連線 Sybase 資料庫伺服器使用您在步驟 2 中所安裝的 Sybase 用戶端 」 軟體。

  3. 啟動 SQL Query Analyzer,然後執行下列 Transact-SQL 陳述式設定至 Sybase 資料庫伺服器連結伺服器。

請注意 這個指令碼會使用 Microsoft OLE DB Provider for ODBC Sybase 連接至 ODBC 驅動程式。 Sybase Linked Server Name、 Sybase System DSN、 User Name 和 Strong Password 和取代適當的連結伺服器名稱,系統 DSN,使用者的名稱,密碼。

-- Adding linked server:

exec sp_addlinkedserver @server = 'Sybase Linked Server Name' ,

@srvproduct = 'Sybase',

@provider = 'MSDASQL',

@datasrc = 'Sybase System DSN'

-- Adding linked server login:

sp_addlinkedsrvlogin @useself='false ', @rmtsrvname = 'Sybase Linked Server Name',

@rmtuser = 'User Name',

@rmtpassword = 'Strong Password'

  1. 若要確定連結的伺服器已正確設定,執行下列 Transact-SQL 陳述式:

EXEC sp_linkedservers

10
player
iT邦大師 1 級 ‧ 2009-07-17 11:54:51

1.在SQL Server裡設你的Link DB
以 MS-SQL to MS-SQL為例
http://www.player.idv.tw/prog/index.php/Link_DB_(MS-SQL)

請改
EXEC master.dbo.SP_ADDLINKEDSERVER
@server= N'REMOTE_SQL_1'
, @srvproduct= N''
, @provider= N'SQLNCLI'
, @datasrc= N'10.101.107.178'
, @CATALOG= N'MyDB';

@server 是你的DB Link的名稱(用於建View, select 時要指定的資料來源)
@provider 改成大概是 Sybase用的 N'Microsoft.Jet.OLEDB.4.0'
(你自己試, 如果不行的話, 你可能要找Sybase相關的 資料提供者來裝?)
@datasrc 改成你那台Sybase的ip
@CATALOG 改成你要連的預設Table

至於建View 類似大概這樣, OPENQUERY的第1個參數改成你的Link DB的名稱
Create VIEW [dbo].[v_Data_Dict]
AS
select * from OPENQUERY(REMOTE_SQL_1,
'SELECT * FROM data_dict')

rogerrhy iT邦新手 1 級 ‧ 2009-07-20 07:00:58 檢舉

謝謝您的回答, 我的問題就在provider的語法!

我要發表回答

立即登入回答