熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Delphi編程 >> 正文

DELPHI基礎教程:Delphi客戶服務器應用開發(三)[1]

2022-06-13   來源: Delphi編程 

   安裝的軟件項目

  當你安裝InterBase SQL Link驅動程序下列項目將被安裝於你的工作站上

  表 安裝的文件名

  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

  項 目        描 述

  ──────────────────────────────────────

  SQLDIBDLL 包含InterBase驅動程序和支持文件的動態鏈接庫SQLINTDLL

  INTRBASE驅動類型  加在配置工具的驅動管理程序中以配置基本的BorlandInterBase SQL Link驅動程序

  INTRBASE別名類型  加入配置文件的別名以使建立聯接SQL服務器數據庫的別名

  SQLD_IBHLP 配置InterBase驅動程序的幫助文件

  READLINKTXT Borland SQL Links for Windows自述文件

  INTERBASMSG InterBase消息文件通常安裝上C:\INTERBAS

  CONNECTEXE 測試工作站和InterBase服務器連接情況的工具REMOTEDLL InterBase的支持動態鏈接庫

  GDSDLLGDSDLL將InterBase服務器描述 安裝過程修改工作站的SERVICES文件以增加用於加入SERVICES文件  InterBase 服務器訪問所需的協議描述 gds db /tcp

  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

  軟件項目中還應包括TCP/IP接口軟件

  下表列出的文件給InterBase客戶端應用提供訪問Winsock 的接口

  表 TCP/IP接口軟件

  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

  文 件 名       描 述

  ────────────────────────────────

  MVWASYNCEXE 異步通信模塊

  VSLINT TCP/P傳輸初始化文件

  WINSOCKDLL Windows Socket動態鏈接庫

  MSOCKLIBDLL 將Windows Socket調用映射到VSL驅動程序

  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

  如果TCP/IP產品不是Winsock兼容InterBase客戶端應用將也可采用其它TCP/P 驅動程序InterBase服務器還可支持其它通信協議如SPX/PXNetBeIU等

   解決一般的聯接問題

  如果用SQL Links建立與InterBase服務器的連接有問題可采用下列步驟來分離問題原因

  ⑴ 通過Windows ISQL工具測試能否與InterBase服務器聯接

  如果成功狀態信息會出現並繼續步驟⑵

  如果不成功詢問數據庫管理員

  ⑵ 檢驗InterBase SQL Links 驅動程序是否正確安裝

  ⑶ 重新安裝SQL Links

  ⑷ 檢查SERVICES文件中應有行

  gds_db /tcp

  如果不能正確安裝就請詢問數據庫管理員否則繼續步驟⑸

  ⑸ 測試底層協議

  ① 輸入TELNET命令確認TCP庫是否正確安裝

  如果TCP庫正確安裝注冊提示符會出現注冊入網檢查數據庫是否存在

  如果消息是cant resolve hostname 出現檢查工作站的HOSTS文件是否有你 的主機名和IP地址的人口

   mis_server

  如果用TELNET是成功的但仍然無法正確聯接則沒有正確安裝InterBase請尋

  求數據庫管理員的幫助

  ② PING到服務器服務器上測試InterBase服務器是否正常運行並且為桌面應用可見

  (如果PING是成功的消息servername is alive被顯示)

  PING成功但TELNET不成功則inet daemon可能有問題

  如果PING到服務器上不成功則有網絡路徑問題將問題報給網絡管理員

  如果底層協議不正常請詢問數據庫管理員否則繼續幫助⑹

  ⑹ 確認是否有InterBase服務器的訪問權如果有請繼續步驟⑺

  ⑺ 檢查BDE應用程序的InterBase別名是否正確安裝

  如果能夠直接從工作站上聯接但不能從BDE應用程序中那麼很有可能你的

  IDAPICFG別名設置有問題運行BDE配置工具檢查InterBase別名

   Delphi Client/Server編程

  本節介紹如何運用Delphi可視化開發工具和ObjectPascal語言開發Client\Server的數據庫應用程序采用的例子是CSDEMOS這是Delphi自帶的演示Client\Server開發的例子它安裝在C:\Program Files\Borland\Delphi \Demos\DB\CSDemos中(缺省安裝)

  本節將包含以下內容

  ● 使用TDatabase部件連接SQL服務器

  ● 用DataSet部件(又稱數據集部件)如TTable和TQuery聯接TDatabase部件並訪問數據庫以及各種表之間如何切換

  ● 使用數據庫連接

  ● 觸發器的使用方法

  ● TStoredProc部件的使用方法

  ● 客戶和服務器之間的事務控制

  ● TStoredProc部件的使用方法

   使用TDatabase部件聯接SQL服務器

   TDatabase部件概述

  TDatabase部件處理應用程序與單個數據庫的聯接如果不需要控制數據庫聯接可以不用創建TDatabase部件當應用程序試圖打開數據庫表(Table)時會自動創建一個臨時的TDatabase部件但如果你想控制數據庫的持續聯接進入數據庫服務器的注冊和數據庫別名的值或事務控制那麼你就必須為每個所需的聯接創建一個TDatabase部件

   創建TDatabase部件

  TDatabase 部件在Component Palette中的Data Access頁上你能將其拖放在數據模塊(Data module)或窗體中在設計時創建TDatabase 部件用戶可以設置初始值和編寫OnLogin事件處理過程(Event Handle)OnLogin事件給用戶提供了第一次注冊數據庫服務器時定制服務器安全參數如口令的能力

   TDatabase的關鍵屬性

  ⑴ DatabaseName屬性

  DatabaseName是所要聯接的數據庫名並且用於DataSet軟件它將出現在DataSet部件的DatabaseName屬性的下拉式列表框中設置DataBaseName屬性是定義數據庫應用的特定別名DataSet部件能引用該名字以取代直接使用BDE別名當TDatabase部件的Connected屬性為True時不能修改該屬性

  ⑵ AliaName屬性

  AliasName是BDE配置工具定義的BDE別名的名字TDatabase 從中獲取其缺省的設置如果設置DriveName屬性則該屬性將被清除如果當Connected為True 時強行設置DriveName屬性將引發異常

  ⑶ DriveName屬性

  DriveName是BDE驅動程序如STANDARD ORACLESYBASEINFORMIX或INTERBASE的名字如果設置AliasName則該屬性值將被清除

  ⑷ Params屬性

  Params屬性包含了打開SQL服務器上數據庫時所需的參數在缺省情況下這些參數由BDE配置工具設置用戶也可以用數據庫參數編輯器(Database Parameters Editor)修改這些參數對於數據庫服務器而言Params將描述一系列的參數如服務器名 數據庫名用戶名和口令

  ⑸ Connected屬性

  Connected屬性指明是否建立數據庫的聯接當應用程序打開數據庫中的一個表時Connected將被置為True;反之關閉數據庫表Connected將被置為False除非KeepConnection為True而將Connected置為True則可不需打開數據庫表即可建立數據庫聯接TDatabase的KeepConnection屬性描述當數據庫中沒有表打開時是否維持數據庫聯連

  ⑹ KeepConnection屬性

[]  []  []  []  


From:http://tw.wingwit.com/Article/program/Delphi/201311/25129.html
    推薦文章
    Copyright © 2005-2022 電腦知識網 Computer Knowledge   All rights reserved.