00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035 #ifndef OCILIB_OCI_IMPORT_H_INCLUDED
00036 #define OCILIB_OCI_IMPORT_H_INCLUDED
00037
00038 #ifdef OCI_IMPORT_LINKAGE
00039
00040
00041
00042
00043
00044
00045 #ifdef __cplusplus
00046 extern "C" {
00047 #endif
00048
00049 #include <oci.h>
00050 #include <orid.h>
00051 #include <oci8dp.h>
00052
00053 #ifdef __cplusplus
00054 }
00055 #endif
00056
00057 #ifdef _MSC_VER
00058 #pragma comment(lib, "oci.lib")
00059 #endif
00060
00061 #else
00062
00063 #include "oci_loader.h"
00064 #include "oci_api.h"
00065
00066
00067
00068 #ifndef OCI_DL
00069 #if defined(_WINDOWS)
00070 #define OCI_DL oci.dll
00071 #elif defined(__APPLE__)
00072 #define OCI_DL libclntsh.dylib
00073 #elif defined(__hppa)
00074 #define OCI_DL libclntsh.sl
00075 #else
00076 #define OCI_DL libclntsh.so
00077 #endif
00078 #endif
00079
00080
00081
00082 #define OCI_DL_ANSI_GET(s) OCI_DL_ANSI_CVT(s)
00083 #define OCI_DL_ANSI_CVT(s) #s
00084 #define OCI_DL_ANSI_NAME OCI_DL_ANSI_GET(OCI_DL)
00085
00086
00087
00088
00089 #define OCI_DL_META_GET(s) OCI_DL_META_CVT(s)
00090 #define OCI_DL_META_CVT(s) MT(#s)
00091 #define OCI_DL_META_NAME OCI_DL_META_GET(OCI_DL)
00092
00093
00094
00095 extern OCIENVCREATE OCIEnvCreate;
00096 extern OCISERVERATTACH OCIServerAttach;
00097 extern OCISERVERDETACH OCIServerDetach;
00098 extern OCIHANDLEALLOC OCIHandleAlloc;
00099 extern OCIHANDLEFREE OCIHandleFree;
00100 extern OCIDESCRIPTORALLOC OCIDescriptorAlloc;
00101 extern OCIDESCRIPTORFREE OCIDescriptorFree;
00102 extern OCISESSIONBEGIN OCISessionBegin;
00103 extern OCISESSIONEND OCISessionEnd;
00104 extern OCIPASSWORDCHANGE OCIPasswordChange;
00105 extern OCIBINDBYPOS OCIBindByPos;
00106 extern OCIBINDBYNAME OCIBindByName;
00107 extern OCIBINDDYNAMIC OCIBindDynamic;
00108 extern OCIBINDOBJECT OCIBindObject;
00109 extern OCIDEFINEBYPOS OCIDefineByPos;
00110 extern OCIDEFINEOBJECT OCIDefineObject;
00111 extern OCISTMTPREPARE OCIStmtPrepare;
00112 extern OCISTMTEXECUTE OCIStmtExecute;
00113 extern OCISTMTFETCH OCIStmtFetch;
00114 extern OCISTMTFETCH2 OCIStmtFetch2;
00115 extern OCISTMTGETPIECEINFO OCIStmtGetPieceInfo;
00116 extern OCISTMTSETPIECEINFO OCIStmtSetPieceInfo;
00117 extern OCIPARAMGET OCIParamGet;
00118 extern OCIPARAMSET OCIParamSet;
00119 extern OCITRANSSTART OCITransStart;
00120 extern OCITRANSDETACH OCITransDetach;
00121 extern OCITRANSPREPARE OCITransPrepare;
00122 extern OCITRANSFORGET OCITransForget;
00123 extern OCITRANSCOMMIT OCITransCommit;
00124 extern OCITRANSROLLBACK OCITransRollback;
00125 extern OCIERRORGET OCIErrorGet;
00126 extern OCILOBCREATETEMPORARY OCILobCreateTemporary;
00127 extern OCILOBFREETEMPORARY OCILobFreeTemporary;
00128 extern OCILOBISTEMPORARY OCILobIsTemporary;
00129 extern OCILOBAPPEND OCILobAppend;
00130 extern OCILOBCOPY OCILobCopy;
00131 extern OCILOBGETLENGTH OCILobGetLength;
00132 extern OCILOBREAD OCILobRead;
00133 extern OCILOBWRITE OCILobWrite;
00134 extern OCILOBTRIM OCILobTrim;
00135 extern OCILOBERASE OCILobErase;
00136 extern OCILOBOPEN OCILobOpen;
00137 extern OCILOBCLOSE OCILobClose;
00138 extern OCILOBLOCATORASSIGN OCILobLocatorAssign;
00139 extern OCILOBASSIGN OCILobAssign;
00140 extern OCILOBISEQUAL OCILobIsEqual;
00141 extern OCILOBFLUSHBUFFER OCILobFlushBuffer;
00142 extern OCILOBGETSTORAGELIMIT OCILobGetStorageLimit;
00143 extern OCILOBFILEOPEN OCILobFileOpen;
00144 extern OCILOBFILECLOSE OCILobFileClose;
00145 extern OCILOBFILECLOSEALL OCILobFileCloseAll;
00146 extern OCILOBFILEISOPEN OCILobFileIsOpen;
00147 extern OCILOBFILEEXISTS OCILobFileExists;
00148 extern OCILOBFIELGETNAME OCILobFileGetName;
00149 extern OCILOBFILESETNAME OCILobFileSetName;
00150 extern OCILOBLOADFROMFILE OCILobLoadFromFile;
00151 extern OCILOBWRITEAPPEND OCILobWriteAppend;
00152 extern OCISERVERVERSION OCIServerVersion;
00153 extern OCIBREAK OCIBreak;
00154 extern OCIATTRGET OCIAttrGet;
00155 extern OCIATTRSET OCIAttrSet;
00156 extern OCIDATEASSIGN OCIDateAssign;
00157 extern OCIDATETOTEXT OCIDateToText;
00158 extern OCIDATEFROMTEXT OCIDateFromText;
00159 extern OCIDATECOMPARE OCIDateCompare;
00160 extern OCIDATEADDMONTHS OCIDateAddMonths;
00161 extern OCIDATEADDDAYS OCIDateAddDays;
00162 extern OCIDATELASTDAY OCIDateLastDay;
00163 extern OCIDATEDAYSBETWEEN OCIDateDaysBetween;
00164 extern OCIDATEZONETOZONE OCIDateZoneToZone;
00165 extern OCIDATENEXTDAY OCIDateNextDay;
00166 extern OCIDATECHECK OCIDateCheck;
00167 extern OCIDATESYSDATE OCIDateSysDate;
00168 extern OCIDESCRIBEANY OCIDescribeAny;
00169 extern OCIINTERVALASSIGN OCIIntervalAssign;
00170 extern OCIINTERVALCHECK OCIIntervalCheck;
00171 extern OCIINTERVALCOMPARE OCIIntervalCompare;
00172 extern OCIINTERVALFROMTEXT OCIIntervalFromText;
00173 extern OCIINTERVALTOTEXT OCIIntervalToText;
00174 extern OCIINTERVALFROMTZ OCIIntervalFromTZ;
00175 extern OCIINTERVALGETDAYSECOND OCIIntervalGetDaySecond;
00176 extern OCIINTERVALGETYEARMONTH OCIIntervalGetYearMonth;
00177 extern OCIINTERVALSETDAYSECOND OCIIntervalSetDaySecond;
00178 extern OCIINTERVALSETYEARMONTH OCIIntervalSetYearMonth;
00179 extern OCIINTERVALSUBTRACT OCIIntervalSubtract;
00180 extern OCIINTERVALADD OCIIntervalAdd;
00181 extern OCIDATETIMEASSIGN OCIDateTimeAssign;
00182 extern OCIDATETIMECHECK OCIDateTimeCheck;
00183 extern OCIDATETIMECOMPARE OCIDateTimeCompare;
00184 extern OCIDATETIMECONSTRUCT OCIDateTimeConstruct;
00185 extern OCIDATETIMECONVERT OCIDateTimeConvert;
00186 extern OCIDATETIMEFROMARRAY OCIDateTimeFromArray;
00187 extern OCIDATETIMETOARRAY OCIDateTimeToArray;
00188 extern OCIDATETIMEFROMTEXT OCIDateTimeFromText;
00189 extern OCIDATETIMETOTEXT OCIDateTimeToText;
00190 extern OCIDATETIMEGETDATE OCIDateTimeGetDate;
00191 extern OCIDATETIMEGETTIME OCIDateTimeGetTime;
00192 extern OCIDATETIMEGETTIMEZONENAME OCIDateTimeGetTimeZoneName;
00193 extern OCIDATETIMEGETTIMEZONEOFFSET OCIDateTimeGetTimeZoneOffset;
00194 extern OCIDATETIMEINTERVALADD OCIDateTimeIntervalAdd;
00195 extern OCIDATETIMEINTERVALSUB OCIDateTimeIntervalSub;
00196 extern OCIDATETIMESUBTRACT OCIDateTimeSubtract;
00197 extern OCIDATETIMESYSTIMESTAMP OCIDateTimeSysTimeStamp;
00198 extern OCIARRAYDESCRIPTORFREE OCIArrayDescriptorFree;
00199 extern OCICLIENTVERSION OCIClientVersion;
00200 extern OCITYPEBYNAME OCITypeByName;
00201 extern OCINUMBERTOINT OCINumberToInt;
00202 extern OCINUMBERFROMINT OCINumberFromInt;
00203 extern OCINUMBERTOREAL OCINumberToReal;
00204 extern OCINUMBERFROMREAL OCINumberFromReal;
00205 extern OCINUMBERTOTEXT OCINumberToText;
00206 extern OCINUMBERFROMTEXT OCINumberFromText;
00207 extern OCISTRINGPTR OCIStringPtr;
00208 extern OCISTRINGASSIGNTEXT OCIStringAssignText;
00209 extern OCIRAWPTR OCIRawPtr;
00210 extern OCIRAWASSIGNBYTES OCIRawAssignBytes;
00211 extern OCIRAWALLOCSIZE OCIRawAllocSize;
00212 extern OCIOBJECTNEW OCIObjectNew;
00213 extern OCIOBJECTFREE OCIObjectFree;
00214 extern OCIOBJECTSETATTR OCIObjectSetAttr;
00215 extern OCIOBJECTGETATTR OCIObjectGetAttr;
00216 extern OCIOBJECTPIN OCIObjectPin;
00217 extern OCIOBJECTUNPIN OCIObjectUnpin;
00218 extern OCIOBJECTCOPY OCIObjectCopy;
00219 extern OCIOBJECTGETOBJECTREF OCIObjectGetObjectRef;
00220 extern OCIOBJECTGETPROPERTY OCIObjectGetProperty;
00221 extern OCIOBJECTGETIND OCIObjectGetInd;
00222 extern OCIREFASSIGN OCIRefAssign;
00223 extern OCIREFISNULL OCIRefIsNull;
00224 extern OCIREFCLEAR OCIRefClear;
00225 extern OCIREFTOHEX OCIRefToHex;
00226 extern OCIREFHEXSIZE OCIRefHexSize;
00227 extern OCITHREADPROCESSINIT OCIThreadProcessInit;
00228 extern OCITHREADINIT OCIThreadInit;
00229 extern OCITHREADTERM OCIThreadTerm;
00230 extern OCITHREADIDINIT OCIThreadIdInit;
00231 extern OCITHREADIDDESTROY OCIThreadIdDestroy;
00232 extern OCITHREADHNDINIT OCIThreadHndInit;
00233 extern OCITHREADHNDDESTROY OCIThreadHndDestroy;
00234 extern OCITHREADCREATE OCIThreadCreate;
00235 extern OCITHREADJOIN OCIThreadJoin;
00236 extern OCITHREADCLOSE OCIThreadClose;
00237 extern OCITHREADMUTEXINIT OCIThreadMutexInit;
00238 extern OCITHREADMUTEXDESTROY OCIThreadMutexDestroy;
00239 extern OCITHREADMUTEXACQUIRE OCIThreadMutexAcquire;
00240 extern OCITHREADMUTEXRELEASE OCIThreadMutexRelease;
00241 extern OCITHREADKEYINIT OCIThreadKeyInit;
00242 extern OCITHREADKEYDESTROY OCIThreadKeyDestroy;
00243 extern OCITHREADKEYSET OCIThreadKeySet;
00244 extern OCITHREADKEYGET OCIThreadKeyGet;
00245 extern OCICONNECTIONPOOLCREATE OCIConnectionPoolCreate;
00246 extern OCICONNECTIONPOOLDESTROY OCIConnectionPoolDestroy;
00247 extern OCICOLLSIZE OCICollSize;
00248 extern OCICOLLMAX OCICollMax;
00249 extern OCICOLLGETITEM OCICollGetElem;
00250 extern OCICOLLASSIGNELEM OCICollAssignElem;
00251 extern OCICOLLASSIGN OCICollAssign;
00252 extern OCICOLLAPPEND OCICollAppend;
00253 extern OCICOLLTRIM OCICollTrim;
00254 extern OCIITERCREATE OCIIterCreate;
00255 extern OCIITERDELETE OCIIterDelete;
00256 extern OCIITERINIT OCIIterInit;
00257 extern OCIITERNEXT OCIIterNext;
00258 extern OCIITERPREV OCIIterPrev;
00259
00260 extern OCIDIRPATHABORT OCIDirPathAbort;
00261 extern OCIDIRPATHDATASAVE OCIDirPathDataSave;
00262 extern OCIDIRPATHFINISH OCIDirPathFinish;
00263 extern OCIDIRPATHPREPARE OCIDirPathPrepare;
00264 extern OCIDIRPATHLOADSTREAM OCIDirPathLoadStream;
00265 extern OCIDIRPATHCOLARRAYENTRYSET OCIDirPathColArrayEntrySet;
00266 extern OCIDIRPATHCOLARRAYRESET OCIDirPathColArrayReset;
00267 extern OCIDIRPATHCOLARRAYTOSTREAM OCIDirPathColArrayToStream;
00268 extern OCIDIRPATHSTREAMRESET OCIDirPathStreamReset;
00269 extern OCIDIRPATHFLUSHROW OCIDirPathFlushRow;
00270
00271 extern OCICACHEFREE OCICacheFree;
00272
00273 extern OCIPING OCIPing;
00274
00275 #ifdef ORAXB8_DEFINED
00276
00277 extern OCILOBCOPY2 OCILobCopy2;
00278 extern OCILOBERASE2 OCILobErase2;
00279 extern OCILOBGETLENGTH2 OCILobGetLength2;
00280 extern OCILOBLOADFROMFILE2 OCILobLoadFromFile2;
00281 extern OCILOBREAD2 OCILobRead2;
00282 extern OCILOBTRIM2 OCILobTrim2;
00283 extern OCILOBWRITE2 OCILobWrite2;
00284 extern OCILOBWRITEAPPEND2 OCILobWriteAppend2;
00285
00286 extern OCIDBSTARTUP OCIDBStartup;
00287 extern OCIDBSHUTDOWN OCIDBShutdown;
00288
00289 extern OCISTMTPREPARE2 OCIStmtPrepare2;
00290 extern OCISTMTRELEASE OCIStmtRelease;
00291
00292 #endif
00293
00294 #define OCIDateGetTime(date, hour, min, sec) \
00295 { \
00296 *hour = (date)->OCIDateTime.OCITimeHH; \
00297 *min = (date)->OCIDateTime.OCITimeMI; \
00298 *sec = (date)->OCIDateTime.OCITimeSS; \
00299 }
00300
00301 #define OCIDateGetDate(date, year, month, day) \
00302 { \
00303 *year = (date)->OCIDateYYYY; \
00304 *month = (date)->OCIDateMM; \
00305 *day = (date)->OCIDateDD; \
00306 }
00307
00308 #define OCIDateSetTime(date, hour, min, sec) \
00309 { \
00310 (date)->OCIDateTime.OCITimeHH = hour; \
00311 (date)->OCIDateTime.OCITimeMI = min; \
00312 (date)->OCIDateTime.OCITimeSS = sec; \
00313 }
00314
00315 #define OCIDateSetDate(date, year, month, day) \
00316 { \
00317 (date)->OCIDateYYYY = year; \
00318 (date)->OCIDateMM = month; \
00319 (date)->OCIDateDD = day; \
00320 }
00321
00322 #endif
00323
00324 #endif
00325