首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> Delphi

Delphi 連線管理進階:自定義登入參數、應用專屬別名與資料庫資訊探查

     編輯:Delphi

18.3.1.2 登入參數三種處理策略

  1. 標準對話框: LoginPrompt = True,嘗試連線時彈出對話框,適合開發/測試環境。
  2. 參數內嵌: LoginPrompt = False + Params 寫死 USERNAME/PASSWORD。極度不推薦(原始碼洩露憑證)。
  3. OnLogin 事件動態注入(最佳實踐):
    procedure TForm.DatabaseLogin(Database: TDatabase; LoginParams: TStrings);
    begin
      LoginParams.Values['SERVER NAME'] := 'MYSERVER';
      LoginParams.Values['USER NAME'] := GetCurrentUser;
      LoginParams.Values['PASSWORD'] := DecryptFromSecureStore;
    end;
    

    事件觸發於連線建立前,參數陣列拷貝可安全修改,支援動態憑證來源(金鑰庫、SSO、Token 等)。

18.3.1.3 應用程式專屬別名

TDatabase 可建立僅在進程內有效的邏輯別名,不寫入 IDAPI32.CFG。雙擊元件或選擇 Database Editor 開啟屬性編輯器自定義參數。DataSet 元件直接引用 DatabaseName 邏輯名,解耦部署環境差異。

18.3.1.4 連線生命週期精準控制

  • Connected:讀寫屬性,True 強制建立連線(無需開啟資料表),False 斷開(除非 KeepConnection = True)。
  • KeepConnection = True:連線池化效果,頻繁開關資料表時避免重複登入協商,大幅提升回應速度。
  • TSession.KeepConnections:全域層面控制所有 TDatabase 連線持久化。
  • TSession.NetFileDir/PrivateDir:指定 BDE 網路控制目錄與本地暫存目錄路徑。

18.3.1.5 TSession 資料庫中繼資料探查 API

所有方法接受 TStringList 回傳結果:

方法用途
GetAliasNames列出所有 BDE 別名(不含應用別名)
GetAliasParams取得指定別名完整參數清單
GetDatabaseNames列出 BDE 別名 + 應用別名
GetDriverNames列出已安裝 BDE 驅動程式
GetDriverParams取得驅動程式預設參數
GetTableNames列出指定資料庫表名(支援 Pattern/系統表/副檔名過濾)

這組 API 是建構動態資料庫瀏覽器、安裝精靈、診斷工具的基石。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved