[转帖]Power Builder同时连接多个数据库
<p> 只 需 设 置 两 个 TRANSACTION对 象 即 可 。 <br/> 以 下 为 同 时 连 接 SQL SERVER和 DBF数 据 库 的 示 例 : <br/> 连 接 SQL SERVER: <br/> SetPointer(HourGlass!) <br/> //窗 口 居 中 <br/> f_center(this) <br/> //根 据 sgselect 连 接 不 同 的 套 <br/> string sSelect <br/> string temp <br/> sSelect="d_gdzc"+sgselect <br/> SQLCA.DbParm = ProfileString(gzINIFile,"Database","DbParm","") <br/> SQLCA.DBMS = ProfileString(gzINIFile,"Database","DBMS","") <br/> SQLCA.Database = sSelect <br/> SQLCA.ServerName = ProfileString(gzINIFile,"Database","ServerName","") <br/> SQLCA.LogId = "sa" <br/> RegistryGet("HKEY_CURRENT_USER\software\microsoft\windows\currentversion\explorer\g", "a", RegString!,temp ) <br/> f_anencrypt (temp,SQLCA.LogPass) <br/> SQLCA.AutoCommit = false <br/> SQLCA.Lock = ProfileString(gzINIFile,"Database","Lock","") <br/> connect using sqlca; <br/> <br/> IF SQLCA.SQLCode <> 0 THEN <br/> MessageBox("联 接 失 败 ", & <br/> "不 能 联 接 数 据 库 !(错 误 信 息 :" + SQLCA.SQLErrText+")") <br/> setpointer(Arrow!) <br/> RETURN <br/> halt close <br/> END IF <br/> <br/> 定 义 函 数 : <br/> fuction f_connectdbf(string sdbparm) return any <br/> string nul //用 于 生 成 null值 <br/> transaction trans_name <br/> trans_name=create transaction <br/> trans_name.DBMS = "ODBC" <br/> //trans_name.Database = "ZWDBF" <br/> //trans_name.LogId = <br/> //trans_name.LogPass = <br/> trans_name.AutoCommit = False <br/> trans_name.DBParm = sDBParm <br/> //trans_name.Lock =ProfileString(gzINIFile,"Database","Lock","") <br/> //trans_name.DbParm =ProfileString(gzINIFile,"Database","DbParm","") <br/> CONNECT USING trans_name; <br/> <br/> IF trans_name.SQLCode <> 0 THEN <br/> MessageBox("联 接 失 败 ", & <br/> "不 能 联 接 财 务 数 据 库 ! 请 检 查 财 务 路 径 是 否 正 确 。 (错 误 信 息 :" + SQLCA.SQLErrText+")") <br/> rollback; <br/> return setnull(nul) <br/> else <br/> return trans_name <br/> END IF <br/> <br/> 连 接 FOXPRO数 据 库 ( 同 时 连 接 第 二 个 数 据 库 , 还 可 以 连 接 第 三 、 第 四 个 ) : <br/> openwithparm(w_disp,"正 在 联 接 DBF卡 片 数 据 库 ...",parent) <br/> transaction sqldbf <br/> //用 SQLDBF连 接 财 务 ( 固 资 ) 数 据 库 <br/> sqldbf=f_connectdbf("Connectstring='DSN=gzdbf'") <br/> //判 断 是 否 联 接 成 功 <br/> if isnull(sqldbf) then <br/> Messagebox("出 错 ","联 接 DBF固 定 资 产 数 据 库 出 错 ! ") <br/> end if </p>
页:
[1]