Documentation ¶
Index ¶
- Constants
- func AddSessionParam(db *sql.DB, key, value string) error
- func BuildJDBC(user, password, connStr string, options map[string]string) string
- func BuildUrl(server string, port int, service, user, password string, ...) string
- func DelSessionParam(db *sql.DB, key string)
- func NewConnector(connString string) driver.Connector
- func ParseConfig(dsn string) (*configurations.ConnectionConfig, error)
- func RegisterConnConfig(config *configurations.ConnectionConfig)
- func RegisterType(conn *sql.DB, typeName, arrayTypeName string, typeObj interface{}) error
- func RegisterTypeWithOwner(conn *sql.DB, owner, typeName, arrayTypeName string, typeObj interface{}) error
- func SetNTSAuth(newNTSManager advanced_nego.NTSAuthInterface)
- func SetStringConverter(db GetDriverInterface, charset, nCharset converters.IStringConverter)
- func TZBytes() []byte
- func WrapRefCursor(ctx context.Context, q Querier, cursor *RefCursor) (*sql.Rows, error)
- type AuthObject
- type BFile
- func (file *BFile) Close() error
- func (file *BFile) Exists() (bool, error)
- func (file *BFile) GetDirName() string
- func (file *BFile) GetFileName() string
- func (file *BFile) GetLength() (int64, error)
- func (file *BFile) IsOpen() bool
- func (file *BFile) Open() error
- func (file *BFile) Read() ([]byte, error)
- func (file *BFile) ReadBytesFromPos(pos, count int64) ([]byte, error)
- func (file *BFile) ReadFromPos(pos int64) ([]byte, error)
- func (file *BFile) Scan(value interface{}) error
- type Blob
- type BulkCopy
- type Clob
- type Connection
- func (conn *Connection) Begin() (driver.Tx, error)
- func (conn *Connection) BeginTx(ctx context.Context, opts driver.TxOptions) (driver.Tx, error)
- func (conn *Connection) BulkInsert(sqlText string, rowNum int, columns ...[]driver.Value) (*QueryResult, error)
- func (conn *Connection) CheckNamedValue(_ *driver.NamedValue) error
- func (conn *Connection) Close() (err error)
- func (conn *Connection) Exec(text string, args ...driver.Value) (driver.Result, error)
- func (conn *Connection) ExecContext(ctx context.Context, query string, args []driver.NamedValue) (driver.Result, error)
- func (conn *Connection) GetNLS() (*NLSData, error)
- func (conn *Connection) Logoff() error
- func (conn *Connection) Open() error
- func (conn *Connection) OpenWithContext(ctx context.Context) error
- func (conn *Connection) Ping(ctx context.Context) error
- func (conn *Connection) Prepare(query string) (driver.Stmt, error)
- func (conn *Connection) PrepareContext(ctx context.Context, query string) (driver.Stmt, error)
- func (conn *Connection) QueryContext(ctx context.Context, query string, args []driver.NamedValue) (driver.Rows, error)
- func (conn *Connection) QueryRowContext(ctx context.Context, query string, args []driver.NamedValue) *DataSet
- func (conn *Connection) ResetSession(_ context.Context) error
- func (conn *Connection) StructsInsert(sqlText string, values []interface{}) (*QueryResult, error)
- type ConnectionState
- type DBVersion
- type DataSet
- func (dataSet *DataSet) Close() error
- func (dataSet *DataSet) ColumnTypeDatabaseTypeName(index int) string
- func (dataSet *DataSet) ColumnTypeLength(index int) (int64, bool)
- func (dataSet *DataSet) ColumnTypeNullable(index int) (nullable, ok bool)
- func (dataSet *DataSet) ColumnTypePrecisionScale(index int) (int64, int64, bool)
- func (dataSet *DataSet) ColumnTypeScanType(index int) reflect.Type
- 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 GetDriverInterface
- type Lob
- type LogonMode
- type NClob
- type NLSData
- type NVarChar
- type NullNVarChar
- type NullTimeStamp
- type NullTimeStampTZ
- type Number
- type Object
- type OracleConnector
- type OracleDriver
- type Out
- type PLBool
- type ParameterDirection
- type ParameterInfo
- type Querier
- type QueryResult
- type RefCursor
- type Row
- type Stmt
- func (stmt *Stmt) CanAutoClose() bool
- func (stmt *Stmt) CheckNamedValue(_ *driver.NamedValue) error
- func (stmt *Stmt) Close() error
- func (stmt *Stmt) Exec(args []driver.Value) (driver.Result, error)
- func (stmt *Stmt) ExecContext(ctx context.Context, args []driver.NamedValue) (driver.Result, error)
- func (stmt *Stmt) NewParam(name string, val driver.Value, size int, direction ParameterDirection) (*ParameterInfo, error)
- func (stmt *Stmt) NumInput() int
- func (stmt *Stmt) Query(args []driver.Value) (driver.Rows, error)
- func (stmt *Stmt) QueryContext(ctx context.Context, namedArgs []driver.NamedValue) (driver.Rows, error)
- func (stmt *Stmt) Query_(namedArgs []driver.NamedValue) (*DataSet, error)
- type StmtInterface
- type StmtType
- type TCPNego
- type TNSType
- type TimeStamp
- type TimeStampTZ
- type Transaction
- type ValueEncoder
Constants ¶
const ( TNS_TYPE_REP_NATIVE int16 = 0 TNS_TYPE_REP_UNIVERSAL int16 = 1 TNS_TYPE_REP_ORACLE int16 = 10 TNS_DATA_TYPE_UB2 int16 = 25 TNS_DATA_TYPE_UB4 int16 = 26 TNS_DATA_TYPE_SB1 int16 = 27 TNS_DATA_TYPE_SB2 int16 = 28 TNS_DATA_TYPE_SB4 int16 = 29 TNS_DATA_TYPE_SWORD int16 = 30 TNS_DATA_TYPE_UWORD int16 = 31 TNS_DATA_TYPE_PTRB int16 = 32 TNS_DATA_TYPE_PTRW int16 = 33 TNS_DATA_TYPE_TIDDEF int16 = 10 )
Variables ¶
This section is empty.
Functions ¶
func BuildJDBC ¶ added in v2.4.7
BuildJDBC create url from user, password and JDBC description string
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 DelSessionParam ¶ added in v2.8.4
func NewConnector ¶ added in v2.7.18
func ParseConfig ¶ added in v2.8.12
func ParseConfig(dsn string) (*configurations.ConnectionConfig, error)
func RegisterConnConfig ¶ added in v2.8.12
func RegisterConnConfig(config *configurations.ConnectionConfig)
func RegisterType ¶ added in v2.7.7
func RegisterTypeWithOwner ¶ added in v2.7.7
func SetNTSAuth ¶ added in v2.3.3
func SetNTSAuth(newNTSManager advanced_nego.NTSAuthInterface)
func SetStringConverter ¶ added in v2.7.18
func SetStringConverter(db GetDriverInterface, charset, nCharset converters.IStringConverter)
SetStringConverter this function is used to set a custom string converter interface that will be used to encode and decode strings and bytearrays passing nil will use driver string converter for supported langs
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 *configurations.ConnectionConfig, mode LogonMode, session *network.Session) error
write authentication data to network
type BFile ¶ added in v2.4.5
type BFile struct { Valid bool // contains filtered or unexported fields }
func CreateBFile ¶ added in v2.7.23
func CreateBFile2 ¶ added in v2.7.23
func CreateBFile2(connection *Connection, dirName, fileName string) (*BFile, error)
func CreateNullBFile ¶ added in v2.7.23
func CreateNullBFile() *BFile
func (*BFile) GetDirName ¶ added in v2.7.23
func (*BFile) GetFileName ¶ added in v2.7.23
func (*BFile) ReadBytesFromPos ¶ added in v2.4.5
func (*BFile) ReadFromPos ¶ added in v2.4.5
type Blob ¶ added in v2.2.21
func (Blob) MarshalJSON ¶ added in v2.5.22
func (*Blob) UnmarshalJSON ¶ added in v2.5.22
type BulkCopy ¶ added in v2.5.31
type BulkCopy struct { TableName string SchemaName string PartitionName string ColumnNames []string // contains filtered or unexported fields }
func NewBulkCopy ¶ added in v2.5.31
func NewBulkCopy(conn *Connection, tableName string) *BulkCopy
func (*BulkCopy) StartStream ¶ added in v2.5.31
type Clob ¶ added in v2.2.21
func (Clob) MarshalJSON ¶ added in v2.5.22
func (*Clob) UnmarshalJSON ¶ added in v2.5.22
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, config *configurations.ConnectionConfig) (*Connection, error)
NewConnection create a new connection from databaseURL string or configuration
func (*Connection) BulkInsert ¶ added in v2.4.0
func (conn *Connection) BulkInsert(sqlText string, rowNum int, columns ...[]driver.Value) (*QueryResult, error)
BulkInsert mass insert column values into a table all columns should pass as an array of values
func (*Connection) CheckNamedValue ¶ added in v2.4.2
func (conn *Connection) CheckNamedValue(_ *driver.NamedValue) error
func (*Connection) Close ¶
func (conn *Connection) Close() (err error)
Close the connection by disconnect network session
func (*Connection) ExecContext ¶ added in v2.4.1
func (conn *Connection) ExecContext(ctx context.Context, query string, args []driver.NamedValue) (driver.Result, error)
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) Logoff ¶ added in v2.8.8
func (conn *Connection) Logoff() error
func (*Connection) Open ¶
func (conn *Connection) Open() error
Open the connection = bring it online
func (*Connection) OpenWithContext ¶ added in v2.4.2
func (conn *Connection) OpenWithContext(ctx context.Context) error
OpenWithContext open the connection with timeout context
func (*Connection) Ping ¶
func (conn *Connection) Ping(ctx 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) PrepareContext ¶ added in v2.4.1
func (*Connection) QueryContext ¶ added in v2.4.1
func (conn *Connection) QueryContext(ctx context.Context, query string, args []driver.NamedValue) (driver.Rows, error)
func (*Connection) QueryRowContext ¶ added in v2.7.12
func (conn *Connection) QueryRowContext(ctx context.Context, query string, args []driver.NamedValue) *DataSet
func (*Connection) ResetSession ¶ added in v2.7.4
func (conn *Connection) ResetSession(_ context.Context) error
func (*Connection) StructsInsert ¶ added in v2.5.32
func (conn *Connection) StructsInsert(sqlText string, values []interface{}) (*QueryResult, error)
StructsInsert support interface{} array
type ConnectionState ¶
type ConnectionState int
const ( Closed ConnectionState = 0 Opened ConnectionState = 1 )
type DBVersion ¶
type DataSet ¶
type DataSet struct {
// 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) ColumnTypePrecisionScale ¶ added in v2.6.5
ColumnTypePrecisionScale return the precision and scale for numeric types
func (*DataSet) ColumnTypeScanType ¶ added in v2.6.13
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 GetDriverInterface ¶ added in v2.7.18
type NClob ¶ added in v2.4.5
type NClob Clob
func (NClob) MarshalJSON ¶ added in v2.5.22
func (*NClob) UnmarshalJSON ¶ added in v2.5.22
type NLSData ¶
type NLSData struct { Calender string `db:"p_nls_calendar,,40,out"` Comp string `db:"p_nls_comp,,40,out"` Language string LengthSemantics string `db:"p_nls_length_semantics,,40,out"` NCharConvExcep string `db:"p_nls_nchar_conv_excep,,40,out"` NCharConvImp string DateLang string `db:"p_nls_date_lang,,40,out"` Sort string `db:"p_nls_sort,,40,out"` Currency string `db:"p_nls_currency,,40,out"` DateFormat string `db:"p_nls_date_format,,40,out"` TimeFormat string IsoCurrency string `db:"p_nls_iso_currency,,40,out"` NumericChars string `db:"p_nls_numeric_chars,,40,out"` DualCurrency string `db:"p_nls_dual_currency,,40,out"` UnionCurrency string Timestamp string `db:"p_nls_timestamp,,48,out"` TimestampTZ string `db:"p_nls_timestamp_tz,,56,out"` TTimezoneFormat string NTimezoneFormat string Territory string Charset string }
func (*NLSData) SaveNLSValue ¶
SaveNLSValue a helper function that convert between nls key and code
type NVarChar ¶ added in v2.1.20
type NVarChar string
func (NVarChar) MarshalJSON ¶ added in v2.5.22
func (*NVarChar) UnmarshalJSON ¶ added in v2.5.22
type NullNVarChar ¶ added in v2.3.0
func (NullNVarChar) MarshalJSON ¶ added in v2.5.22
func (val NullNVarChar) MarshalJSON() ([]byte, error)
func (*NullNVarChar) Scan ¶ added in v2.4.5
func (val *NullNVarChar) Scan(value interface{}) error
func (*NullNVarChar) UnmarshalJSON ¶ added in v2.5.22
func (val *NullNVarChar) UnmarshalJSON(data []byte) error
type NullTimeStamp ¶ added in v2.3.0
func (NullTimeStamp) MarshalJSON ¶ added in v2.5.22
func (val NullTimeStamp) MarshalJSON() ([]byte, error)
func (*NullTimeStamp) Scan ¶ added in v2.4.5
func (val *NullTimeStamp) Scan(value interface{}) error
func (*NullTimeStamp) UnmarshalJSON ¶ added in v2.5.22
func (val *NullTimeStamp) UnmarshalJSON(data []byte) error
type NullTimeStampTZ ¶ added in v2.6.4
type NullTimeStampTZ struct { TimeStampTZ TimeStampTZ Valid bool }
func (NullTimeStampTZ) MarshalJSON ¶ added in v2.6.4
func (val NullTimeStampTZ) MarshalJSON() ([]byte, error)
func (*NullTimeStampTZ) Scan ¶ added in v2.6.4
func (val *NullTimeStampTZ) Scan(value interface{}) error
func (*NullTimeStampTZ) UnmarshalJSON ¶ added in v2.6.4
func (val *NullTimeStampTZ) UnmarshalJSON(data []byte) error
type Number ¶
type Number struct {
// contains filtered or unexported fields
}
func NewNumberFromFloat ¶ added in v2.8.10
func NewNumberFromInt64 ¶ added in v2.8.10
func NewNumberFromString ¶ added in v2.8.10
func NewNumberFromUint64 ¶ added in v2.8.10
type Object ¶ added in v2.8.7
type OracleConnector ¶ added in v2.3.2
type OracleConnector struct {
// contains filtered or unexported fields
}
func (*OracleConnector) Dialer ¶ added in v2.5.5
func (connector *OracleConnector) Dialer(dialer configurations.DialerContext)
func (*OracleConnector) Driver ¶ added in v2.3.2
func (connector *OracleConnector) Driver() driver.Driver
type OracleDriver ¶ added in v2.2.6
type OracleDriver struct { UserId string // contains filtered or unexported fields }
func GetDefaultDriver ¶ added in v2.7.18
func GetDefaultDriver() *OracleDriver
func NewDriver ¶ added in v2.7.18
func NewDriver() *OracleDriver
func (*OracleDriver) Open ¶ added in v2.2.6
func (driver *OracleDriver) Open(name string) (driver.Conn, error)
Open return a new open connection
func (*OracleDriver) OpenConnector ¶ added in v2.4.2
func (driver *OracleDriver) OpenConnector(connString string) (driver.Connector, error)
type ParameterDirection ¶
type ParameterDirection int
const ( Input ParameterDirection = 1 Output ParameterDirection = 2 InOut ParameterDirection = 3 )
type ParameterInfo ¶
type ParameterInfo struct { Name string TypeName string SchemaName string DomainSchema string DomainName string Direction ParameterDirection IsNull bool AllowNull bool IsJson bool ColAlias string DataType TNSType 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{} Annotations map[string]string // contains filtered or unexported fields }
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 }
func (*RefCursor) CanAutoClose ¶ added in v2.4.12
func (stmt *RefCursor) CanAutoClose() bool
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) CanAutoClose ¶ added in v2.4.12
func (stmt *Stmt) CanAutoClose() bool
func (*Stmt) CheckNamedValue ¶ added in v2.1.20
func (stmt *Stmt) CheckNamedValue(_ *driver.NamedValue) error
func (*Stmt) Exec ¶
Exec execute stmt (INSERT, UPDATE, DELETE, DML, PLSQL) and return driver.Result object
func (*Stmt) ExecContext ¶ added in v2.4.3
func (*Stmt) NewParam ¶
func (stmt *Stmt) NewParam(name string, val driver.Value, size int, direction ParameterDirection) (*ParameterInfo, error)
func (*Stmt) Query ¶
Query execute a query command and return dataset object in form of driver.Rows interface
args is an array of values that corresponding to parameters in sql
func (*Stmt) QueryContext ¶ added in v2.4.3
type StmtInterface ¶
type TNSType ¶ added in v2.7.7
type TNSType int
const ( NCHAR TNSType = 1 NUMBER TNSType = 2 BInteger TNSType = 3 //SB1 TNSType = 3 //SB2 TNSType = 3 //SB4 TNSType = 3 FLOAT TNSType = 4 NullStr TNSType = 5 VarNum TNSType = 6 PDN TNSType = 7 LONG TNSType = 8 VARCHAR TNSType = 9 ROWID TNSType = 11 DATE TNSType = 12 VarRaw TNSType = 15 BFloat TNSType = 21 BDouble TNSType = 22 RAW TNSType = 23 LongRaw TNSType = 24 TNS_JSON_TYPE_DATE TNSType = 60 TNS_JSON_TYPE_INTERVAL_YM TNSType = 61 TNS_JSON_TYPE_INTERVAL_DS TNSType = 62 UINT TNSType = 68 LongVarChar TNSType = 94 LongVarRaw TNSType = 95 CHAR TNSType = 96 CHARZ TNSType = 97 IBFloat TNSType = 100 IBDouble TNSType = 101 REFCURSOR TNSType = 102 OCIXMLType TNSType = 108 XMLType TNSType = 109 OCIRef TNSType = 110 OCIClobLocator TNSType = 112 OCIBlobLocator TNSType = 113 OCIFileLocator TNSType = 114 ResultSet TNSType = 116 JSON TNSType = 119 TNS_DATA_TYPE_OAC122 TNSType = 120 OCIString TNSType = 155 OCIDate TNSType = 156 TimeStampDTY TNSType = 180 TimeStampTZ_DTY TNSType = 181 IntervalYM_DTY TNSType = 182 IntervalDS_DTY TNSType = 183 TimeTZ TNSType = 186 TIMESTAMP TNSType = 187 TIMESTAMPTZ TNSType = 188 IntervalYM TNSType = 189 IntervalDS TNSType = 190 UROWID TNSType = 208 TimeStampLTZ_DTY TNSType = 231 TimeStampeLTZ TNSType = 232 Boolean TNSType = 0xFC )
type TimeStamp ¶
func (TimeStamp) MarshalJSON ¶ added in v2.5.22
func (*TimeStamp) UnmarshalJSON ¶ added in v2.5.22
type TimeStampTZ ¶
func (TimeStampTZ) MarshalJSON ¶ added in v2.6.4
func (val TimeStampTZ) MarshalJSON() ([]byte, error)
func (*TimeStampTZ) Scan ¶ added in v2.6.4
func (val *TimeStampTZ) Scan(value interface{}) error
func (*TimeStampTZ) UnmarshalJSON ¶ added in v2.6.4
func (val *TimeStampTZ) UnmarshalJSON(data []byte) error
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
type ValueEncoder ¶ added in v2.4.5
type ValueEncoder interface {
EncodeValue(param *ParameterInfo, connection *Connection) error
}
Source Files ¶
- auth_object.go
- bfile.go
- bulk_copy.go
- command.go
- connection.go
- connection_string.go
- custom_types.go
- data_set.go
- data_type_nego.go
- db_version.go
- driver.go
- lob.go
- number.go
- oracletype_string.go
- parameter.go
- parameter_encode.go
- ref_cursor.go
- rowid.go
- simple_object.go
- tcp_protocol_nego.go
- timestamp.go
- timestampTZ.go
- transaction.go
- udt.go
- urowid.go
- utils.go
Directories ¶
Path | Synopsis |
---|---|
ntlmssp
Package ntlmssp provides NTLM/Negotiate authentication over HTTP
|
Package ntlmssp provides NTLM/Negotiate authentication over HTTP |
security/md4
Package md4 implements the MD4 hash algorithm as defined in RFC 1320.
|
Package md4 implements the MD4 hash algorithm as defined in RFC 1320. |