Documentation
¶
Index ¶
- Constants
- type AcceptPacket
- type AddressResolution
- type BindError
- type ClientData
- type ConnectPacket
- type ConnectionOption
- type Data
- type DataPacket
- type MarkerPacket
- type OracleError
- type Packet
- type PacketInterface
- type PacketType
- type RedirectPacket
- type RefusePacket
- type Session
- func (session *Session) Connect() error
- func (session *Session) Disconnect()
- func (session *Session) GetByte() (uint8, error)
- func (session *Session) GetBytes(length int) ([]byte, error)
- func (session *Session) GetClr() (output []byte, err error)
- func (session *Session) GetDlc() (output []byte, err error)
- func (session *Session) GetError() *OracleError
- func (session *Session) GetInt(size int, compress bool, bigEndian bool) (int, error)
- func (session *Session) GetInt64(size int, compress bool, bigEndian bool) (int64, error)
- func (session *Session) GetKeyVal() (key []byte, val []byte, num int, err error)
- func (session *Session) GetNullTermString(maxSize int) (result string, err error)
- func (session *Session) GetString(length int) (string, error)
- func (session *Session) HasError() bool
- func (session *Session) LoadSSLData(certs, keys, certRequests [][]byte) error
- func (session *Session) LoadState()
- func (session *Session) PutBytes(data ...byte)
- func (session *Session) PutClr(data []byte)
- func (session *Session) PutInt(number interface{}, size uint8, bigEndian bool, compress bool)
- func (session *Session) PutKeyVal(key []byte, val []byte, num uint8)
- func (session *Session) PutKeyValString(key string, val string, num uint8)
- func (session *Session) PutString(data string)
- func (session *Session) PutUint(number interface{}, size uint8, bigEndian bool, compress bool)
- func (session *Session) ResetBuffer()
- func (session *Session) SaveState()
- func (session *Session) Write() error
- type SessionContext
- type SummaryObject
- type WarningObject
Constants ¶
const (
DefaultAddress string = "(Description=(Address=(Protocol=tcp)(IP=loopback)(port=1521))(CONNECT_DATA=(SID="
)
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AcceptPacket ¶
type AcceptPacket struct {
// contains filtered or unexported fields
}
type AcceptPacket Packet
type AddressResolution ¶
type ClientData ¶
type ConnectPacket ¶
type ConnectPacket struct {
// contains filtered or unexported fields
}
type ConnectPacket Packet
type ConnectionOption ¶
type ConnectionOption struct { //Port int TransportConnectTo int SSLVersion string WalletDict string TransportDataUnitSize uint32 SessionDataUnitSize uint32 Protocol string //Host string UserID string Servers []string Ports []int //IP string SID string //Addr string //Server string ServiceName string InstanceName string DomainName string DBName string ClientData ClientData //InAddrAny bool Tracer trace.Tracer SNOConfig map[string]string PrefetchRows int SSL bool SSLVerify bool // contains filtered or unexported fields }
func (*ConnectionOption) AddServer ¶ added in v2.2.11
func (op *ConnectionOption) AddServer(host string, port int)
func (*ConnectionOption) ConnectionData ¶
func (op *ConnectionOption) ConnectionData() string
func (*ConnectionOption) GetActiveServer ¶ added in v2.2.11
func (op *ConnectionOption) GetActiveServer(jump bool) (string, int)
type DataPacket ¶
type DataPacket struct { Packet // contains filtered or unexported fields }
type MarkerPacket ¶
type MarkerPacket struct {
// contains filtered or unexported fields
}
type OracleError ¶ added in v2.2.8
func (*OracleError) Error ¶ added in v2.2.8
func (err *OracleError) Error() string
type PacketInterface ¶
type PacketInterface interface {
// contains filtered or unexported methods
}
type PacketType ¶
type PacketType uint8
const ( CONNECT PacketType = 1 ACCEPT PacketType = 2 ACK PacketType = 3 REFUSE PacketType = 4 REDIRECT PacketType = 5 DATA PacketType = 6 NULL PacketType = 7 ABORT PacketType = 9 RESEND PacketType = 11 MARKER PacketType = 12 ATTN PacketType = 13 CTRL PacketType = 14 HIGHEST PacketType = 19 )
type RedirectPacket ¶
type RedirectPacket struct {
// contains filtered or unexported fields
}
type RefusePacket ¶
type RefusePacket struct { //dataOffset uint16 //Len uint16 //packetType PacketType //Flag uint8 Err OracleError SystemReason uint8 UserReason uint8 // contains filtered or unexported fields }
type Session ¶
type Session struct { //connOption ConnectionOption Context *SessionContext TimeZone []byte TTCVersion uint8 HasEOSCapability bool HasFSAPCapability bool Summary *SummaryObject StrConv converters.IStringConverter UseBigClrChunks bool UseBigScn bool ClrChunkSize int SSL struct { CertificateRequest []*x509.CertificateRequest PrivateKeys []*rsa.PrivateKey Certificates []*x509.Certificate // contains filtered or unexported fields } // contains filtered or unexported fields }
func NewSession ¶
func NewSession(connOption *ConnectionOption) *Session
func (*Session) Connect ¶
Connect perform network connection on address:port check if the client need to use SSL then send connect packet to the server and receive either accept, redirect or refuse packet
func (*Session) Disconnect ¶
func (session *Session) Disconnect()
Disconnect close the network and release resources
func (*Session) GetError ¶
func (session *Session) GetError() *OracleError
GetError Return the error in form or OracleError
func (*Session) GetInt ¶
GetInt read int number from input buffer.
you should specify the size of the int and either compress or not and stored as big endian or not
func (*Session) GetInt64 ¶
GetInt64 read int64 number from input buffer.
you should specify the size of the int and either compress or not and stored as big endian or not
func (*Session) GetKeyVal ¶
GetKeyVal read key, value (in form of bytearray), a number flag from input buffer
func (*Session) GetNullTermString ¶
GetNullTermString read a null terminated string from input buffer
func (*Session) LoadSSLData ¶ added in v2.2.1
LoadSSLData load data required for SSL connection like certificate, private keys and certificate requests
func (*Session) LoadState ¶
func (session *Session) LoadState()
LoadState load last saved session state and remove it from the memory
if this is the only session state availabe set session state memory to nil
func (*Session) PutInt ¶
PutInt write int number with size entered either use bigEndian or not and use compression or not to
func (*Session) PutKeyVal ¶
PutKeyVal write key, val (in form of bytearray) and flag number to output buffer
func (*Session) PutKeyValString ¶
PutKeyValString write key, val (in form of string) and flag number to output buffer
func (*Session) PutUint ¶
PutUint write uint number with size entered either use bigEndian or not and use compression or not to
func (*Session) ResetBuffer ¶
func (session *Session) ResetBuffer()
ResetBuffer empty in and out buffer and set read index to 0
type SessionContext ¶
type SessionContext struct { //conn net.Conn ConnOption *ConnectionOption //PortNo int //InstanceName string //HostName string //IPAddress string //Protocol string //ServiceName string SID []byte //ConnectData string Version uint16 LoVersion uint16 Options uint16 NegotiatedOptions uint16 OurOne uint16 Histone uint16 ReconAddr string ACFL0 uint8 ACFL1 uint8 SessionDataUnit uint32 TransportDataUnit uint32 UsingAsyncReceivers bool IsNTConnected bool OnBreakReset bool GotReset bool AdvancedService struct { CryptAlgo security.OracleNetworkEncryption HashAlgo security.OracleNetworkDataIntegrity SessionKey []byte IV []byte } // contains filtered or unexported fields }
func NewSessionContext ¶
func NewSessionContext(connOption *ConnectionOption) *SessionContext
type SummaryObject ¶
type SummaryObject struct { EndOfCallStatus int // uint32 EndToEndECIDSequence int // uint16 CurRowNumber int // uint32 RetCode int // uint16 CursorID int // uint16 Flags int // uint16 ErrorMessage []byte // contains filtered or unexported fields }
func NewSummary ¶
func NewSummary(session *Session) (*SummaryObject, error)
type WarningObject ¶
type WarningObject struct {
// contains filtered or unexported fields
}
func NewWarningObject ¶
func NewWarningObject(session *Session) (*WarningObject, error)