使用 Delphi TDatabase 元件連接 Oracle 時,若拋出 ORA-06401: NETCMN: invalid driver designator,主因是 TDatabase.Params 中缺少 Service Name (或 SID) 設定。
DatabaseName = MyOracle
DriverName = ORACLE
Params.Values['USER NAME'] = scott
Params.Values['PASSWORD'] = tiger
// 缺少 SERVICE NAME 或 SID
Params。SERVICE NAME=ORCL (或 SID=ORCL,視伺服器設定)。Database1.Params.Values['SERVICE NAME'] := 'ORCL';Service Name 對應 tnsnames.ora 中的服務名稱,支援負載平衡與 RAC。SID 為舊式執行個體識別碼,單機環境常用。TADOConnection + OraOLEDB.Oracle Provider,連線字串需包含 Data Source=ORCL。