[ Database ] [ Sybase ] [ SQLServer ] sybase 與SQL Server的界接方式

目前我們有個專案Server A安裝了 SQL Server 2012,有個需求需要連線到另外一台Server B上的 Sybase 12.5的view,

先前試過了很多方法都無法連通。主要的原因是因為SQL Server 2012 是只有 64bit 版本,

Sybase 12.5 的所有的driver ( ODBC, OLEDB 等) 都只有32 bit 的版本,所以就算Test connection 連線到測通了了,

也會有後續一堆很奇怪的Exception。

最後的解決方法如下:

1. 在Server B 上安裝SQL2005EXPRESS ( 沒有軟體授權費用的考量 ),透過同台Sever 32 bit 的ODBC連線去設定DB Link

文章參考:

如何在 SQL 2005 Express 中設定連結的伺服器(Linked Server)

http://blog.miniasp.com/post/2008/07/30/How-to-setup-Linked-Server-in-SQL-Server-2005.aspx

 

2. 在Server A 上的 SQL Server 2012 建立一個連線連回Server B 上安裝SQL2005EXPRESS

基本上,依照上述的步驟,就可以完成32bit與64bit的異質資料庫的界接,有個麻煩的一點是畢竟是異質資料庫,所以就算測通了,還是有很多奇奇怪怪的格式不符合的

Exception,就是只能Case by Case 解決了。

 

微軟的技術資源提供的相關資訊整理如下:

問題代號 :   113122311047185

問題說明 :   Prof/SQL2012/linked server cannot connect to Sybase Server

問題定義 :

1.SQL Server 2012

2.Windows 2012

3.Sybase 12.5 client

4.ODBC 32bit or 64bit 都有設定並測試成功

5.但是用Linked Server沒有選項可以選擇,連線到Sybase server

服務範圍 :

協助您解決linked server cannot connect to Sybase Server的問題

解決方式 :

[請您參考以下的說明]   

  1. 我們live meeting協助您測試sql server connect to Sybase server。

您的環境只有安裝Sybase Client 32bit,所以,在32bit ODBC 可以測試連線到Sybase Server,在64bit ODBC則無法連線到Sybase Server。

您必須取得x64的sybase client讓SQL Server linked server才能選擇得到Sybase provider

協助客戶測試用SSIS連線到Sybase Server,也是一直失敗,Research網路上成功的案例是必須使用Sybase Adaptive Server Enterprise Data Provider。

如果要使用SSIS,則請您取得Sybase Adaptive Server Enterprise Data Provider

 

  1. 相關SQL Server連接Sybase相關URL如下:

How to set up a linked server to a Sybase database server and troubleshoot problems that may occur

http://support.microsoft.com/kb/280102

OLE DB Connection Parameters

http://infocenter.sybase.com/help/index.jsp?topic=/com.sybase.infocenter.dc01776.1600/doc/html/san1357754884911.html

Sybase to SSIS connection error

http://stackoverflow.com/questions/15874040/sybase-to-ssis-connection-error

SSIS to Sybase OLEDB connection error [IM002]. [Native Code: 30136]

http://www.jasonyousef.com/2011/06/ssis-to-sybase-oledb-connection-error.html

 

  1. 另外提供您有關SSMA for Sybase相關資訊,以下網址與說明

可以透過這個Sybase ASE product media.來下載安裝Sybase相關Provider。

 

Migrating from Sybase ASE to SQL Server – How to use SSMA for Sybase

http://blogs.msdn.com/b/ssma/archive/2011/06/09/migrating-from-sybase-ase-to-sql-server-how-to-use-ssma-for-sybase.aspx

The SSMA client requires the Sybase OLEDB, ADO.Net, or ODBC provider to connect to your Sybase ASE database server.

. You can install these providers from the Sybase ASE product media.

 

  1. 最後再提供您一個作法,如果您目前找到的Sybase Provider可以正常使用在Windows 2008 R2加上SQL Server 2008 R2上,您也可以利用這台中間主機來轉資料,利用這台SQL Server 2008 R2上SSIS封裝連線到Sybase Server,定期將資料匯入到另一台SQL Server 2012(Windows 2012)上,這樣也可以達成您的目的。

 

最後您嘗試用在Sybase的同台機器使用SQL Express 的32 bit linked Server , 然後再用目的機器的SQL Server 2012連線至SQL Express 已解決連線問題,所以您同意close這個Case。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。