home *** CD-ROM | disk | FTP | other *** search
/ Chip 2001 October / Chip_2001-10_cd1.bin / zkuste / delphi / kompon / d45 / ARDOCI.ZIP / OraDefines.pas < prev    next >
Pascal/Delphi Source File  |  2001-03-01  |  14KB  |  452 lines

  1. unit OraDefines;
  2.  
  3. interface
  4.  
  5. const
  6.  OCI_DEFAULT=0;
  7.  OCI_THREADED=1;
  8.  OCI_OBJECT=2;
  9.  
  10.  OCI_DYNAMIC_FETCH=2;
  11.  
  12.  OCI_ONE_PIECE=0;
  13.  OCI_FIRST_PIECE=1;
  14.  OCI_NEXT_PIECE=2;
  15.  OCI_LAST_PIECE=3;
  16.  
  17.  OCI_V7_SYNTAX=2;
  18.  OCI_V8_SYNTAX=3;
  19.  OCI_NTV_SYNTAX=1;
  20.  
  21.  OCI_BATCH_MODE        = $01;
  22.  OCI_EXACT_FETCH       = $02;
  23.  OCI_KEEP_FETCH_STATE  = $04;
  24.  OCI_SCROLLABLE_CURSOR = $08;
  25.  OCI_DESCRIBE_ONLY     = $10;
  26.  OCI_COMMIT_ON_SUCCESS = $20;
  27.  
  28.  OCI_OTYPE_NAME = 1;
  29.  OCI_OTYPE_REF  = 2;
  30.  OCI_OTYPE_PTR  = 3;
  31.  
  32.  OCI_PTYPE_TYPE = 6;
  33.  OCI_PTYPE_LIST = 11;
  34.  
  35.  OCI_HTYPE_FIRST=1;
  36.  OCI_HTYPE_ENV=1;
  37.  OCI_HTYPE_ERROR=2;
  38.  OCI_HTYPE_SVCCTX=3;
  39.  OCI_HTYPE_STMT=4;
  40.  OCI_HTYPE_BIND=5;
  41.  OCI_HTYPE_DEFINE=6;
  42.  OCI_HTYPE_DESCRIBE=7;
  43.  OCI_HTYPE_SERVER=8;
  44.  OCI_HTYPE_SESSION=9;
  45.  OCI_HTYPE_TRANS=10;
  46.  OCI_HTYPE_COMPLEXOBJECT=11;
  47.  OCI_HTYPE_SECURITY=12;
  48.  OCI_HTYPE_LAST=12;
  49.  
  50.  OCI_DTYPE_FIRST=50;
  51.  OCI_DTYPE_LOB=50;
  52.  OCI_DTYPE_SNAP=51;
  53.  OCI_DTYPE_RSET=52;
  54.  OCI_DTYPE_PARAM=53;
  55.  OCI_DTYPE_ROWID=54;
  56.  OCI_DTYPE_COMPLEXOBJECTCOMP=55;
  57.  OCI_DTYPE_FILE=56;
  58.  OCI_DTYPE_LAST=56;
  59.  
  60.  OCI_STMT_SELECT  = 1;
  61.  OCI_STMT_UPDATE  = 2;
  62.  OCI_STMT_DELETE  = 3;
  63.  OCI_STMT_INSERT  = 4;
  64.  OCI_STMT_CREATE  = 5;
  65.  OCI_STMT_DROP    = 6;
  66.  OCI_STMT_ALTER   = 7;
  67.  OCI_STMT_BEGIN   = 8;
  68.  OCI_STMT_DECLARE = 9;
  69.  
  70. { OCI_ATTR_FNCODE  1
  71.  OCI_ATTR_OBJECT   2
  72.  OCI_ATTR_NONBLOCKING_MODE  3
  73.  OCI_ATTR_SQLCODE  4
  74.  OCI_ATTR_ENV  5
  75. }
  76.  OCI_ATTR_SERVER=6;
  77.  OCI_ATTR_SESSION=7;
  78.  {
  79.  OCI_ATTR_TRANS   8}
  80.  OCI_ATTR_ROW_COUNT=9;
  81. { OCI_ATTR_SQLFNCODE 10
  82.  OCI_ATTR_PREFETCH_ROWS  11
  83.  OCI_ATTR_NESTED_PREFETCH_ROWS 12
  84.  OCI_ATTR_PREFETCH_MEMORY 13
  85.  OCI_ATTR_NESTED_PREFETCH_MEMORY 14
  86.  OCI_ATTR_CHAR_COUNT  15
  87.  OCI_ATTR_PDSCL   16
  88.  OCI_ATTR_PDFMT   17}
  89.  OCI_ATTR_PARAM_COUNT=18;
  90. { OCI_ATTR_ROWID   19
  91.  OCI_ATTR_CHARSET  20
  92.  OCI_ATTR_NCHAR   21
  93. }
  94.  OCI_ATTR_USERNAME=22;
  95.  OCI_ATTR_PASSWORD=23;
  96.  OCI_ATTR_STMT_TYPE=24;
  97. { OCI_ATTR_INTERNAL_NAME   25
  98.  OCI_ATTR_EXTERNAL_NAME   26
  99.  OCI_ATTR_XID     27
  100.  OCI_ATTR_TRANS_LOCK 28
  101.  OCI_ATTR_TRANS_NAME      29
  102.  OCI_ATTR_HEAPALLOC 30
  103.  OCI_ATTR_CHARSET_ID 31
  104.  OCI_ATTR_CHARSET_FORM 32
  105.  OCI_ATTR_MAXDATA_SIZE 33
  106.  OCI_ATTR_CACHE_OPT_SIZE 34
  107.  OCI_ATTR_CACHE_MAX_SIZE 35
  108.  OCI_ATTR_PINOPTION 36
  109.  OCI_ATTR_ALLOC_DURATION 37
  110.  OCI_ATTR_PIN_DURATION 38
  111.  OCI_ATTR_FDO          39
  112.  OCI_ATTR_POSTPROCESSING_CALLBACK 40
  113.  OCI_ATTR_POSTPROCESSING_CONTEXT 41
  114.  OCI_ATTR_ROWS_RETURNED 42
  115.  OCI_ATTR_FOCBK        43
  116.  OCI_ATTR_IN_V8_MODE   44
  117.  OCI_ATTR_LOBEMPTY     45
  118.  OCI_ATTR_SESSLANG     46
  119. }
  120.  OCI_ATTR_DATA_SIZE     = 1 ;
  121.  OCI_ATTR_DATA_TYPE     = 2 ;
  122.  OCI_ATTR_DISP_SIZE     = 3 ;
  123.  OCI_ATTR_NAME          = 4 ;
  124.  OCI_ATTR_PRECISION     = 5 ;
  125.  OCI_ATTR_SCALE         = 6 ;
  126.  OCI_ATTR_IS_NULL       = 7 ;
  127.  OCI_ATTR_TYPE_NAME     = 8 ;
  128.  OCI_ATTR_SCHEMA_NAME   = 9 ;
  129.  OCI_ATTR_SUB_NAME      = 10;
  130.  OCI_ATTR_POSITION      = 11;
  131.  
  132.  OCI_ATTR_PARAM         = 124;
  133.  
  134.  OCI_SUCCESS=0;
  135.  OCI_SUCCESS_WITH_INFO=1;
  136.  OCI_NO_DATA=100;
  137.  OCI_ERROR=-1;
  138.  OCI_INVALID_HANDLE=-2;
  139.  OCI_NEED_DATA=99;
  140.  OCI_STILL_EXECUTING=-3123;
  141.  OCI_CONTINUE=-24200;
  142.  
  143.  OCI_CRED_RDBMS=1;
  144.  OCI_CRED_EXT=2;
  145.  
  146.  SQLT_CHR = 1  ;
  147.  SQLT_NUM = 2  ;
  148.  SQLT_INT = 3  ;
  149.  SQLT_FLT = 4  ;
  150.  SQLT_STR = 5  ;
  151.  SQLT_VNU = 6  ;
  152.  SQLT_PDN = 7  ;
  153.  SQLT_LNG = 8  ;
  154.  SQLT_VCS = 9  ;
  155.  SQLT_NON = 10 ;
  156.  SQLT_RID = 11 ;
  157.  SQLT_DAT = 12 ;
  158.  SQLT_VBI = 15 ;
  159.  SQLT_BIN = 23 ;
  160.  SQLT_LBI = 24 ;
  161.  SQLT_UIN = 68 ;
  162.  SQLT_SLS = 91 ;
  163.  SQLT_LVC = 94 ;
  164.  SQLT_LVB = 95 ;
  165.  SQLT_AFC = 96 ;
  166.  SQLT_AVC = 97 ;
  167.  SQLT_CUR = 102;
  168.  SQLT_RDD = 104;
  169.  SQLT_LAB = 105;
  170.  SQLT_OSL = 106;
  171.  SQLT_CLOB = 112;
  172.  SQLT_BLOB = 113;
  173. { #define SQLT_NTY  108
  174. #define SQLT_REF  110
  175. #define SQLT_BFILE 114
  176. #define SQLT_CFILE 115
  177. }
  178.  SQLT_RSET = 116;
  179. {#define SQLT_NCO  122
  180. #define SQLT_VST  155
  181. #define SQLT_ODT  156}
  182.  
  183. {------------------------ Transaction Start Flags --------------------------}
  184.  OCI_TRANS_OLD         = $00000000;
  185.  OCI_TRANS_NEW         = $00000001;
  186.  OCI_TRANS_JOIN        = $00000002;
  187.  OCI_TRANS_RESUME      = $00000004;
  188.  OCI_TRANS_STARTMASK   = $000000ff;
  189.  
  190.  OCI_TRANS_READONLY    = $00000100;
  191.  OCI_TRANS_READWRITE   = $00000200;
  192.  OCI_TRANS_SERIALIZABLE= $00000400;
  193.  OCI_TRANS_ISOLMASK    = $0000ff00;
  194.  
  195. {------------------------Scrollable Cursor Options--------------------------}
  196.  OCI_FETCH_NEXT   = $02;
  197.  OCI_FETCH_FIRST  = $04;
  198.  OCI_FETCH_LAST   = $08;
  199.  OCI_FETCH_PRIOR  = $10;
  200.  OCI_FETCH_ABSOLUTE =$20;
  201.  OCI_FETCH_RELATIVE =$40;
  202.  
  203. type
  204.      sword=integer;
  205.      eword=integer;
  206.      sb4=integer;
  207.      ub4=cardinal;
  208.      sb2=smallint;
  209.      ub2=word;
  210.      sb1=shortint;
  211.      ub1=byte;
  212.      dvoid=pointer;
  213.      size_t=integer;
  214.  
  215.      pOCIEnv = pointer;
  216.      pOCIServer = pointer;
  217.      pOCIError = pointer;
  218.      pOCISvcCtx = pointer;
  219.      pOCIStmt = pointer;
  220.      pOCILobLocator = pointer;
  221.      pOCIDefine = pointer;
  222.      pOCISession = pointer;
  223.      pOCISnapshot = pointer;
  224.      pOCIParam = pointer;
  225.      pOCIBind = pointer;
  226.      pOCIDescribe = pointer;
  227.  
  228.      dword = longword;
  229.      pDouble = ^Double;
  230.      pByte   = ^Byte;
  231.      pInteger = ^Integer;
  232.      pInt64 = ^Int64;
  233.  
  234. TOCIInitialize=function(mode:ub4;
  235.                         ctxp:pointer;
  236.                         malocfp:pointer;
  237.                         ralocfp:pointer;
  238.                         mfreefp:pointer):sword; cdecl;
  239. TOCIEnvInit=function(var envhpp:pOCIEnv;
  240.                      mode:ub4;
  241.                      xtramemsz:size_t;
  242.                      usrmempp:pointer):sword; cdecl;
  243. TOCIHandleAlloc=function(parenth:pOCIEnv;
  244.                         var hndlpp:pOCIEnv;
  245.                         atype:ub4;
  246.                         xtramem_sz:size_t;
  247.                         usrmempp:pointer ):sword; cdecl;
  248. TOCIServerAttach=function(srvhp:pOCIServer;
  249.                          errhp:pOCIError;
  250.                          dblink:pchar;
  251.                          dblink_len:sb4;
  252.                          mode:ub4):sword; cdecl;
  253. TOCIAttrSet=function(trgthndlp:pointer;
  254.                      trghndltyp:ub4;
  255.                      attributep:pointer;
  256.                      size:ub4;
  257.                      attrtype:ub4;
  258.                      errhp:pOCIError):sword; cdecl;
  259. TOCISessionBegin=function(svchp:pOCISvcCtx;
  260.                          errhp:pOCIError;
  261.                          usrhp:pOCISession;
  262.                          credt:ub4;
  263.                          mode:ub4):sword; cdecl;
  264. TOCISessionEnd=function(svchp:pOCISvcCtx;
  265.                         errhp:pOCIError;
  266.                         usrhp:pOCISession;
  267.                         mode:ub4):sword; cdecl;
  268. TOCIServerDetach=function(srvhp:pOCIServer;
  269.                           errhp:pOCIError;
  270.                           mode:ub4):sword; cdecl;
  271. TOCIHandleFree=function(hndlp:pointer;
  272.                        atype:ub4):sword; cdecl;
  273.  
  274. TOCIErrorGet=function(hndlp:pointer;
  275.                       recordno:ub4;
  276.                       sqlstate:pchar;
  277.                       var errcodep:sb4;
  278.                       bufp:pchar;
  279.                       bufsiz:ub4;
  280.                       atype:ub4):sword; cdecl;
  281. TOCIStmtPrepare=function(stmtp:pOCIStmt;
  282.                          errhp:pOCIError;
  283.                          stmt:pchar;
  284.                          stmt_len:ub4;
  285.                          language:ub4;
  286.                          mode:ub4):sword; cdecl;
  287. TOCIStmtExecute=function(svchp:pOCISvcCtx;
  288.                          stmtp:pOCIStmt;
  289.                          errhp:pOCIError;
  290.                          iters:ub4;
  291.                          rowoff:ub4;
  292.                          snap_in:pOCISnapshot;
  293.                          snap_out:pOCISnapshot;
  294.                          mode:ub4):sword; cdecl;
  295. TOCIParamGet=function(hndlp:pointer;
  296.                       htype:ub4;
  297.                       errhp:pOCIError;
  298.                       var parmdpp:pointer;
  299.                       pos:ub4):sword; cdecl;
  300. TOCIAttrGet=function(trgthndlp:pointer;
  301.                      trghndltyp:ub4;
  302.                      attributep:pointer;
  303.                      sizep:pointer;
  304.                      attrtype:ub4;
  305.                      errhp:pOCIError):sword; cdecl;
  306. TOCIStmtFetch=function(stmtp:pOCIStmt;
  307.                        errhp:pOCIError;
  308.                        nrows:ub4;
  309.                        orientation:ub2;
  310.                        mode:ub4):sword; cdecl;
  311. TOCIDefineByPos=function(stmtp:pOCIStmt;
  312.                          var defnpp:pOCIDefine;
  313.                          errhp:pOCIError;
  314.                          position:ub4;
  315.                          valuep:pointer;
  316.                          value_sz:sb4;
  317.                          dty:ub2;
  318.                          indp:pointer;
  319.                          rlenp:pointer;
  320.                          rcodep:pointer;
  321.                          mode:ub4):sword; cdecl;
  322. TOCIDefineArrayOfStruct=function(
  323.                          defnpp:pOCIDefine;
  324.                          errhp:pOCIError;
  325.                          pvskip:ub4;
  326.                          indskip:ub4;
  327.                          rlskip:ub4;
  328.                          rcskip:ub4
  329.                          ):sword; cdecl;
  330. TOCIBindByPos=function(  stmtp:pOCIStmt;
  331.                          var bindpp:pOCIBind;
  332.                          errhp:pOCIError;
  333.                          position:ub4;
  334.                          valuep:pointer;
  335.                          value_sz:sb4;
  336.                          dty:ub2;
  337.                          indp:pointer;
  338.                          var alenp:ub2;
  339.                          var rcodep:ub2;
  340.                          maxarr_len:ub4;
  341.                          var curelep:ub4;
  342.                          mode:ub4):sword;cdecl;
  343. TOCIBindByName=function( stmtp:pOCIStmt;
  344.                          var bindpp:pOCIBind;
  345.                          errhp:pOCIError;
  346.                          placeholder:PChar;
  347.                          placeh_len:sb4;
  348.                          valuep:pointer;
  349.                          value_sz:sb4;
  350.                          dty:ub2;
  351.                          indp:pointer;
  352.                          alenp:pointer;
  353.                          rcodep:pointer;
  354.                          maxarr_len:ub4;
  355.                          curelep:pointer;
  356.                          mode:ub4):sword;cdecl;
  357. TOCITransStart=function( svchp:pOCISvcCtx;
  358.                          errhp:pOCIError;
  359.                          timeout:word;
  360.                          flags:ub4):sword;cdecl;
  361. TOCITransRollback=function(svchp:pOCISvcCtx;
  362.                            errhp:pOCIError;
  363.                            flags:ub4):sword;cdecl;
  364. TOCITransCommit=function(svchp:pOCISvcCtx;
  365.                          errhp:pOCIError;
  366.                          flags:ub4):sword;cdecl;
  367. TOCIDescribeAny=function(svchp:pOCISvcCtx;
  368.                          errhp:pOCIError;
  369.                          objptr:pointer;
  370.                          objnm_len:ub4;
  371.                          objptr_typ:ub1;
  372.                          info_level:ub1;
  373.                          objtyp:ub1;
  374.                          dschp:pOCIDescribe):sword;cdecl;
  375. TOCIBreak =     function(svchp:pOCISvcCtx;
  376.                          errhp:pOCIError):sword;cdecl;
  377.  
  378. TOCIDescriptorAlloc = function(parenth:pOCIEnv;
  379.                                descpp:pointer;
  380.                                htype:ub4;
  381.                                xtramem_sz:integer;
  382.                                usrmempp:pointer):sword;cdecl;
  383.  
  384. TOCIDescriptorFree = function(descp:pointer;
  385.                               htype:ub4):sword;cdecl;
  386. TOCILobGetLength = function(svchp:pOCISvcCtx;
  387.                             errhp:pOCIError;
  388.                             locp:pOCILobLocator;
  389.                             var amtp:ub4):sword; cdecl;
  390.  
  391. TOCILobRead = function(svchp:pOCISvcCtx;
  392.                        errhp:pOCIError;
  393.                        locp:pOCILobLocator;
  394.                        var amtp:ub4;
  395.                        offset:ub4;
  396.                        bufp:pointer;
  397.                        bufl:ub4;
  398.                        ctxp:pointer;
  399.                        OCICallbackLobRead:pointer;
  400.                        csid:ub2;
  401.                        csfrm:ub1):sword;cdecl;
  402.  
  403. TOCILobWrite= function(svchp:pOCISvcCtx;
  404.                        errhp:pOCIError;
  405.                        locp:pOCILobLocator;
  406.                        var amtp:ub4;
  407.                        offset:ub4;
  408.                        bufp:pointer;
  409.                        bufl:ub4;
  410.                        piece:ub1;
  411.                        ctxp:pointer;
  412.                        OCICallbackLobWrite:pointer;
  413.                        csid:ub2;
  414.                        csfrm:ub1):sword;cdecl;
  415.  
  416. TOCILobErase= function(svchp:pOCISvcCtx;
  417.                        errhp:pOCIError;
  418.                        locp:pOCILobLocator;
  419.                        var amount:ub4;
  420.                        offset:ub4):sword;cdecl;
  421.  
  422. TOCILobTrim= function(svchp:pOCISvcCtx;
  423.                        errhp:pOCIError;
  424.                        locp:pOCILobLocator;
  425.                        newlen:ub4):sword;cdecl;
  426.  
  427. TOCIStmtGetPieceInfo = function(stmtp:pOCIStmt;
  428.                                 errhp:pOCIError;
  429.                                 var hndlpp:pointer;
  430.                                 var typep:ub4;
  431.                                 var in_outp:ub1;
  432.                                 var iterp:ub4;
  433.                                 var idxp:ub4;
  434.                                 var piecep:ub1):sword;cdecl;
  435.  
  436. TOCIStmtSetPieceInfo = function(handle:pointer;
  437.                                 typep:ub4;
  438.                                 errhp:pOCIError;
  439.                                 buf:pointer;
  440.                                 var alenp:ub4;
  441.                                 piece:ub1;
  442.                                 indp:pointer;
  443.                                 var rcodep:ub2):sword;cdecl;
  444.  
  445.     oradate=record
  446.      century,year,month,day,hour,minute,second:ub1;
  447.     end;
  448.  
  449. implementation
  450.  
  451. end.
  452.