• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于SQL Server對(duì)Sybase數(shù)據(jù)庫(kù)的訪問

      2012-04-29 00:44:03劉江濤
      電腦知識(shí)與技術(shù) 2012年23期

      劉江濤

      摘要:文章介紹了基于SQL Server的鏈接服務(wù)器對(duì)Sybase數(shù)據(jù)庫(kù)的訪問,并結(jié)合具體應(yīng)用介紹了這種方法的實(shí)現(xiàn)過程。關(guān)鍵詞:SQL Server;鏈接服務(wù)器;Sybase

      中圖分類號(hào):TP311文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1009-3044(2012)23-5541-04

      SQL Server是由美國(guó)Microsoft公司開發(fā)的,是一個(gè)關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)。它最初是由Microsoft和Sybase與Ashton-Tate三家公司共同開發(fā)的,在1988年推出了第一個(gè)OS/2版本。后來,Microsoft專注于開發(fā)推廣SQL Server的Windows NT版本,并不斷地進(jìn)行版本更新,SQL Server已逐漸發(fā)展成為被用戶廣泛使用的四大數(shù)據(jù)庫(kù)管理系統(tǒng)之一,現(xiàn)在普遍使用的SQL Server數(shù)據(jù)庫(kù)的版本有:SQL Server 2000,SQL Server 2005,SQL Server 2008。

      筆者在開發(fā)公司的生產(chǎn)管理系統(tǒng)時(shí),是用Delphi6+ SQL Server 2000來實(shí)現(xiàn)的,系統(tǒng)已經(jīng)穩(wěn)定運(yùn)行了六年多。在此期間,根據(jù)用戶的需要進(jìn)行了不斷的完善和功能擴(kuò)充。隨著公司對(duì)系統(tǒng)整合的推進(jìn)和滿足生產(chǎn)管理的需要,公司的各個(gè)管理系統(tǒng)要進(jìn)行數(shù)據(jù)交換,實(shí)現(xiàn)數(shù)據(jù)共享。而其中的采購(gòu)管理系統(tǒng)的數(shù)據(jù)庫(kù)是Sybase數(shù)據(jù)庫(kù),如果要在前臺(tái)訪問需要安裝很多個(gè)Sybase客戶端,實(shí)現(xiàn)起來非常麻煩,如果能在服務(wù)器端進(jìn)行訪問,不需要改變用戶客戶端的配置來實(shí)現(xiàn)就是一個(gè)比較好的選擇。

      該文就是講述如何在SQL Server數(shù)據(jù)庫(kù)端來實(shí)現(xiàn)對(duì)Sybase數(shù)據(jù)庫(kù)訪問的方法,并以公司生產(chǎn)管理系統(tǒng)的具體應(yīng)用為例做了具體的闡述,對(duì)于廣大使用SQL Server進(jìn)行開發(fā)的人員具有一定的指導(dǎo)意義。

      1工作原理

      SQL Server對(duì)異構(gòu)數(shù)據(jù)庫(kù)的訪問是通過分布式查詢來實(shí)現(xiàn)的。SQL Server提供了鏈接服務(wù)器用于分布式查詢異構(gòu)數(shù)據(jù)庫(kù)。通過鏈接服務(wù)器可以鏈接到Oracle、Sybase、DB2、SQL Server等大型關(guān)系數(shù)據(jù)庫(kù),也可以連接到Access、Excel等文件數(shù)據(jù)庫(kù),甚至可以連接到目錄服務(wù)(AD)、索引服務(wù)等。要鏈接到一種數(shù)據(jù)庫(kù)需要使用相應(yīng)的接口。微軟為很多數(shù)據(jù)庫(kù)提供了驅(qū)動(dòng)接口,所以可以直接使用,但是對(duì)于沒有提供驅(qū)動(dòng)的數(shù)據(jù)庫(kù)比如Sybase,則需要結(jié)合使用開放式數(shù)據(jù)庫(kù)連接(ODBC)應(yīng)用編程接口(API)和Microsoft分布式事務(wù)協(xié)調(diào)器(MS DTC)來實(shí)現(xiàn)。

      2實(shí)現(xiàn)對(duì)Sybase數(shù)據(jù)庫(kù)的訪問

      如果要對(duì)Sybase數(shù)據(jù)庫(kù)的訪問,需要在每個(gè)訪問Sybase數(shù)據(jù)庫(kù)的用戶的計(jì)算機(jī)上安裝Sybase客戶端,如果用戶的使用量比較大的話,就給應(yīng)用程序的安裝、使用和維護(hù)帶來極大的不便。我們現(xiàn)在通過在SQL Server數(shù)據(jù)庫(kù)服務(wù)器上安裝Sybase客戶端,通過在SQL Server數(shù)據(jù)庫(kù)上創(chuàng)建鏈接服務(wù)器來實(shí)現(xiàn)從SQL Server到Sybase的訪問,原來的生產(chǎn)管理系統(tǒng)用戶的客戶端環(huán)境不需要作任何的改變。下面具體介紹實(shí)現(xiàn)的過程。

      2.1安裝Sybase客戶端

      在SQL Server數(shù)據(jù)庫(kù)服務(wù)器上安裝訪問Sybase的客戶端,配置連接Sybase數(shù)據(jù)庫(kù)服務(wù)器的連接參數(shù),并測(cè)試連接是否成功。

      圖2

      如上圖所示,首先在客戶端添加一個(gè)需要連接的Sybase數(shù)據(jù)庫(kù)服務(wù)器,然后設(shè)置此服務(wù)器的IP地址和端口號(hào),設(shè)置完成后通過Ping命令測(cè)試能否連接成功。

      2.2配置ODBC數(shù)據(jù)源

      在SQL Server數(shù)據(jù)庫(kù)服務(wù)器上打開【管理工具】【數(shù)據(jù)源(ODBC)】,配置ODBC數(shù)據(jù)源。在【用戶DSN】和【系統(tǒng)DSN】的標(biāo)簽上都可以進(jìn)行添加,可根據(jù)具體的連接情況進(jìn)行測(cè)試選擇。如果在驅(qū)動(dòng)程序的選擇列表中,沒有出現(xiàn)“Sybase System 11”,則是因?yàn)樵赟y base客戶端安裝時(shí)沒有選擇“ODBC Driver”組件。

      圖3

      需要注意的是:在圖4的【Connection】標(biāo)簽頁的Charset處應(yīng)填上“cp850”,以免查詢返回的數(shù)據(jù)因?yàn)樽址牟黄ヅ涠霈F(xiàn)亂碼的情況。

      2.3建立鏈接服務(wù)器

      在SQL server企業(yè)管理器中,新建鏈接服務(wù)器,設(shè)置連接參數(shù),如圖5所示。設(shè)置完成后,在新建的鏈接服務(wù)器中單擊表或視圖,如果能正確顯示表名或視圖名,則鏈接服務(wù)器配置成功。

      圖5

      2.4實(shí)現(xiàn)對(duì)Sybase數(shù)據(jù)庫(kù)的查詢

      鏈接服務(wù)器創(chuàng)建好后,可以通過OPENQUERY()函數(shù)來實(shí)現(xiàn)對(duì)Sybase數(shù)據(jù)庫(kù)的訪問。OPENQUERY()函數(shù)的使用就是在指定的鏈接服務(wù)器上執(zhí)行的一個(gè)直接傳遞查詢,就像在查詢的FORM字句中引用表名那樣引用。依據(jù)OLE DB提供程序的能力,還可以將OPENQUERY()函數(shù)引用為INSERT、UPDATE或DELETE語句的目標(biāo)表。

      使用語法:OPENQUERY ( linked_server ,query )

      參數(shù)釋義:linked_server,一個(gè)標(biāo)識(shí)符,表示鏈接服務(wù)器的名稱。query在鏈接服務(wù)器中執(zhí)行的查詢字符串,根據(jù)訪問數(shù)據(jù)庫(kù)的類型,采用所訪問數(shù)據(jù)庫(kù)的語法規(guī)則。

      使用示例:如圖6所示,在SQL查詢分析器中,執(zhí)行如下語句,返回所需的Sybase數(shù)據(jù)庫(kù)中的數(shù)據(jù)。需要注意的是:不同的數(shù)據(jù)庫(kù)對(duì)應(yīng)的SQL語言是有所不同的,單引號(hào)紅色部分的語句需要遵循Sybase數(shù)據(jù)庫(kù)查詢的語法規(guī)則。如要通過Delphi在前臺(tái)實(shí)現(xiàn)查詢,需要注意使用多重引號(hào)。

      3結(jié)束語

      通過在SQL server數(shù)據(jù)庫(kù)端,建立鏈接服務(wù)器,實(shí)現(xiàn)對(duì)Sybase數(shù)據(jù)庫(kù)的訪問,大大簡(jiǎn)化了數(shù)據(jù)共享和數(shù)據(jù)交換的過程,方便了用戶的使用,增強(qiáng)了數(shù)據(jù)庫(kù)的安全性,極大地提高了數(shù)據(jù)管理的效率。

      參考文獻(xiàn):

      [1] (美)Microsoft Corporation.SQL Server2000數(shù)據(jù)庫(kù)開發(fā)手冊(cè)[M].北京:科學(xué)出版社,2001.

      [2] (美)Mike Gunderloy,Joseph L.Jorden. SQL Server2000從入門到精通[M].邱仲潘,譯.北京:電子工業(yè)出版社,2001.

      [3]閻曉青.Sybase Open Client應(yīng)用開發(fā)指南[M].北京:中國(guó)水利水電出版社,1997.

      富锦市| 永顺县| 怀柔区| 吉首市| 溧阳市| 抚远县| 安达市| 泸溪县| 阿拉善左旗| 崇阳县| 徐汇区| 修水县| 奎屯市| 曲麻莱县| 宜黄县| 尖扎县| 柳河县| 怀集县| 清徐县| 应城市| 宕昌县| 淳安县| 益阳市| 平利县| 苏尼特右旗| 青神县| 玉溪市| 高台县| 朝阳区| 武乡县| 霍邱县| 中山市| 井研县| 高清| 和平区| 嘉义县| 吉木萨尔县| 乌苏市| 岫岩| 边坝县| 宁远县|