码迷,mamicode.com
首页 > 数据库 > 详细

PB连接数据库

时间:2014-07-16 16:26:59      阅读:389      评论:0      收藏:0      [点我收藏+]

标签:连接数据库   用户名   database   程序   数据源   

        数据库的事务连接,以前很少接触,做个东西都是用本地的数据库,没用过远程,数据库事务的连接也都用默认的,所以就造成了对这方面基本知识的不了解,实际上就是很简单东西。

首先得把数据库那边的设置弄好,ODBC也好,OLE DB也好,总之先把数据源建起来。然后就程序中的代码就这么几个东西:

SQLCA.DBMS = "OLE DB"
SQLCA.LogId = gs_logid
SQLCA.LogPass=gs_logpass
SQLCA.AutoCommit = False
SQLCA.dbparm ="PROVIDER=‘SQLOLEDB‘,DATASOURCE=‘"+gs_datasource+"‘,TimeOut="+string(ltime)+",PROVIDERSTRING=‘database="+gs_database+"‘"

第一行是数据厂商的名称,说白了就是自己的连接方式。然后这几个变量是必须有的:gs_logid用户名,gs_logpass密码(可为空),gs_datasource数据源,gs_database数据库。timeout的值是设置连接数据库的时间。把这几个变量赋值,然后用语句connect using sqlca就可以练到数据库了,不管是远程的还是本地的,数据库都会自动给你搞定,不过数据库的连接是非常耗资源的,如果你数据库没开或网络中断,就很可能造成机器很卡。

那天还编了一个测试程序,是连接到一个远程的数据库,如果断开就计数+1,很简单的一个东西,做了好几遍。其实就是一个timer()事件,让数据库不断的判断连接。

w_testing.setfocus()
int lcount
select count(1) into :lcount from sys_user using sqlca;

if sqlca.sqlcode= 0 then
    st_4.text="已连接上"
ib_lastconnect=true
else
if ib_lastconnect=true then
   gl_counter++
   sle_1.text=string(gl_counter)
   w_main.sle_1.text=string(gl_counter)
end if
ib_lastconnect=false
st_4.text="已断开,正在尝试重新连接"
   
SQLCA.DBMS = "OLE DB"
SQLCA.LogId = gs_logid
SQLCA.LogPass=gs_logpass
SQLCA.AutoCommit =true
SQLCA.dbparm ="PROVIDER=‘SQLOLEDB‘,DATASOURCE=‘"+gs_datasource+"‘,TimeOut=15,PROVIDERSTRING=‘database="+gs_database+"‘"
disconnect using sqlca;
connect using sqlca;

end if


PB连接数据库,布布扣,bubuko.com

PB连接数据库

标签:连接数据库   用户名   database   程序   数据源   

原文地址:http://harman.blog.51cto.com/1155829/1438948

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!