$PBExportHeader$f_connect_db_new.srf global type f_connect_db_new from function_object end type forward prototypes global function integer f_connect_db_new (string arg_servername, string arg_databasename, string arg_loginid, string arg_loginpwd, ref transaction arg_transaction, ref string arg_msg) end prototypes global function integer f_connect_db_new (string arg_servername, string arg_databasename, string arg_loginid, string arg_loginpwd, ref transaction arg_transaction, ref string arg_msg);Int rslt = 1 String ls_dbms,ls_databasename String ls_logid,ls_logpass,ls_servername arg_transaction.DBMS = "SNC SQL Native Client(OLE DB)" arg_transaction.Database = arg_databasename arg_transaction.UserID = sqlca.UserID arg_transaction.DBPass = sqlca.DBPass arg_transaction.LogID = arg_LoginID arg_transaction.LogPass = f_psw_bczh(arg_LoginPwd,1,sys_power_key) arg_transaction.ServerName = arg_ServerName arg_transaction.Lock = "RC" arg_transaction.AutoCommit = false arg_transaction.DBParm = "Database= '" + arg_databasename + "',PBTrimCharColumns='YES'" CONNECT USING arg_transaction; IF arg_transaction.SQLCode <> 0 THEN arg_msg = '连接失败,'+arg_transaction.SQLErrText rslt = 0 GOTO ext END IF String strkey strkey = 'I~'m LongJoe' EXECUTE Immediate :strkey Using arg_transaction; EXECUTE Immediate "set transaction isolation level READ UNCOMMITTED" Using arg_transaction; EXECUTE Immediate 'SET DEADLOCK_PRIORITY low' Using arg_transaction; IF arg_transaction.SQLCode <> 0 THEN HALT; END IF ext: RETURN rslt end function