程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SyBase數據庫 >> SyBase綜合文章 >> SYBASE OmniSQL Gataway

SYBASE OmniSQL Gataway

編輯:SyBase綜合文章

企業信息系統往往由於最終用戶需求的階段性和部門信息系統的獨立性,造成了硬件平台、數據庫和網絡的異構,從而使企業范圍內的數據存取、管理和應用開發遇到了困難。SybasemniSQLGataway 是目前唯一實現在異構分布環境中完全透明的互操作能力的新一代數據庫網關提供在不同的SQL語言、不同廠商的數據庫和數據存儲位置之間完全透明的數據集成環境。該產品至少在以下幾點會讓最終用戶和應用程序員倍感方便:

  • 用戶不必知道要查詢或修改的數據的位置;

  • 一條查詢可以獲得多個異構數據源的數據;

  • 全企業以標准T-SQL語言或工具訪問各種數據,目前已有幾百個前台工具支持T-SQL語言;

  • 程序員不需要在應用中編寫特殊代碼,對不同類型、不同位置的數據源進行組合;

  • 可以定義全局存儲過程,訪問不同數據源的數據;

  • 支持異構數據之間的鏈接操作。

  目前OmniSQL Gataway 可訪問數據源包括:

  SQL Server, ORASLE, DB2, RMS, INFORMIX, INGRES, RDB,Teradata , MS SQL Server, Tanden Nonstop SQL, TurtoImage, Unisys, …

  OmniSQL Gataway 可分為:OmniSQL Server 和OmniSQL AccessModule 兩部分。以IBM RS6000 上 的OmniSQL Server 為例,介紹OmniSQL Server 的安裝及與其它數據源連接的定義:

目錄結構

  當OmniSQL 從磁帶Load 到磁盤後,將在$Sybase目錄下形成下列目錄和文件:bin, charsets, install,interfaces ,locales ,sample 和Omni。在Omni 目錄下又有scripts,link 目錄(OmniSQL Server與SQL Server 可共用$Sybase目錄及子目錄)

初始化OmniSQL Server

  作為一個Server至少需要8M內存和10M磁盤空間。與其它SQLServer 一樣需要interfaces 文件中的定義和 “path=$Sybase/bin $ path”的壞境三數的設置行Omnibuild 程序生成master 、model 和tempdb 數據庫(目錄);運行Omniserv 啟動OmniSQL Server ;用isql 執行$Sybase/Omni 、scripts目錄下的installmaster 、 instal完成以上步驟後,OmniSQL Server已經可以使用了,你可以象使用SQServer一樣,login 到OmniSQL Server上去作任何T-SQL操作。

  這裡要指出的是由於OmniSQLServer是基於ISAM數據結構,所以建庫的語句中將不必指定數據庫的尺寸。

與SQL Server連接:

  model等isql批處理過程,生成master 、model數據字典表和存貯過程;OmniSQL Server與SQL Server的連接十分簡單:假設OmniSQL Server 在interfaces 中的名字為OMNI ,SQL Server 在interfaces 中的名字為Sybase 10。則操作如下:

isql -Usa -P -SOMNI
>exec sp_addserver OMNI ,

load
>go
>exec sp_addserver Sybase 10
>go
>exec sp_servertype SYBASE 10, sql_server, oclIEnt, "Sybase 10"
>go
>exec sp_addexternlogin Sybase 10, sa, sa, NULL
>go
>use master
>go
>checkpoint
>go

  完成上述操作後,對於SQL Server的連接定義就已經完成,你可以在用isql使用OmniSQlServer 時用connect to Sybase10去登錄上SYBAS10上操作。disconnect 將使你又返回OmniSQL Server。

在OmniSQl Server上存取SQL Server上的表中的數據。

  假設:在Sybase 10上的puts2中有publisher表,在OMNI中,建有一S10的數據庫。首先要用defgen生成在OMNI的S10中建對應於Sybase10 的pubs2 中的publisher 表的定義文件(假設為pub.sql):

defgen -Usa -P -SOMNI -DS10 -sSybase 10 -d pubs2 -ndbo -F pub.sql"dbo.publisher"

生 成 pub.sql 後

isql -Usa -P -Somni

  完成上述步驟後,就可以在登錄到OMNI後,通過對S10中publisher的操作,實現對Sybase 10中pubs2 的publisher的數據存取。

與Oracle 連 接

  首先設置如環境變量Oracle_HOME;然後,cd $Sybase/Omni/link;

  根據所要連接的ORACLE的版本,作: make Oracle 6或mak oralce7;

  最後,將所生成的Omnisev 拷貝到$ Sybase/bin/omniserv;用新的omniserv 啟動OmniSQL Server 。

  在OMNI上增加server 類型:

  sp_servertype ORALCE, Oracle, native, "@ T:maple :oratest"

  最後一項為Oracle 數據庫的SQL *Net地址定義

  注:用戶必須要有OmniSQl Access Module for Oracle 才能完成上述操作。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved