Documentation
¶
Index ¶
- func BuildUrl(server string, port int, service, user, password string, ...) string
- func HexStringToBytes(input string) ([]byte, error)
- func NewWallet(filePath string) (*wallet, error)
- func TZBytes() []byte
- type AuthObject
- type Connection
- func (conn *Connection) Begin() (driver.Tx, error)
- func (conn *Connection) Close() (err error)
- func (conn *Connection) GetNLS() (*NLSData, error)
- func (conn *Connection) Open() error
- func (conn *Connection) Ping(_ context.Context) error
- func (conn *Connection) Prepare(query string) (driver.Stmt, error)
- func (conn *Connection) RegisterType(typeName string, typeObj interface{}) error
- func (conn *Connection) RegisterType2(typeName string, typeObj interface{}) error
- func (conn *Connection) RegisterTypeWithOwner(owner, typeName string, typeObj interface{}) error
- func (conn *Connection) SetStringConverter(converter converters.IStringConverter)
- type ConnectionState
- type ConnectionString
- type DBAPrivilege
- type DBVersion
- type DataSet
- func (dataSet *DataSet) Close() error
- func (dataSet DataSet) ColumnTypeDatabaseTypeName(index int) string
- func (dataSet DataSet) ColumnTypeLength(index int) (length int64, ok bool)
- func (dataSet DataSet) ColumnTypeNullable(index int) (nullable, ok bool)
- func (dataSet *DataSet) Columns() []string
- func (dataSet *DataSet) Err() error
- func (dataSet *DataSet) Next(dest []driver.Value) error
- func (dataSet *DataSet) Next_() bool
- func (dataSet *DataSet) Scan(dest ...interface{}) error
- func (dataSet DataSet) Trace(t trace.Tracer)
- type DataTypeNego
- type EnList
- type Lob
- type LogonMode
- type NLSData
- type NVarChar
- type OracleDriver
- type OracleType
- type ParameterDirection
- type ParameterInfo
- type ParameterType
- type PromotableTransaction
- type QueryResult
- type RefCursor
- type Row
- type Stmt
- func (stmt *Stmt) AddParam(name string, val driver.Value, size int, direction ParameterDirection)
- func (stmt *Stmt) AddRefCursorParam(name string)
- func (stmt *Stmt) CheckNamedValue(named *driver.NamedValue) error
- func (stmt *Stmt) Close() error
- func (stmt *Stmt) Exec(args []driver.Value) (driver.Result, error)
- func (stmt *Stmt) NewParam(name string, val driver.Value, size int, direction ParameterDirection) *ParameterInfo
- func (stmt *Stmt) NumInput() int
- func (stmt *Stmt) Query(args []driver.Value) (driver.Rows, error)
- func (stmt *Stmt) Query_(args []driver.Value) (*DataSet, error)
- type StmtInterface
- type StmtType
- type TCPNego
- type TimeStamp
- type Transaction
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func BuildUrl ¶ added in v2.2.5
func BuildUrl(server string, port int, service, user, password string, options map[string]string) string
BuildUrl create databaseURL from server, port, service, user, password, urlOptions this function help build a will formed databaseURL and accept any character as it convert special charters to corresponding values in URL
func HexStringToBytes ¶
HexStringToBytes convert hex-string to bytearray for example "03FF" will be converted to []byte{0x03, 0xFF}
Types ¶
type AuthObject ¶
type AuthObject struct { EServerSessKey string EClientSessKey string EPassword string ESpeedyKey string ServerSessKey []byte ClientSessKey []byte KeyHash []byte Salt string VerifierType int // contains filtered or unexported fields }
E infront of the variable means encrypted
func (*AuthObject) Write ¶
func (obj *AuthObject) Write(connOption *network.ConnectionOption, mode LogonMode, session *network.Session) error
write authentication data to network
type Connection ¶
type Connection struct { State ConnectionState LogonMode LogonMode SessionProperties map[string]string NLSData NLSData // contains filtered or unexported fields }
func NewConnection ¶
func NewConnection(databaseUrl string) (*Connection, error)
NewConnection create a new connection from databaseURL string
func (*Connection) Begin ¶
func (conn *Connection) Begin() (driver.Tx, error)
Begin called to begin a transaction
func (*Connection) Close ¶
func (conn *Connection) Close() (err error)
Close the connection by disconnect network session
func (*Connection) GetNLS ¶
func (conn *Connection) GetNLS() (*NLSData, error)
GetNLS return NLS properties of the connection. this function is left from v1. but v2 is using another method
func (*Connection) Open ¶
func (conn *Connection) Open() error
Open open the connection = bring it online
func (*Connection) Ping ¶
func (conn *Connection) Ping(_ context.Context) error
Ping test if connection is online
func (*Connection) Prepare ¶
func (conn *Connection) Prepare(query string) (driver.Stmt, error)
Prepare take a query string and create a stmt object
func (*Connection) RegisterType ¶ added in v2.2.6
func (conn *Connection) RegisterType(typeName string, typeObj interface{}) error
RegisterType register user defined type with owner equal to user id
func (*Connection) RegisterType2 ¶ added in v2.2.7
func (conn *Connection) RegisterType2(typeName string, typeObj interface{}) error
RegisterType2 same as RegisterType but get user defined type data with pl/sql package function: dbms_pickler.get_type_shape
DataType of UDT field that can be manipulated by this function are: NUMBER, VARCHAR2, NVARCHAR2, TIMESTAMP, DATE AND RAW
func (*Connection) RegisterTypeWithOwner ¶ added in v2.2.12
func (conn *Connection) RegisterTypeWithOwner(owner, typeName string, typeObj interface{}) error
RegisterTypeWithOwner take typename, owner and go type object and make an information structure that used to create a new type during query and store values in it
DataType of UDT field that can be manipulated by this function are: NUMBER, VARCHAR2, NVARCHAR2, TIMESTAMP, DATE AND RAW
func (*Connection) SetStringConverter ¶ added in v2.2.6
func (conn *Connection) SetStringConverter(converter converters.IStringConverter)
SetStringConverter this function is used to set a custom string converter interface that will used to encode and decode strings and bytearrays
type ConnectionState ¶
type ConnectionState int
const ( Closed ConnectionState = 0 Opened ConnectionState = 1 )
type ConnectionString ¶
type ConnectionString struct { DataSource string Host string Port int Servers []string Ports []int SID string ServiceName string InstanceName string DBAPrivilege DBAPrivilege EnList EnList ConnectionLifeTime int IncrPoolSize int DecrPoolSize int MaxPoolSize int MinPoolSize int Password string PasswordSecurityInfo bool Pooling bool ConnectionTimeOut int UserID string PromotableTransaction PromotableTransaction ProxyUserID string ProxyPassword string ValidateConnection bool StmtCacheSize int StmtCachePurge bool HaEvent bool LoadBalance bool MetadataBooling bool ContextConnection bool SelfTuning bool SSL bool SSLVerify bool ApplicationEdition string PoolRegulator int ConnectionPoolTimeout int Trace string // Trace file PrefetchRows int WalletPath string // contains filtered or unexported fields }
type DBAPrivilege ¶
type DBAPrivilege int
const ( NONE DBAPrivilege = 0 SYSDBA DBAPrivilege = 0x20 SYSOPER DBAPrivilege = 0x40 )
func DBAPrivilegeFromString ¶
func DBAPrivilegeFromString(s string) DBAPrivilege
type DBVersion ¶
type DataSet ¶
type DataSet struct { ColumnCount int RowCount int UACBufferLength int MaxRowSize int Cols []ParameterInfo Rows []Row // contains filtered or unexported fields }
func (DataSet) ColumnTypeDatabaseTypeName ¶
ColumnTypeDatabaseTypeName return Col DataType name
func (DataSet) ColumnTypeLength ¶
ColumnTypeLength return length of column type
func (DataSet) ColumnTypeNullable ¶
ColumnTypeNullable return if column allow null or not
func (*DataSet) Next_ ¶ added in v2.2.12
Next_ act like Next in sql package return false if no other rows in dataset
type DataTypeNego ¶
type NLSData ¶
type NLSData struct { Calender string Comp string Language string LengthSemantics string NCharConvExcep string NCharConvImp string DateLang string Sort string Currency string DateFormat string TimeFormat string IsoCurrency string NumericChars string DualCurrency string UnionCurrency string Timestamp string TimestampTZ string TTimezoneFormat string NTimezoneFormat string Territory string Charset string }
func (*NLSData) SaveNLSValue ¶
SaveNLSValue a helper function that convert between nls key and code
type OracleDriver ¶ added in v2.2.6
type OracleDriver struct { }
type OracleType ¶
type OracleType int
const ( NCHAR OracleType = 1 NUMBER OracleType = 2 SB1 OracleType = 3 SB2 OracleType = 3 SB4 OracleType = 3 FLOAT OracleType = 4 NullStr OracleType = 5 VarNum OracleType = 6 LONG OracleType = 8 VARCHAR OracleType = 9 ROWID OracleType = 11 DATE OracleType = 12 VarRaw OracleType = 15 BFloat OracleType = 21 BDouble OracleType = 22 RAW OracleType = 23 LongRaw OracleType = 24 UINT OracleType = 68 LongVarChar OracleType = 94 LongVarRaw OracleType = 95 CHAR OracleType = 96 CHARZ OracleType = 97 IBFloat OracleType = 100 IBDouble OracleType = 101 REFCURSOR OracleType = 102 OCIXMLType OracleType = 108 XMLType OracleType = 109 OCIRef OracleType = 110 OCIClobLocator OracleType = 112 OCIBlobLocator OracleType = 113 OCIFileLocator OracleType = 114 ResultSet OracleType = 116 OCIString OracleType = 155 OCIDate OracleType = 156 TimeStampDTY OracleType = 180 TimeStampTZ_DTY OracleType = 181 IntervalYM_DTY OracleType = 182 IntervalDS_DTY OracleType = 183 TimeTZ OracleType = 186 TIMESTAMP OracleType = 187 TimeStampTZ OracleType = 188 IntervalYM OracleType = 189 IntervalDS OracleType = 190 UROWID OracleType = 208 TimeStampLTZ_DTY OracleType = 231 TimeStampeLTZ OracleType = 232 )
func (OracleType) String ¶
func (i OracleType) String() string
type ParameterDirection ¶
type ParameterDirection int
const ( Input ParameterDirection = 1 Output ParameterDirection = 2 InOut ParameterDirection = 3 RetVal ParameterDirection = 9 )
type ParameterInfo ¶
type ParameterInfo struct { Name string TypeName string Direction ParameterDirection IsNull bool AllowNull bool ColAlias string DataType OracleType IsXmlType bool Flag uint8 Precision uint8 Scale uint8 MaxLen int MaxCharLen int MaxNoOfArrayElements int ContFlag int ToID []byte Version int CharsetID int CharsetForm int BValue []byte Value driver.Value OutputVarPtr interface{} // contains filtered or unexported fields }
type ParameterType ¶
type ParameterType int
const ( Number ParameterType = 1 String ParameterType = 2 )
type PromotableTransaction ¶
type PromotableTransaction int
const ( Promotable PromotableTransaction = 1 Local PromotableTransaction = 0 )
type QueryResult ¶
type QueryResult struct {
// contains filtered or unexported fields
}
func (*QueryResult) LastInsertId ¶
func (rs *QueryResult) LastInsertId() (int64, error)
func (*QueryResult) RowsAffected ¶
func (rs *QueryResult) RowsAffected() (int64, error)
type RefCursor ¶
type RefCursor struct { MaxRowSize int // contains filtered or unexported fields }
type Stmt ¶
type Stmt struct {
// contains filtered or unexported fields
}
func NewStmt ¶
func NewStmt(text string, conn *Connection) *Stmt
NewStmt create new stmt and set its connection properties
func (*Stmt) AddRefCursorParam ¶
AddRefCursorParam add new output parameter of type REFCURSOR
note: better to use sql.Out structure see examples for more information
func (*Stmt) CheckNamedValue ¶ added in v2.1.20
func (stmt *Stmt) CheckNamedValue(named *driver.NamedValue) error
func (*Stmt) Exec ¶
Exec execute stmt (INSERT, UPDATE, DELETE, DML, PLSQL) and return driver.Result object
func (*Stmt) NewParam ¶
func (stmt *Stmt) NewParam(name string, val driver.Value, size int, direction ParameterDirection) *ParameterInfo
NewParam return new parameter according to input data
note: DataType is defined from value enter in 2nd arg [val]
type StmtInterface ¶
type StmtInterface interface { Close() error // contains filtered or unexported methods }
type Transaction ¶
type Transaction struct {
// contains filtered or unexported fields
}
func (*Transaction) Commit ¶
func (tx *Transaction) Commit() error
func (*Transaction) Rollback ¶
func (tx *Transaction) Rollback() error