📄 sdora.hpp
字号:
typedef int *POCITypeParamMode;
typedef int OCICoherency;
typedef void *OCIType;
typedef void * *POCIType;
typedef void *OCITypeElem;
typedef void * *POCITypeElem;
typedef void *OCITypeMethod;
typedef void * *POCITypeMethod;
typedef char * *PPChar;
typedef int __cdecl (*TOCICallbackInBind)(Pdvoid ictxp, POCIBind phBind, int iter, int index, PPdvoid bufpp, ub4p alenp, ub1p piecep, PPdvoid indpp);
typedef int __cdecl (*TOCICallbackOutBind)(Pdvoid octxp, POCIBind phBind, int iter, int index, PPdvoid bufpp, ub4pp alenpp, ub1p piecep, PPdvoid indpp, ub2pp rcodepp);
typedef int __cdecl (*TOCICallbackDefine)(Pdvoid octxp, POCIDefine phDefn, int iter, PPdvoid bufpp, ub4pp alenpp, ub1p piecep, PPdvoid indpp, ub2pp rcodepp);
typedef int __cdecl (*TOCICallbackLobRead)(Pdvoid ctxp, const Pdvoid bufp, int len, Byte piece);
typedef int __cdecl (*TOCICallbackLobWrite)(Pdvoid ctxp, Pdvoid bufp, ub4p lenp, ub1p piece);
typedef int __cdecl (*TOCICallbackFailover)(Pdvoid svcctx, Pdvoid envctx, Pdvoid fo_ctx, int fo_type, int fo_event);
#pragma pack(push, 4)
struct TOCIFocbkStruct
{
TOCICallbackFailover callback_function;
void * *fo_ctx;
} ;
#pragma pack(pop)
typedef Pdvoid __cdecl (*Tmalocfp)(Pdvoid ctxp, int size);
typedef Pdvoid __cdecl (*Tralocfp)(Pdvoid ctxp, Pdvoid memptr, int newsize);
typedef void __cdecl (*Tmfreefp)(Pdvoid ctxp, Pdvoid memptr);
typedef int __cdecl (*TCBLobRead)(Pdvoid ctxp, const Pdvoid bufp, int len, Byte piece);
typedef int __cdecl (*TCBLobWrite)(Pdvoid ctxp, Pdvoid bufp, ub4p len, ub1p piece);
class DELPHICLASS ESDOraError;
class PASCALIMPLEMENTATION ESDOraError : public Sdcommon::ESDEngineError
{
typedef Sdcommon::ESDEngineError inherited;
public:
#pragma option push -w-inl
/* ESDEngineError.Create */ inline __fastcall ESDOraError(int AErrorCode, int ANativeError, const AnsiString Msg, int AErrorPos) : Sdcommon::ESDEngineError(AErrorCode, ANativeError, Msg, AErrorPos) { }
#pragma option pop
#pragma option push -w-inl
/* ESDEngineError.CreateDefPos */ inline __fastcall virtual ESDOraError(int AErrorCode, int ANativeError, const AnsiString Msg) : Sdcommon::ESDEngineError(AErrorCode, ANativeError, Msg) { }
#pragma option pop
public:
#pragma option push -w-inl
/* Exception.CreateFmt */ inline __fastcall ESDOraError(const AnsiString Msg, const System::TVarRec * Args, const int Args_Size) : Sdcommon::ESDEngineError(Msg, Args, Args_Size) { }
#pragma option pop
#pragma option push -w-inl
/* Exception.CreateRes */ inline __fastcall ESDOraError(int Ident)/* overload */ : Sdcommon::ESDEngineError(Ident) { }
#pragma option pop
#pragma option push -w-inl
/* Exception.CreateResFmt */ inline __fastcall ESDOraError(int Ident, const System::TVarRec * Args, const int Args_Size)/* overload */ : Sdcommon::ESDEngineError(Ident, Args, Args_Size) { }
#pragma option pop
#pragma option push -w-inl
/* Exception.CreateHelp */ inline __fastcall ESDOraError(const AnsiString Msg, int AHelpContext) : Sdcommon::ESDEngineError(Msg, AHelpContext) { }
#pragma option pop
#pragma option push -w-inl
/* Exception.CreateFmtHelp */ inline __fastcall ESDOraError(const AnsiString Msg, const System::TVarRec * Args, const int Args_Size, int AHelpContext) : Sdcommon::ESDEngineError(Msg, Args, Args_Size, AHelpContext) { }
#pragma option pop
#pragma option push -w-inl
/* Exception.CreateResHelp */ inline __fastcall ESDOraError(int Ident, int AHelpContext)/* overload */ : Sdcommon::ESDEngineError(Ident, AHelpContext) { }
#pragma option pop
#pragma option push -w-inl
/* Exception.CreateResFmtHelp */ inline __fastcall ESDOraError(System::PResStringRec ResStringRec, const System::TVarRec * Args, const int Args_Size, int AHelpContext)/* overload */ : Sdcommon::ESDEngineError(ResStringRec, Args, Args_Size, AHelpContext) { }
#pragma option pop
public:
#pragma option push -w-inl
/* TObject.Destroy */ inline __fastcall virtual ~ESDOraError(void) { }
#pragma option pop
};
#pragma pack(push, 1)
struct TIOraConnInfo
{
Byte ServerType;
cda_def *LdaPtr;
int *HdaPtr;
cda_def *CdaPtr;
} ;
#pragma pack(pop)
class DELPHICLASS TIOraDatabase;
class PASCALIMPLEMENTATION TIOraDatabase : public Sdcommon::TISqlDatabase
{
typedef Sdcommon::TISqlDatabase inherited;
private:
void *FHandle;
bool FIsEnableInts;
void __fastcall Check(short Status);
void __fastcall AllocHandle(void);
void __fastcall FreeHandle(void);
PCdaDef __fastcall GetCurHandle(void);
PLdaDef __fastcall GetLdaPtr(void);
int __fastcall GetMaxCharParamLen(void);
virtual void __fastcall GetStmtResult(const AnsiString Stmt, Classes::TStrings* List);
void __fastcall SetDefaultOptions(void);
protected:
virtual void * __fastcall GetHandle(void);
virtual void __fastcall DoConnect(const AnsiString ARemoteDatabase, const AnsiString AUserName, const AnsiString APassword);
virtual void __fastcall DoDisconnect(bool Force);
virtual void __fastcall DoCommit(void);
virtual void __fastcall DoRollback(void);
virtual void __fastcall DoStartTransaction(void);
virtual void __fastcall SetAutoCommitOption(bool Value);
virtual void __fastcall SetHandle(void * AHandle);
__property bool IsEnableInts = {read=FIsEnableInts, nodefault};
__property PCdaDef CurHandle = {read=GetCurHandle};
__property PLdaDef LdaPtr = {read=GetLdaPtr};
public:
__fastcall virtual TIOraDatabase(Classes::TStrings* ADbParams);
__fastcall virtual ~TIOraDatabase(void);
virtual Sdcommon::TISqlCommand* __fastcall CreateSqlCommand(void);
virtual int __fastcall GetClientVersion(void);
virtual int __fastcall GetServerVersion(void);
virtual AnsiString __fastcall GetVersionString();
virtual Sdcommon::TISqlCommand* __fastcall GetSchemaInfo(Sdcommon::TSDSchemaType ASchemaType, AnsiString AObjectName);
virtual int __fastcall ParamValue(Sdcommon::TSDDatabaseParam Value);
virtual void __fastcall SetTransIsolation(Sdcommon::TISqlTransIsolation Value);
virtual bool __fastcall SPDescriptionsAvailable(void);
virtual bool __fastcall TestConnected(void);
};
class DELPHICLASS TIOraCommand;
class PASCALIMPLEMENTATION TIOraCommand : public Sdcommon::TISqlCommand
{
typedef Sdcommon::TISqlCommand inherited;
private:
void *FHandle;
AnsiString FStmt;
void *FParamHandle;
bool FBoundParams;
bool FIsCursorParamExists;
bool FIsGetFieldDescs;
HIDESBASE TIOraDatabase* __fastcall GetSqlDatabase(void);
void __fastcall Connect(void);
void __fastcall CloseParamHandle(void);
void __fastcall InternalExecute(void);
void __fastcall InternalGetParams(void);
void __fastcall QBindParamsBuffer(void);
void __fastcall SpBindParamsBuffer(void);
protected:
void __fastcall Check(short Status);
bool __fastcall IsPLSQLBlockExecuted(void);
virtual int __fastcall CnvtDateTime2DBDateTime(Db::TFieldType ADataType, System::TDateTime Value, char * Buffer, int BufSize);
virtual Db::TFieldType __fastcall FieldDataType(int ExtDataType);
virtual Word __fastcall NativeDataSize(Db::TFieldType FieldType);
virtual int __fastcall NativeDataType(Db::TFieldType FieldType);
virtual bool __fastcall RequiredCnvtFieldType(Db::TFieldType FieldType);
virtual void __fastcall DoPrepare(AnsiString Value);
virtual void __fastcall DoExecDirect(AnsiString Value);
virtual void __fastcall DoExecute(void);
virtual void __fastcall BindParamsBuffer(void);
virtual void __fastcall FreeParamsBuffer(void);
virtual void __fastcall GetFieldDescs(Sdcommon::TSDFieldDescList* Descs);
virtual void * __fastcall GetHandle(void);
virtual void __fastcall InitParamList(void);
virtual void __fastcall SetFieldsBuffer(void);
public:
__fastcall virtual TIOraCommand(Sdcommon::TISqlDatabase* ASqlDatabase);
__fastcall virtual ~TIOraCommand(void);
virtual void __fastcall CloseResultSet(void);
virtual void __fastcall Disconnect(bool Force);
virtual int __fastcall GetRowsAffected(void);
virtual bool __fastcall ResultSetExists(void);
virtual bool __fastcall FetchNextRow(void);
virtual bool __fastcall GetCnvtFieldData(Sdcommon::TSDFieldDesc* AFieldDesc, void * Buffer, int BufSize);
virtual void __fastcall GetOutputParams(void);
virtual int __fastcall ReadBlob(Sdcommon::TSDFieldDesc* AFieldDesc, Sdcommon::TBytes &BlobData);
virtual int __fastcall WriteBlob(int FieldNo, const char * Buffer, int Count);
virtual int __fastcall WriteBlobByName(AnsiString Name, const char * Buffer, int Count);
__property TIOraDatabase* SqlDatabase = {read=GetSqlDatabase};
};
#pragma pack(push, 1)
struct TIOra8ConnInfo
{
Byte ServerType;
void * *phEnv;
void * *phErr;
void * *phSvc;
void * *phSrv;
void * *phUsr;
} ;
#pragma pack(pop)
class DELPHICLASS TIOra8Database;
class PASCALIMPLEMENTATION TIOra8Database : public Sdcommon::TISqlDatabase
{
typedef Sdcommon::TISqlDatabase inherited;
private:
void *FHandle;
bool FIsEnableInts;
bool FIsXAConn;
bool FUseOCIDateTime;
AnsiString FSessTimeZone;
bool FTempLobSupported;
void __fastcall AllocHandle(void);
void __fastcall FreeHandle(bool Force);
TIOra8ConnInfo __fastcall GetConnInfoStruct();
int __fastcall GetMaxCharParamLen(void);
POCIEnv __fastcall GetEnvPtr(void);
POCIError __fastcall GetErrPtr(void);
POCISvcCtx __fastcall GetSvcPtr(void);
POCIServer __fastcall GetSrvPtr(void);
POCISession __fastcall GetUsrPtr(void);
void __fastcall GetStmtResult(const AnsiString Stmt, Classes::TStrings* List);
void __fastcall SetConnInfoStruct(const TIOra8ConnInfo &Value);
protected:
void __fastcall Check(short Status);
void __fastcall CheckExt(short Status, POCIStmt AStmt);
virtual void * __fastcall GetHandle(void);
virtual void __fastcall DoConnect(const AnsiString sRemoteDatabase, const AnsiString sUserName, const AnsiString sPassword);
virtual void __fastcall DoDisconnect(bool Force);
virtual void __fastcall DoCommit(void);
virtual void __fastcall DoRollback(void);
virtual void __fastcall DoStartTransaction(void);
virtual void __fastcall SetAutoCommitOption(bool Value);
virtual void __fastcall SetHandle(void * AHandle);
__property bool IsEnableInts = {read=FIsEnableInts, nodefault};
__property bool IsXAConn = {read=FIsXAConn, nodefault};
__property POCISvcCtx SvcPtr = {read=GetSvcPtr};
__property POCIServer SrvPtr = {read=GetSrvPtr};
__property POCISession UsrPtr = {read=GetUsrPtr};
public:
__fastcall virtual TIOra8Database(Classes::TStrings* ADbParams);
__fastcall virtual ~TIOra8Database(void);
virtual Sdcommon::TISqlCommand* __fastcall CreateSqlCommand(void);
virtual int __fastcall GetClientVersion(void);
virtual int __fastcall GetServerVersion(void);
virtual AnsiString __fastcall GetVersionString();
virtual Sdcommon::TISqlCommand* __fastcall GetSchemaInfo(Sdcommon::TSDSchemaType ASchemaType, AnsiString AObjectName);
virtual void __fastcall SetTransIsolation(Sdcommon::TISqlTransIsolation Value);
virtual bool __fastcall SPDescriptionsAvailable(void);
virtual bool __fastcall TestConnected(void);
bool __fastcall IsOra8BlobMode(void);
bool __fastcall IsOra8BlobType(Db::TFieldType ADataType);
bool __fastcall IsLocFieldSubType(Word ASubType);
__property POCIEnv EnvPtr = {read=GetEnvPtr};
__property POCIError ErrPtr = {read=GetErrPtr};
__property AnsiString SessTimeZone = {read=FSessTimeZone};
__property bool UseOCIDateTime = {read=FUseOCIDateTime, nodefault};
__property bool TempLobSupported = {read=FTempLobSupported, nodefault};
};
typedef int __fastcall (*TOra8_get_cbf_get_long)(TOCICallbackDefine cbf_stdcall);
#pragma pack(push, 4)
struct TBindLobInfo
{
void * *phBind;
int ParamIdx;
} ;
#pragma pack(pop)
typedef DynamicArray<TBindLobInfo > TBindLobArray;
#pragma pack(push, 4)
struct TBindLobRec
{
void * *EnvPtr;
void * *ErrPtr;
int ColCount;
int RowCount;
void *BindInfoPtr;
void *LobLocPtr;
int *LobLenPtr;
} ;
#pragma pack(pop)
class DELPHICLASS TIOra8LobParams;
class PASCALIMPLEMENTATION TIOra8LobParams : public System::TObject
{
typedef System::TObject inherited;
private:
void *FBindLobPtr;
bool FExternalLobPtr;
TBindLobInfo __fastcall GetBindInfo(int Index);
POCIEnv __fastcall GetEnvPtr(void);
POCIError __fastcall GetErrPtr(void);
int __fastcall GetColCount(void);
int __fastcall GetRowCount(void);
void * __fastcall GetBindInfoPtr(void);
void * __fastcall GetLobLocArrayPtr(void);
void * __fastcall GetLobLenArrayPtr(void);
void __fastcall SetBindInfo(int Index, const TBindLobInfo &Value);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -