Package mssql
Overview ▹
Index ▹
Constants
const (
NEGOTIATE_MESSAGE = 1
CHALLENGE_MESSAGE = 2
AUTHENTICATE_MESSAGE = 3
)
const (
NEGOTIATE_UNICODE = 0x00000001
NEGOTIATE_OEM = 0x00000002
NEGOTIATE_TARGET = 0x00000004
NEGOTIATE_SIGN = 0x00000010
NEGOTIATE_SEAL = 0x00000020
NEGOTIATE_DATAGRAM = 0x00000040
NEGOTIATE_LMKEY = 0x00000080
NEGOTIATE_NTLM = 0x00000200
NEGOTIATE_ANONYMOUS = 0x00000800
NEGOTIATE_OEM_DOMAIN_SUPPLIED = 0x00001000
NEGOTIATE_OEM_WORKSTATION_SUPPLIED = 0x00002000
NEGOTIATE_ALWAYS_SIGN = 0x00008000
NEGOTIATE_TARGET_TYPE_DOMAIN = 0x00010000
NEGOTIATE_TARGET_TYPE_SERVER = 0x00020000
NEGOTIATE_EXTENDED_SESSIONSECURITY = 0x00080000
NEGOTIATE_IDENTIFY = 0x00100000
REQUEST_NON_NT_SESSION_KEY = 0x00400000
NEGOTIATE_TARGET_INFO = 0x00800000
NEGOTIATE_VERSION = 0x02000000
NEGOTIATE_128 = 0x20000000
NEGOTIATE_KEY_EXCH = 0x40000000
NEGOTIATE_56 = 0x80000000
)
const NEGOTIATE_FLAGS = NEGOTIATE_UNICODE |
NEGOTIATE_NTLM |
NEGOTIATE_OEM_DOMAIN_SUPPLIED |
NEGOTIATE_OEM_WORKSTATION_SUPPLIED |
NEGOTIATE_ALWAYS_SIGN |
NEGOTIATE_EXTENDED_SESSIONSECURITY
const PLP_NULL = 0xFFFFFFFFFFFFFFFF
const PLP_TERMINATOR = 0x00000000
const UNKNOWN_PLP_LEN = 0xFFFFFFFFFFFFFFFE
Variables
var (
Sp_Cursor = ProcId{1, ""}
Sp_CursorOpen = ProcId{2, ""}
Sp_CursorPrepare = ProcId{3, ""}
Sp_CursorExecute = ProcId{4, ""}
Sp_CursorPrepExec = ProcId{5, ""}
Sp_CursorUnprepare = ProcId{6, ""}
Sp_CursorFetch = ProcId{7, ""}
Sp_CursorOption = ProcId{8, ""}
Sp_CursorClose = ProcId{9, ""}
Sp_ExecuteSql = ProcId{10, ""}
Sp_Prepare = ProcId{11, ""}
Sp_PrepExec = ProcId{13, ""}
Sp_PrepExecRpc = ProcId{14, ""}
Sp_Unprepare = ProcId{15, ""}
)
func CopyIn ¶
func CopyIn(table string, options MssqlBulkOptions, columns ...string) string
func NewTimeoutConn ¶
func NewTimeoutConn(conn net.Conn, timeout time.Duration) *timeoutConn
func SetLogger ¶
func SetLogger(logger Logger)
type Auth ¶
type Auth interface {
InitialBytes() ([]byte, error)
NextBytes([]byte) ([]byte, error)
Free()
}
type DataValue ¶
type DataValue interface{}
type Decimal ¶
http://msdn.microsoft.com/en-us/library/ee780893.aspx
type Decimal struct {
// contains filtered or unexported fields
}
func Float64ToDecimal ¶
func Float64ToDecimal(f float64) (Decimal, error)
func (Decimal) Bytes ¶
func (d Decimal) Bytes() []byte
func (Decimal) String ¶
func (d Decimal) String() string
func (Decimal) ToFloat64 ¶
func (d Decimal) ToFloat64() float64
type Error ¶
Error represents an SQL Server error. This type includes methods for reading the contents of the struct, which allows calling programs to check for specific error conditions without having to import this package directly.
type Error struct {
Number int32
State uint8
Class uint8
Message string
ServerName string
ProcName string
LineNo int32
}
▹ Example (1)
▹ Example (2)
func (Error) Error ¶
func (e Error) Error() string
func (Error) SQLErrorClass ¶
func (e Error) SQLErrorClass() uint8
func (Error) SQLErrorLineNo ¶
func (e Error) SQLErrorLineNo() int32
func (Error) SQLErrorMessage ¶
func (e Error) SQLErrorMessage() string
func (Error) SQLErrorNumber ¶
func (e Error) SQLErrorNumber() int32
SQLErrorNumber returns the SQL Server error number.
func (Error) SQLErrorProcName ¶
func (e Error) SQLErrorProcName() string
func (Error) SQLErrorServerName ¶
func (e Error) SQLErrorServerName() string
func (Error) SQLErrorState ¶
func (e Error) SQLErrorState() uint8
type KeySlice ¶
type KeySlice []uint8
func (KeySlice) Len ¶
func (p KeySlice) Len() int
func (KeySlice) Less ¶
func (p KeySlice) Less(i, j int) bool
func (KeySlice) Swap ¶
func (p KeySlice) Swap(i, j int)
type Logger ¶
type Logger interface {
Printf(format string, v ...interface{})
Println(v ...interface{})
}
type MssqlBulk ¶
type MssqlBulk struct {
Options MssqlBulkOptions
Debug bool
// contains filtered or unexported fields
}
func (*MssqlBulk) AddRow ¶
func (b *MssqlBulk) AddRow(row []interface{}) (err error)
AddRow immediately writes the row to the destination table. The arguments are the row values in the order they were specified.
func (*MssqlBulk) Done ¶
func (b *MssqlBulk) Done() (rowcount int64, err error)
type MssqlBulkOptions ¶
type MssqlBulkOptions struct {
CheckConstraints bool
FireTriggers bool
KeepNulls bool
KilobytesPerBatch int
RowsPerBatch int
Order []string
Tablock bool
}
type MssqlConn ¶
type MssqlConn struct {
// contains filtered or unexported fields
}
func (*MssqlConn) Begin ¶
func (c *MssqlConn) Begin() (driver.Tx, error)
func (*MssqlConn) BeginTx ¶
func (c *MssqlConn) BeginTx(ctx context.Context, opts driver.TxOptions) (driver.Tx, error)
BeginTx satisfies ConnBeginTx.
func (*MssqlConn) Close ¶
func (c *MssqlConn) Close() error
func (*MssqlConn) Commit ¶
func (c *MssqlConn) Commit() error
func (*MssqlConn) CreateBulk ¶
func (cn *MssqlConn) CreateBulk(table string, columns []string) (_ *MssqlBulk)
func (*MssqlConn) Ping ¶
func (c *MssqlConn) Ping(ctx context.Context) error
Ping is used to check if the remote server is available and satisfies the Pinger interface.
func (*MssqlConn) Prepare ¶
func (c *MssqlConn) Prepare(query string) (driver.Stmt, error)
func (*MssqlConn) PrepareContext ¶
func (c *MssqlConn) PrepareContext(ctx context.Context, query string) (driver.Stmt, error)
func (*MssqlConn) Rollback ¶
func (c *MssqlConn) Rollback() error
type MssqlDriver ¶
type MssqlDriver struct {
// contains filtered or unexported fields
}
func (*MssqlDriver) Open ¶
func (d *MssqlDriver) Open(dsn string) (driver.Conn, error)
func (*MssqlDriver) OpenConnection ¶
func (d *MssqlDriver) OpenConnection(dsn string) (*MssqlConn, error)
func (*MssqlDriver) SetLogger ¶
func (d *MssqlDriver) SetLogger(logger Logger)
type MssqlResult ¶
type MssqlResult struct {
// contains filtered or unexported fields
}
func (*MssqlResult) LastInsertId ¶
func (r *MssqlResult) LastInsertId() (int64, error)
func (*MssqlResult) RowsAffected ¶
func (r *MssqlResult) RowsAffected() (int64, error)
type MssqlRows ¶
type MssqlRows struct {
// contains filtered or unexported fields
}
func (*MssqlRows) Close ¶
func (rc *MssqlRows) Close() error
func (*MssqlRows) ColumnTypeDatabaseTypeName ¶
func (r *MssqlRows) ColumnTypeDatabaseTypeName(index int) string
RowsColumnTypeDatabaseTypeName may be implemented by Rows. It should return the database system type name without the length. Type names should be uppercase. Examples of returned types: "VARCHAR", "NVARCHAR", "VARCHAR2", "CHAR", "TEXT", "DECIMAL", "SMALLINT", "INT", "BIGINT", "BOOL", "[]BIGINT", "JSONB", "XML", "TIMESTAMP".
func (*MssqlRows) ColumnTypeLength ¶
func (r *MssqlRows) ColumnTypeLength(index int) (int64, bool)
RowsColumnTypeLength may be implemented by Rows. It should return the length of the column type if the column is a variable length type. If the column is not a variable length type ok should return false. If length is not limited other than system limits, it should return math.MaxInt64. The following are examples of returned values for various types:
TEXT (math.MaxInt64, true) varchar(10) (10, true) nvarchar(10) (10, true) decimal (0, false) int (0, false) bytea(30) (30, true)
func (*MssqlRows) ColumnTypeNullable ¶
func (r *MssqlRows) ColumnTypeNullable(index int) (nullable, ok bool)
The nullable value should be true if it is known the column may be null, or false if the column is known to be not nullable. If the column nullability is unknown, ok should be false.
func (*MssqlRows) ColumnTypePrecisionScale ¶
func (r *MssqlRows) ColumnTypePrecisionScale(index int) (int64, int64, bool)
It should return the precision and scale for decimal types. If not applicable, ok should be false. The following are examples of returned values for various types:
decimal(38, 4) (38, 4, true) int (0, 0, false) decimal (math.MaxInt64, math.MaxInt64, true)
func (*MssqlRows) ColumnTypeScanType ¶
func (r *MssqlRows) ColumnTypeScanType(index int) reflect.Type
It should return the value type that can be used to scan types into. For example, the database column type "bigint" this should return "reflect.TypeOf(int64(0))".
func (*MssqlRows) Columns ¶
func (rc *MssqlRows) Columns() (res []string)
func (*MssqlRows) HasNextResultSet ¶
func (rc *MssqlRows) HasNextResultSet() bool
func (*MssqlRows) Next ¶
func (rc *MssqlRows) Next(dest []driver.Value) error
func (*MssqlRows) NextResultSet ¶
func (rc *MssqlRows) NextResultSet() error
type MssqlStmt ¶
type MssqlStmt struct {
// contains filtered or unexported fields
}
func (*MssqlStmt) Close ¶
func (s *MssqlStmt) Close() error
func (*MssqlStmt) Exec ¶
func (s *MssqlStmt) Exec(args []driver.Value) (driver.Result, error)
func (*MssqlStmt) ExecContext ¶
func (s *MssqlStmt) ExecContext(ctx context.Context, args []driver.NamedValue) (driver.Result, error)
func (*MssqlStmt) NumInput ¶
func (s *MssqlStmt) NumInput() int
func (*MssqlStmt) Query ¶
func (s *MssqlStmt) Query(args []driver.Value) (driver.Rows, error)
func (*MssqlStmt) QueryContext ¶
func (s *MssqlStmt) QueryContext(ctx context.Context, args []driver.NamedValue) (driver.Rows, error)
func (*MssqlStmt) QueryMeta ¶
func (s *MssqlStmt) QueryMeta() (cols []columnStruct, err error)
QueryMeta is almost the same as MssqlStmt.Query, but returns all the columns info.
func (*MssqlStmt) SetQueryNotification ¶
func (s *MssqlStmt) SetQueryNotification(id, options string, timeout time.Duration)
type NTLMAuth ¶
type NTLMAuth struct {
Domain string
UserName string
Password string
Workstation string
}
func (*NTLMAuth) Free ¶
func (auth *NTLMAuth) Free()
func (*NTLMAuth) InitialBytes ¶
func (auth *NTLMAuth) InitialBytes() ([]byte, error)
func (*NTLMAuth) NextBytes ¶
func (auth *NTLMAuth) NextBytes(bytes []byte) ([]byte, error)
type Param ¶
type Param struct {
Name string
Flags uint8
// contains filtered or unexported fields
}
type ProcId ¶
type ProcId struct {
// contains filtered or unexported fields
}
func MakeProcId ¶
func MakeProcId(name string) (res ProcId)
type SerializableBulkConfig ¶
type SerializableBulkConfig struct {
TableName string
ColumnsName []string
Options MssqlBulkOptions
}
type StreamError ¶
type StreamError struct {
Message string
}
func (StreamError) Error ¶
func (e StreamError) Error() string
type UniqueIdentifier ¶
type UniqueIdentifier [16]byte
func (*UniqueIdentifier) Scan ¶
func (u *UniqueIdentifier) Scan(v interface{}) error
func (UniqueIdentifier) String ¶
func (u UniqueIdentifier) String() string
func (UniqueIdentifier) Value ¶
func (u UniqueIdentifier) Value() (driver.Value, error)
ActiveGo 1.8