出差少妇被按摩师玩弄了_久久精品亚洲一区二区三区画质_日韩高清在线观看_麻豆视传媒在线观看_凯蒂夫人在线播放_免费无码黄网站在线观看

當前位置:首頁 -> 焦點新聞

利用ODBC實現異種數據庫系統間數據交換

2005/1/7 12:08:43       
 
中國科學院成都計算機應用研究所CIMS實驗室 四川 鐘 勇
  本文闡述了如何應用ODBC技術實現多種數據庫系統間數據的共享和交換,舊信息系統數據的方便利用,單機系統和網絡系統數據的傳輸等。并以PowerBuilder 開發工具為例,描述了其實現技術、方法和實現過程,對管理信息系統的開發和實施都有較高的實用價值。

    1 前言
  由于開發環境和開發工具的不斷更新,用戶在實施新的管理系統同時,也毫無例外地面對一個事實,那就是舊系統的升級、新舊系統間數據的轉換與相互調用、單機用戶數據上網等。這一功能的好壞直接決定新系統實施的成敗,因為用戶是絕對不愿意將原有系統數據拋棄而重新為啟用新系統進行大量的初始信息的錄入,從某種意義上講,這一點比系統的先進性也許更為重要。
  為了實現這一重要功能,我們根據多年進行MIS和MRPII/ERP軟件設計開發和實施經驗,專門討論如何在先進的開發平臺PowerBuilder 5.0中,應用ODBC技術,進行諸如FoxPro、Sql Anywhere、Sybase等數據庫系統之間數據的存儲、轉換和調用,從應用系統角度實現多平臺數據的管理信息系統和異種數據庫環境管理信息系統的集成,從數據庫角度則實現從本地數據庫,遠程數據庫乃至數據倉庫的全面集成。
    2 有關ODBC
  ODBC即開放數據互連,隨著ODBC技術的產生,許多開發平臺如VB、PB都使用了該技術,擁有ODBC接口。ODBC實際上含一系列的驅動程序,應用程序通過調用ODBC所支持的函數,調用相應的驅動程序,實現對不同數據庫的訪問。
    3 在PowerBuilder 5.0中使用ODBC
  使用PowerBuilder平臺進行管理系統開發,它的可視化程度高,可以大大提高開發效率,當然其中大量涉及的就是庫、表的操作。如果系統設計采用C/S體系結構,數據庫位于服務器端。另一方面,在實際工作中還涉及使用本地數據庫SQL anywhere、原管理系統的數據庫(如FoxPro等)的數據與現有Sybase數據庫的聯接、數據交換等實際情況,因此ODBC的使用也顯得極其重要。
    3.1 配置ODBC
  如果在安裝PowerBuilder 5.0時,采用Customer安裝,此時可選擇ODBC ,即安裝了ODBC驅動程序,可以在PowerBuilder開發環境中,選擇ODBC的Create ODBC采單項,此時在配置界面上輸入以下內容:
  Database Name:DB-LOCAL
  User Id:DBA
  Password:sql(缺省)
  然后按OK按鈕,系統即建立了一個本地數據庫DB-LOCAL,通過Administration 或Sqlanywhere即可在本數據庫上建立多個數據庫表,如建立一個部門表BBM:
  drop table bbm;
  create table bbm(
    bm integer, //部門編碼
    mc varchar(20), //部門名稱
    fl varchar(2), //部門分類
    … …
    constrait pr-key-bbm(bm)
    );
    3.2 本地數據庫的聯接
  首先建立初始化文件local.ini,其內容為:
  [database]
  DBMS=ODBC
  Database=DB-LOCAL
  ServerName=
  Logid=DBA
  Logpassword=sql
  UserId=
  Userpass=
  Dbparm=Connectstring="DSN=DB-LOCAL"
  然后在應用(Application) 的腳本(Script)中寫入:
  sqlca.DBMS= ProfileString ("local.ini", "database", "dbms", "")
  sqlca.database= ProfileString ("local.ini", "database", "database", "")
  sqlca.userid= ProfileString ("local.ini", "database", "userid", "")
  sqlca.dbpass = ProfileString ("local.ini", "database", "dbpass", "")
  sqlca.logid = ProfileString ("local.ini", "database", "logid", "")
  sqlca.logpass = ProfileString ("local.ini", "database", "LogPassWord", "")
  sqlca.servername = ProfileString ("local.ini", "database", "servername", "")
  sqlca.dbparm = ProfileString ("local.ini", "database", "dbparm", "")
  connect;
  ... ...
    3.3 多個數據庫系統的數據調用和數據交換
  在本地數據的調用和轉換方法中,PowerBuilder提供了Pipline功能。另外,也可先通過建立一個與原數據庫表結構一致的表,用Import直接將指定數據文件(*.TXT、*.DBF等)的記錄轉入新的數據庫表,然后用一系列的SQL語句對新表進行處理,以適應新系統的需要,這對程序員來說,是很簡單和實用的,特別是在將原有管理系統數據倒入即將開始運行的新系統是很有用的。
  而對于用戶來說,通過編寫Script和設計友好的用戶界面也許更切合實際。
   程序設計實現異種數據庫直接數據交換
  例如,有兩個數據庫:本地庫DB-LOCAL、遠程Sybase數據庫DB-SYB,DB-LOCAL為3.2節建立的本地庫,其初始化文件為SYB.INI,按以下步驟可以建立兩庫之間的聯系:
  定義Transaction syb
  在application的Script中增加以下內容 :
  Syb=create transaction
  Syb.DBMS=Profilestring("SYB.INI","database","dbms","")
   ...
  connect using Syb;
   ...
  假設在兩個數據庫中均建立了表BBM,在編寫Script時,通過SQL語句對不同Transaction進行操作即可實現兩個BBM表間數的交換。
   通過中間文件實現異種數據庫數據交換
  這種方法對獨立運行的信息系統間傳遞數據非常實用(如單機運行的系統和網絡系統、單機系統和單機系統間)在使用PowerBuilder編程時,對使用Datawindow檢索出的數據,使用下述函數用文件形式存儲:
  dwcontrol.SaveAs ( filename, saveastype, colheading)
  釋義:
  dwcontrol:數據窗口名
  filename :存儲的文件名
  saveastype :文件類型,為Text!,HTML!,EXCEL!,dBASEIII!,...
  colheading:文件中是否包括字段名(TRUR/FALSE)
  例如:dw-1.SaveAs("C:\data\bbm.txt", Text!, FALSE)
  同樣用另一函數實現該文件倒入設計的Datawindow,繼而可存入相應數據庫表:
  dwcontrol.ImportFile ( filename {,startrow {,endrow {,startcolumn {,endcolumn {,dwstartcolumn )
  釋義:
  dwcontrol:數據窗口
  filename:文件名
  startrow:開始行
  endrow :結束行
  startcolumn:開始列
  endcolumn:結束列
  dwstartcolumn:數據窗口接受數據的開始列
  例如:dw-2.ImportFile("C:\data\bbm.txt")
    4 注意的問題
  使用ODBC同時操作多種數據庫需注意的問題:
   注意區分不同的Transaction;
   不同數據庫環境的SQL函數各不相同,在編寫Script時務必小心,如Sybase數據庫和Sqlanywhere。下面列出了常用的幾個函數區別:
  數據庫SqlanywhereSybase類型轉換stringconvert(...)datedatetime日期函數now(*)getdate()yeardatepart(...)monthday字符串函數left無trim無ltrim無substrsubstringlengthchar-length空函數isnull******isnull
  由于這些區別,不僅在新老系統數據轉換上產生了不便,而且在網絡系統本地化上產生了問題,所以必需修改相應的Script。
    5 小結
  目前,眾多的數據庫系統、可視化開發工具都使用或支持ODBC技術,它對于強調信息高度集成的新型管理信息系統的設計和實施具有重要的意義。筆者使用改技術進行多個信息系統的設計,特別在實施過程中收到了事半功倍的效果,為系統快速和成功運行提供了強有力的支持。

煤炭網版權與免責聲明:

凡本網注明"來源:煤炭網www.ml029.cn "的所有文字、圖片和音視頻稿件,版權均為"煤炭網www.ml029.cn "獨家所有,任何媒體、網站或個人在轉載使用時必須注明"來源:煤炭網www.ml029.cn ",違反者本網將依法追究責任。

本網轉載并注明其他來源的稿件,是本著為讀者傳遞更多信息的目的,并不意味著本網贊同其觀點或證實其內容的真實性。其他媒體、網站或個人從本網轉載使用時,必須保留本網注明的稿件來源,禁止擅自篡改稿件來源,并自負版權等法律責任。違反者本網也將依法追究責任。 如本網轉載稿件涉及版權等問題,請作者在兩周內盡快來電或來函聯系。

  • 用手機也能做煤炭生意啦!
  • 中煤遠大:煤炭貿易也有了“支付寶”
  • 中煤開啟煤炭出口貿易人民幣結算新時代
  • 下半年煤炭市場依然嚴峻
市場動態

網站技術運營:北京真石數字科技股份有限公司、喀什中煤遠大供應鏈管理有限公司、喀什煤網數字科技有限公司

總部地址:北京市豐臺區總部基地航豐路中航榮豐1層

京ICP備18023690號-1      京公網安備 11010602010109號


關注中煤遠大微信
跟蹤最新行業資訊
主站蜘蛛池模板: 亚洲无吗在线视频 | 9999精品成人免费毛片在线看 | 欧美黄色网络 | 黄色av日韩 | 欧洲黑白配一二三四区 | 又色又爽又黄又免费的视频网站 | 国产精品视频成人 | 夜夜草网| 久久久久久久中文 | 亚洲美女在线播放 | 99久久777色 人人草人人舔 | 99热免费 | 乱人伦中文字幕无码 | 91亚洲国产成人精品性色 | 日韩精品久久久免费观看四虎 | 还珠格格第二部1至48集免费观看 | 乱人伦中文字幕无码 | 性囗交免费视频观看 | 久久99精品视频一区97 | 18禁男女污污污午夜网站免费暖暖 | YY6080午夜福利理论中文 | www亚洲国产 | 91精品无人成人www | 久热中文字幕在线精品观 | 国产精品视频免费看 | 五月婷婷综合国产成人一区二区三区 | 欧美日韩国产一中文字不卡 | 久久久无码精品亚洲日韩按摩 | 日本熟妇洗澡videos | 国产精品一品二区三区的使用体验 | 第一次破處在线国语视频播放 | 一呦二呦三呦精品网站 | 国产做a爰片久久毛片a片 | 91精品国产二区在线看大桥未久 | 九九九热精品 | 天天射日日射 | 亚洲国产高清在线 | 海角国精产品一区一区三区糖心 | 欧洲性受xxxx黑人xyx性爽 | gav成人网免费免播放器播放 | a一级黄色大片 |