f_connectdb_id.srf 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. $PBExportHeader$f_connectdb_id.srf
  2. global type f_connectdb_id from function_object
  3. end type
  4. forward prototypes
  5. global function integer f_connectdb_id (ref string arg_msg)
  6. end prototypes
  7. global function integer f_connectdb_id (ref string arg_msg);Int rslt = 1
  8. //id
  9. id_sqlca = CREATE Transaction
  10. //id_sqlca.DBMS = 'OLE DB'
  11. //id_sqlca.Database = sqlca.Database
  12. //id_sqlca.UserID = sqlca.UserID
  13. //id_sqlca.DBPass = sqlca.DBPass
  14. //id_sqlca.LogID = sqlca.LogID
  15. //id_sqlca.LogPass = sqlca.LogPass
  16. //id_sqlca.ServerName = sqlca.ServerName
  17. //id_sqlca.DBParm = sqlca.DBParm
  18. //id_sqlca.Lock = "RC"
  19. //id_sqlca.AutoCommit = false
  20. //
  21. //id_sqlca.DBParm = "PROVIDER='SQLOLEDB',DATASOURCE='" + sqlca.ServerName + &
  22. // "',PROVIDERSTRING='DataTypeCompatibility=80;database=" + sqlca.Database + &
  23. // ";"+"',TIMEOUT=160,OJSyntax='ANSI',PBTrimCharColumns='Yes',PBMaxBlobSize=102400­0,Recheck"
  24. //
  25. //
  26. id_sqlca.DBMS = "SNC SQL Native Client(OLE DB)"
  27. id_sqlca.Database = sqlca.Database
  28. id_sqlca.UserID = sqlca.UserID
  29. id_sqlca.DBPass = sqlca.DBPass
  30. id_sqlca.LogID = sqlca.LogID
  31. id_sqlca.LogPass = sqlca.LogPass
  32. id_sqlca.ServerName = sqlca.ServerName
  33. id_sqlca.Lock = "RU"
  34. id_sqlca.AutoCommit = false
  35. id_sqlca.DBParm = "Database= '" + sqlca.Database + "',PBTrimCharColumns='YES'"
  36. CONNECT USING id_sqlca;
  37. IF id_sqlca.SQLCode < 0 THEN
  38. arg_msg = "取ID模块数据连接失败!" + id_sqlca.SQLErrText
  39. rslt = 0
  40. GOTO ext
  41. END IF
  42. String strkey
  43. strkey = 'I~'m LongJoe'
  44. EXECUTE Immediate :strkey USING id_sqlca;
  45. EXECUTE IMMEDIATE "set transaction isolation level READ UNCOMMITTED" USING id_sqlca;
  46. execute immediate 'SET DEADLOCK_PRIORITY low' USING id_sqlca;
  47. IF id_sqlca.SQLCode <> 0 THEN
  48. HALT;
  49. END IF
  50. ext:
  51. RETURN rslt
  52. end function