关闭

Power Builder同时连接多个数据库

标签: databasesql serverstring数据库null
795人阅读 评论(0) 收藏 举报
分类:

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

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:729681次
    • 积分:8299
    • 等级:
    • 排名:第2367名
    • 原创:97篇
    • 转载:179篇
    • 译文:3篇
    • 评论:110条
    最新评论