123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147 |
- $PBExportHeader$uo_remote_sqlca.sru
- forward
- global type uo_remote_sqlca from nonvisualobject
- end type
- end forward
- global type uo_remote_sqlca from nonvisualobject autoinstantiate
- end type
- forward prototypes
- public function integer init_remote_sqlca ()
- public function integer get_remote_sqlca (integer arg_cnt_no, ref string arg_cntname, ref string arg_dbms, ref string arg_database, ref string arg_userid, ref string arg_dbpass, ref string arg_logid, ref string arg_logpassword, ref string arg_servername, ref string arg_dbparm, ref string arg_msg)
- public function integer set_remote_sqlca (integer arg_cnt_no, string arg_cntname, string arg_dbms, string arg_database, string arg_userid, string arg_dbpass, string arg_logid, string arg_logpassword, string arg_servername, string arg_dbparm, ref string arg_msg)
- public function integer add_cntno ()
- public function integer del_cntno ()
- public function integer cnt_remote_sqlca (integer arg_cnt_no, ref transaction arg_transaction, ref string arg_msg)
- end prototypes
- public function integer init_remote_sqlca ();//init_remote_sqlca
- string cnt_count
- int ls_i
- cnt_count=ProfileString (sys_inifilename, "remote_sqlca", "cnt", '1')
- sys_remote_sqlca_p=integer(cnt_count)
- //for ls_i=1 to sys_remote_sqlca_p
- // sys_remote_sqlca[ls_i]=create transaction
- //
- //next
- return 0
- end function
- public function integer get_remote_sqlca (integer arg_cnt_no, ref string arg_cntname, ref string arg_dbms, ref string arg_database, ref string arg_userid, ref string arg_dbpass, ref string arg_logid, ref string arg_logpassword, ref string arg_servername, ref string arg_dbparm, ref string arg_msg);//Get_remote_sqlca(arg_cnt_no,arg_cntname,arg_dbms,arg_database,arg_userid,arg_dbpass,arg_logid,arg_logpassword,arg_servername,arg_dbparm,arg_msg)
- int rslt=1
- if arg_cnt_no<=0 or arg_cnt_no>sys_remote_sqlca_p then
- arg_msg='连接标号不在系统设置范围'
- rslt=0
- goto ext
- end if
- arg_cntname=ProfileString (sys_inifilename, "remote_sqlca"+string(arg_cnt_no,'00'), "cntname", "" )
- arg_dbms=ProfileString (sys_inifilename, "remote_sqlca"+string(arg_cnt_no,'00'), "dbms", "MSS Microsoft SQL Server 6.x" )
- arg_database=ProfileString (sys_inifilename, "remote_sqlca"+string(arg_cnt_no,'00'), "database", "")
- arg_userid =ProfileString (sys_inifilename, "remote_sqlca"+string(arg_cnt_no,'00'), "userid", 'sa')
- arg_dbpass =f_psw_bczh(ProfileString (sys_inifilename, "remote_sqlca"+string(arg_cnt_no,'00'), "dbpass",''),1,sys_power_key)
- arg_logid =ProfileString (sys_inifilename, "remote_sqlca"+string(arg_cnt_no,'00'), "logid", 'sa')
- arg_logpassword=f_psw_bczh(ProfileString (sys_inifilename, "remote_sqlca"+string(arg_cnt_no,'00'), "LogPassWord",''),1,sys_power_key)
- arg_servername=ProfileString (sys_inifilename, "remote_sqlca"+string(arg_cnt_no,'00'), "servername", '')
- arg_dbparm=f_psw_bczh(ProfileString (sys_inifilename, "remote_sqlca"+string(arg_cnt_no,'00'), "dbparm", ''),1,sys_power_key)
- ext:
- return rslt
- end function
- public function integer set_remote_sqlca (integer arg_cnt_no, string arg_cntname, string arg_dbms, string arg_database, string arg_userid, string arg_dbpass, string arg_logid, string arg_logpassword, string arg_servername, string arg_dbparm, ref string arg_msg);//set_remote_sqlca
- int rslt=1
- if arg_cnt_no<=0 or arg_cnt_no>sys_remote_sqlca_p then
- arg_msg='连接标号不在系统设置范围'
- rslt=0
- goto ext
- end if
- SetProfileString (sys_inifilename, "remote_sqlca"+string(arg_cnt_no,'00'), "cntname", arg_cntname)
- SetProfileString (sys_inifilename, "remote_sqlca"+string(arg_cnt_no,'00'), "dbms", arg_dbms)
- SETProfileString (sys_inifilename, "remote_sqlca"+string(arg_cnt_no,'00'), "database", arg_database)
- SETProfileString (sys_inifilename, "remote_sqlca"+string(arg_cnt_no,'00'), "userid", arg_userid)
- SETProfileString (sys_inifilename, "remote_sqlca"+string(arg_cnt_no,'00'), "dbpass", f_psw_bczh(arg_dbpass,0,sys_power_key))
- SETProfileString (sys_inifilename, "remote_sqlca"+string(arg_cnt_no,'00'), "logid", arg_logid)
- SETProfileString (sys_inifilename, "remote_sqlca"+string(arg_cnt_no,'00'), "LogPassWord",f_psw_bczh(arg_logpassword,0,sys_power_key))
- SETProfileString (sys_inifilename, "remote_sqlca"+string(arg_cnt_no,'00'), "servername", arg_servername)
- SETProfileString (sys_inifilename, "remote_sqlca"+string(arg_cnt_no,'00'), "dbparm", f_psw_bczh(arg_dbparm,0,sys_power_key))
- ext:
- return rslt
- end function
- public function integer add_cntno ();string cnt_count='1'
- cnt_count=ProfileString (sys_inifilename, "remote_sqlca", "cnt", '1')
- setProfileString (sys_inifilename, "remote_sqlca", "cnt", string(integer(cnt_count)+1))
- sys_remote_sqlca_p=integer(cnt_count)+1
- return 0
- end function
- public function integer del_cntno ();string cnt_count
- cnt_count=ProfileString (sys_inifilename, "remote_sqlca", "cnt", '2')
- setProfileString (sys_inifilename, "remote_sqlca", "cnt", string(integer(cnt_count) - 1))
- sys_remote_sqlca_p=integer(cnt_count) - 1
- return 0
- end function
- public function integer cnt_remote_sqlca (integer arg_cnt_no, ref transaction arg_transaction, ref string arg_msg);//cnt_remote_sqlca(arg_cnt_no,arg_transaction,arg_msg)
- int rslt=1
- if arg_cnt_no<=0 or arg_cnt_no>sys_remote_sqlca_p then
- arg_msg='连接标号不在系统设置范围'
- rslt=0
- goto ext
- end if
- disconnect using arg_transaction;
- destroy arg_transaction
- arg_transaction=create transaction
- string arg_cntname,arg_dbms,arg_database,arg_userid,arg_dbpass,arg_logid,arg_logpassword,arg_servername,arg_dbparm
- rslt=Get_remote_sqlca(arg_cnt_no,arg_cntname,arg_dbms,arg_database,arg_userid,arg_dbpass,arg_logid,arg_logpassword,arg_servername,arg_dbparm,arg_msg)
- if rslt=0 then
- arg_msg="提取连接信息失败>"+arg_msg
- goto ext
- end if
- arg_transaction.DBMS = arg_dbms
- arg_transaction.database = arg_database
- arg_transaction.userid = arg_userid
- arg_transaction.dbpass = arg_dbpass
- arg_transaction.logid = arg_logid
- arg_transaction.logpass = arg_logpassword
- arg_transaction.servername = arg_servername
- arg_transaction.dbparm = arg_dbparm
- connect using arg_transaction;
- If arg_transaction.SQLCode<>0 Then
- arg_msg="连接数据库失败>"+arg_transaction.sqlerrtext
- rslt=0
- goto ext
- End if
- ext:
- return rslt
- end function
- on uo_remote_sqlca.create
- call super::create
- TriggerEvent( this, "constructor" )
- end on
- on uo_remote_sqlca.destroy
- TriggerEvent( this, "destructor" )
- call super::destroy
- end on
|