Anda di halaman 1dari 17

Option Explicit

'

' General purpose string handling functions.

'

Sub AddStrList(List() As String, s As String)

' Add the string "S" to the array "List"

ReDim Preserve List(LBound(List) To UBound(List) + 1)

List(UBound(List)) = s

End Sub

Sub AddStrListUnique(List() As String, s As String)

' Add string "S" to list "List" only

' if it isn't there already.

If GetElementNum(List(), s) = -32767 Then

Call AddStrList(List(), s)

End If

End Sub

Function AfterFirstToken(StrIn As String, Delim As String) As String

' Returns the portion of "String" after the

' first occurrence of "Delim".

Dim After As String


Dim Begin As Long

StrIn = Trim(StrIn)

Begin = InStr(1, StrIn, Delim)

If (Begin = 0) Or Begin = Len(StrIn) Then

After = ""

Else

After = (Trim(Right$(StrIn, Len(StrIn) - Begin)))

End If

AfterFirstToken = After

End Function

Function GetArgs(inString As String) As String

' Given a command string, pull off the first

' word and return just the arguments.

Dim ArgStr As String

Dim Begin As String

inString = Trim(inString)

Begin = InStr(1, inString, " ")

If (Begin = 0) Or Begin = Len(inString) Then

ArgStr = ""

Else

ArgStr = (Trim(Right$(inString, Len(inString) - Begin)))

End If
GetArgs = ArgStr

End Function

Function GetElementNum(List() As String, s As String) As Long

' find out where or if string "S" occurs in

' array "List", and return the index number.

Dim Place As Long

Dim i As Long

Place = -32767

For i = LBound(List) To UBound(List)

If List(i) = s Then

Place = i

Exit For

End If

Next i

GetElementNum = Place

End Function

Function GetFirstToken(StrIn As String, Delim As String) As String

' Gets the portion of String "S", up to the

' first occurrance of delimiter "D"

' Returns String token "T"


Dim Split As Long

Dim Tok As String

StrIn = Trim$(StrIn)

Split = InStr(1, StrIn, Delim)

If (Split <= 0) Then

' No delimiter in the string. Return the whole thing.

Tok = StrIn

Else

' Get everything up to the first delimiter.

Tok = (Trim$(Left$(StrIn, Split - 1)))

End If

GetFirstToken = Tok

End Function

Function GetFirstWord(inString As String) As String

' Given a command string, return just the first

' word.

Dim CmdStr As String

Dim CmdEnd As String

inString = Trim$(inString)

CmdEnd = InStr(1, inString, " ") - 1

If (CmdEnd <= 0) Then


' No spaces in the string.

CmdStr = inString

Else

' Get everything up to the first space.

CmdStr = (Trim$(Left$(inString, CmdEnd)))

End If

GetFirstWord = CmdStr

End Function

Sub RemoveStrList(List() As String, s As String)

' Remove the entry "S" from an array of strings.

Dim i As Long

Dim Found As Long

' Run through the list. Once S is found,

' shuffle all remaining elements up one position.

Found = False

For i = 1 To UBound(List)

If (List(i) = s) Or Found Then

Found = True

If i < UBound(List) Then

List(i) = List(i + 1)
End If

End If

Next i

' Free memory used by S.

If Found Then

ReDim Preserve List(UBound(List) - 1)

End If

End Sub

Sub SelListByName(Ctrl As Control, fdrName As String)

' Given a list box control and a string,

' set the matching entry in the control selected.

If (Ctrl.ListCount > 0) Then

Dim i As Long

For i = 0 To Ctrl.ListCount - 1

If Ctrl.List(i) = fdrName Then

Ctrl.ListIndex = i

End If

Next i

End If

End Sub

Function StrInCtrl(Ctrl As Control, s As String) As Long

' Given a list control, determine if S is an element


' of the list, and return its index number if it is.

' If not, return -1

Dim Ind As Long

Dim i As Long

Ind = -1

If (Ctrl.ListCount > 0) Then

For i = 0 To Ctrl.ListCount - 1

If Ctrl.List(i) = s Then

Ind = i

Exit For

End If

Next i

End If

StrInCtrl = Ind

End Function

Sub Tokenize(List() As String, s As String, Delim As String)

' Tears each token out of String "S", delimited

' by "delim", and adds it to array "List"

Dim StrIn As String

StrIn = s

Do Until StrIn = ""

Call AddStrList(List(), GetFirstToken(StrIn, Delim))

StrIn = AfterFirstToken(StrIn, Delim)


Loop

End Sub

Public Function ConnectErrorMsg(errNum As Integer) As String

Select Case errNum

'Generic Error Messages

Case moNoError: ConnectErrorMsg = "No Error"

Case moUnknownError: ConnectErrorMsg = "Unknown


error"

Case moAccessDenied: ConnectErrorMsg = "Access


denied"

Case moInvalidUser: ConnectErrorMsg = "Invalid user"

Case moNetworkTimeout: ConnectErrorMsg = "Network


timeout"

Case moInvalidDatabase: ConnectErrorMsg = "Invalid


database"

Case moTasksExceeded: ConnectErrorMsg = "Tasks


exceeded"

Case moFileNotFound: ConnectErrorMsg = "File not


found"

Case moInvalidDirectory: ConnectErrorMsg = "Invalid


directory"

Case moHostUnknown: ConnectErrorMsg = "Unknown host"

'SDE Error Messages

Case moSE_FAILURE: ConnectErrorMsg = "Unspecified


SDE error."

Case moSE_INVALID_LAYERINFO_OBJECT: ConnectErrorMsg = "LAYERINFO


pointer not initialized."

Case moSE_NO_ANNOTATION: ConnectErrorMsg = "The given


shape has no annotation"

Case moSE_FINISHED: ConnectErrorMsg = "STREAM


LOADING OF SHAPES FINISHED"
Case moSE_SDE_NOT_STARTED: ConnectErrorMsg = "SDE NOT
STARTED CANNOT PERFORM FUNCTION"

Case moSE_UNCHANGED: ConnectErrorMsg = "THE SPECIFIED


SHAPE WAS LEFT UNCHANGED"

Case moSE_CONNECTIONS_EXCEEDED: ConnectErrorMsg = "THE NUMBER OF


SERVER CONNECTIONS IS @ MAXIMUM"

Case moSE_LOGIN_NOT_ALLOWED: ConnectErrorMsg = "IOMGR NOT


ACCEPTING CONNECTION REQUESTS"

Case moSE_INVALID_USER: ConnectErrorMsg = "CANNOT


VALIDATE THE SPECIFIED USER AND PASSWORD"

Case moSE_NET_FAILURE: ConnectErrorMsg = "NETWORK I/O


OPERATION FAILED"

Case moSE_NET_TIMEOUT: ConnectErrorMsg = "NETWORK I/O


TIMEOUT"

Case moSE_OUT_OF_SVMEM: ConnectErrorMsg = "SERVER TASK


CANNOT ALLOCATE NEEDED MEMORY"

Case moSE_OUT_OF_CLMEM: ConnectErrorMsg = "CLIENT TASK


CANNOT ALLOCATE NEEDED MEMORY"

Case moSE_OUT_OF_CONTEXT: ConnectErrorMsg = "FUNCTION CALL


IS OUT OF CONTEXT"

Case moSE_NO_ACCESS: ConnectErrorMsg = "NO ACCESS TO


OBJECT"

Case moSE_TOO_MANY_LAYERS: ConnectErrorMsg = "Exceeded


max_layers in giomgr.defs."

Case moSE_NO_LAYER_SPECIFIED: ConnectErrorMsg = "MISSING LAYER


SPECIFICATION"

Case moSE_LAYER_LOCKED: ConnectErrorMsg = "SPECIFIED


LAYER IS LOCKED"

Case moSE_LAYER_EXISTS: ConnectErrorMsg = "SPECIFIED


LAYER ALREADY EXISTS"

Case moSE_LAYER_NOEXIST: ConnectErrorMsg = "SPECIFIED


LAYER DOES NOT EXIST"

Case moSE_LAYER_INUSE: ConnectErrorMsg = "SPECIFIED


LAYER IS USE BY ANOTHER USER"

Case moSE_FID_NOEXIST: ConnectErrorMsg = "SPECIFIED


SHAPE (LAYER FID) DOESN'T EXIST"

Case moSE_FID_EXISTS: ConnectErrorMsg = "SPECIFIED


SHAPE (LAYER FID) EXISTS"

Case moSE_LAYER_MISMATCH: ConnectErrorMsg = "Both layers


must be the same for this"
Case moSE_NO_PERMISSIONS: ConnectErrorMsg = "NO PERMISSION
TO PERFORM OPERATION"

Case moSE_INVALID_NOT_NULL: ConnectErrorMsg = "COLUMN HAS


NOT NULL CONSTRAINT."

Case moSE_INVALID_SHAPE: ConnectErrorMsg = "INVALID SHAPE


CANNOT BE VERIFIED"

Case moSE_INVALID_LAYER_NUMBER: ConnectErrorMsg = "MAP LAYER


NUMBER OUT OF RANGE"

Case moSE_INVALID_ENTITY_TYPE: ConnectErrorMsg = "INVALID


ENTITY TYPE"

Case moSE_INVALID_SEARCH_METHOD: ConnectErrorMsg = "INVALID


SEARCH METHOD"

Case moSE_INVALID_ETYPE_MASK: ConnectErrorMsg = "INVALID


ENTITY TYPE MASK"

Case moSE_BIND_CONFLICT: ConnectErrorMsg = "BIND/SET/GET


MIS-MATCH"

Case moSE_INVALID_GRIDSIZE: ConnectErrorMsg = "INVALID GRID


SIZE"

Case moSE_INVALID_LOCK_MODE: ConnectErrorMsg = "INVALID LOCK


MODE"

Case moSE_ETYPE_NOT_ALLOWED: ConnectErrorMsg = "ENTITY TYPE


OF SHAPE IS NOT ALLOWED IN LAYER"

Case moSE_TOO_MANY_POINTS: ConnectErrorMsg = "Exceeded max


points specified."

Case moSE_TABLE_NOEXIST: ConnectErrorMsg = "DBMS TABLE


DOES NOT EXIST"

Case moSE_ATTR_NOEXIST: ConnectErrorMsg = "SPECIFIED


ATTRIBUTE COLUMN DOESN'T EXIST"

Case moSE_LICENSE_FAILURE: ConnectErrorMsg = "Underlying


license manager problem."

Case moSE_OUT_OF_LICENSES: ConnectErrorMsg = "No more SDE


licenses available."

Case moSE_INVALID_COLUMN_VALUE: ConnectErrorMsg = "VALUE EXCEEDS


VALID RANGE"

Case moSE_INVALID_WHERE: ConnectErrorMsg = "USER


SPECIFIED WHERE CLAUSE IS INVALID"

Case moSE_INVALID_SQL: ConnectErrorMsg = "USER


SPECIFIED SQL CLAUSE IS INVALID"

Case moSE_LOG_NOEXIST: ConnectErrorMsg = "SPECIFIED LOG


FILE DOES NOT EXIST"
Case moSE_LOG_NOACCESS: ConnectErrorMsg = "UNABLE TO
ACCESS SPECIFIED LOGFILE"

Case moSE_LOG_NOTOPEN: ConnectErrorMsg = "SPECIFIED


LOGFILE IS NOT OPEN FOR I/O"

Case moSE_LOG_IO_ERROR: ConnectErrorMsg = "I/O ERROR


USING LOGFILE"

Case moSE_NO_SHAPES: ConnectErrorMsg = "NO SHAPES


SELECTED OR USED IN OPERATION"

Case moSE_NO_LOCKS: ConnectErrorMsg = "NO LOCKS


DEFINED"

Case moSE_LOCK_CONFLICT: ConnectErrorMsg = "LOCK REQUEST


CONFLICTS W/ ANOTHER ESTABLISHED LOCK"

Case moSE_OUT_OF_LOCKS: ConnectErrorMsg = "MAXIMUM LOCKS


ALLOWED BY SYSTEM ARE IN USE"

Case moSE_DB_IO_ERROR: ConnectErrorMsg = "DATABASE


LEVEL I/O ERROR OCCURRED"

Case moSE_STREAM_IN_PROGRESS: ConnectErrorMsg = "SHAPE/FID


STREAM NOT FINISHED CAN'T EXECUTE"

Case moSE_INVALID_COLUMN_TYPE: ConnectErrorMsg = "INVALID


COLUMN DATA TYPE"

Case moSE_TOPO_ERROR: ConnectErrorMsg = "TOPOLOGICAL


INTEGRITY ERROR"

Case moSE_ATTR_CONV_ERROR: ConnectErrorMsg = "ATTRIBUTE


CONVERSION ERROR"

Case moSE_INVALID_COLUMN_DEF: ConnectErrorMsg = "INVALID


COLUMN DEFINITION"

Case moSE_INVALID_SHAPE_BUF_SIZE: ConnectErrorMsg = "INVALID SHAPE


ARRAY BUFFER SIZE"

Case moSE_INVALID_ENVELOPE: ConnectErrorMsg = "ENVELOPE IS


NULL, HAS NEGATIVE VALUES OR MIN > MAX"

Case moSE_TEMP_IO_ERROR: ConnectErrorMsg = "TEMP FILE I/O


ERROR, CAN'T OPEN OR RAN OUT OF DISK"

Case moSE_GSIZE_TOO_SMALL: ConnectErrorMsg = "SPATIAL INDEX


GRID SIZE IS TOO SMALL"

Case moSE_LICENSE_EXPIRED: ConnectErrorMsg = "SDE RUN-TIME


LICENSE HAS EXPIRED, NO LOGINS ALLOWED"

Case moSE_TABLE_EXISTS: ConnectErrorMsg = "DBMS TABLE


EXISTS"

Case moSE_INDEX_EXISTS: ConnectErrorMsg = "INDEX WITH


THE SPECIFIED NAME ALREADY EXISTS"
Case moSE_INDEX_NOEXIST: ConnectErrorMsg = "INDEX WITH
THE SPECIFIED NAME DOESN'T EXIST"

Case moSE_INVALID_POINTER: ConnectErrorMsg = "SPECIFIED


POINTER VALUE IS NULL OR INVALID"

Case moSE_INVALID_PARAM_VALUE: ConnectErrorMsg = "SPECIFIED


PARAMETER VALUE IS INVALID"

Case moSE_ALL_SLIVERS: ConnectErrorMsg = "SLIVER FACTOR


CAUSED ALL RESULTS TO BE SLIVERS"

Case moSE_TRANS_IN_PROGRESS: ConnectErrorMsg = "USER


SPECIFIED TRANSACTION IN PROGRESS"

Case moSE_IOMGR_NO_DBMS_CONNECT: ConnectErrorMsg = "The iomgr has


lost its connection to the underlying DBMS."

Case moSE_DUPLICATE_ARC: ConnectErrorMsg = "AN ARC


(startpt, midpt, endpt) ALREADY EXISTS"

Case moSE_INVALID_ANNO_OBJECT: ConnectErrorMsg = "SE_ANNO


pointer not initialized."

Case moSE_PT_NO_EXIST: ConnectErrorMsg = "SPECIFIED


POINT DOESN'T EXIST IN FEAT"

Case moSE_PTS_NOT_ADJACENT: ConnectErrorMsg = "SPECIFIED


POINTS MUST BE ADJACENT"

Case moSE_INVALID_MID_PT: ConnectErrorMsg = "SPECIFIED MID


POINT IS INVALID"

Case moSE_INVALID_END_PT: ConnectErrorMsg = "SPECIFIED END


POINT IS INVALID"

Case moSE_INVALID_RADIUS: ConnectErrorMsg = "SPECIFIED


RADIUS IS INVALID"

Case moSE_LOAD_ONLY_LAYER: ConnectErrorMsg = "MAP LAYER IS


LOAD ONLY MODE OPERATION NOT ALLOWED"

Case moSE_LAYERS_NOT_FOUND: ConnectErrorMsg = "LAYERS TABLE


DOES NOT EXIST."

Case moSE_FILE_IO_ERROR: ConnectErrorMsg = "Error writing


or creating an output text file."

Case moSE_BLOB_SIZE_TOO_LARGE: ConnectErrorMsg = "Maximum BLOB


size exceeded."

Case moSE_CORRIDOR_OUT_OF_BOUNDS: ConnectErrorMsg = "Resulting


corridor exceeds valid coordinate range"

Case moSE_SHAPE_INTEGRITY_ERROR: ConnectErrorMsg = "MODEL


INTEGRITY ERROR"

Case moSE_NOT_IMPLEMENTED_YET: ConnectErrorMsg = "Function or


option is not really written yet."
Case moSE_CAD_EXISTS: ConnectErrorMsg = "This shape
has a cad."

Case moSE_INVALID_TRANSID: ConnectErrorMsg = "Invalid


internal SDE Transaction ID."

Case moSE_INVALID_LAYER_NAME: ConnectErrorMsg = "MAP LAYER


NAME MUST NOT BE EMPTY"

Case moSE_INVALID_LAYER_KEYWORD: ConnectErrorMsg = "Invalid Layer


Configuration Keyword used."

Case moSE_INVALID_RELEASE: ConnectErrorMsg = "Invalid


Release/Version of SDE server."

Case moSE_VERSION_TBL_EXISTS: ConnectErrorMsg = "VERSION table


exists."

Case moSE_COLUMN_NOT_BOUND: ConnectErrorMsg = "Column has


not been bound"

Case moSE_INVALID_INDICATOR_VALUE: ConnectErrorMsg = "Indicator


variable contains an invalid value"

Case moSE_INVALID_CONNECTION: ConnectErrorMsg = "The


connection handle is NULL closed or the wrong object."

Case moSE_INVALID_DBA_PASSWORD: ConnectErrorMsg = "The DBA


password is not correct."

Case moSE_PATH_NOT_FOUND: ConnectErrorMsg = "Coord path


not found in shape edit op."

Case moSE_SDEHOME_NOT_SET: ConnectErrorMsg = "No $SDEHOME


variable set and we need one."

Case moSE_NOT_TABLE_OWNER: ConnectErrorMsg = "User must be


table owner."

Case moSE_PROCESS_NOT_FOUND: ConnectErrorMsg = "The process


ID specified does not correspond on an SDE server."

Case moSE_INVALID_DBMS_LOGIN: ConnectErrorMsg = "DBMS didn't


accept user/password."

Case moSE_PASSWORD_TIMEOUT: ConnectErrorMsg = "Password


received was sent > MAXTIMEDIFF seconds before."

Case moSE_INVALID_SERVER: ConnectErrorMsg = "Server


machine was not found"

Case moSE_IOMGR_NOT_AVAILABLE: ConnectErrorMsg = "IO Mgr task


not started on server"

Case moSE_SERVICE_NOT_FOUND: ConnectErrorMsg = "No SDE entry


in the /etc/services file"

Case moSE_INVALID_STATS_TYPE: ConnectErrorMsg = "Tried


statisitics on non-numeric"
Case moSE_INVALID_DISTINCT_TYPE: ConnectErrorMsg = "Distinct
stats on invalid type"

Case moSE_INVALID_GRANT_REVOKE: ConnectErrorMsg = "Invalid use


of grant/revoke function"

Case moSE_INVALID_SDEHOME: ConnectErrorMsg = "The supplied


SDEHOME path is invalid or NULL."

Case moSE_INVALID_STREAM: ConnectErrorMsg = "Stream does


not exist"

Case moSE_TOO_MANY_STREAMS: ConnectErrorMsg = "Max number of


streams exceeded"

Case moSE_OUT_OF_MUTEXES: ConnectErrorMsg = "Exceeded


system's max number of mutexs."

Case moSE_CONNECTION_LOCKED: ConnectErrorMsg = "This


connection is locked to a different thread."

Case moSE_CONNECTION_IN_USE: ConnectErrorMsg = "This


connection is being used at the moment by another thread."

Case moSE_NOT_A_SELECT_STATEMENT: ConnectErrorMsg = "The SQL


statement was not a select"

Case moSE_FUNCTION_SEQUENCE_ERROR: ConnectErrorMsg = "Function


called out of sequence"

Case moSE_WRONG_COLUMN_TYPE: ConnectErrorMsg = "Get request


on wrong column type"

Case moSE_PTABLE_LOCKED: ConnectErrorMsg = "This ptable


is locked to a different thread."

Case moSE_PTABLE_IN_USE: ConnectErrorMsg = "This ptable


is being used at the moment by another thread."

Case moSE_STABLE_LOCKED: ConnectErrorMsg = "This stable


is locked to a different thread."

Case moSE_STABLE_IN_USE: ConnectErrorMsg = "This stable


is being used at the moment by another thread."

Case moSE_INVALID_FILTER_TYPE: ConnectErrorMsg = "Unrecognized


spatial filter type."

Case moSE_NO_CAD: ConnectErrorMsg = "The given


shape has no CAD."

Case moSE_INSTANCE_NOT_AVAILABLE: ConnectErrorMsg = "No instance


running on server."

Case moSE_INSTANCE_TOO_EARLY: ConnectErrorMsg = "Instance is a


version previous to 2.0."

Case moSE_INVALID_SYSTEM_UNITS: ConnectErrorMsg = "Systems units


< 1 or > 2147483647."
Case moSE_INVALID_UNITS: ConnectErrorMsg = "FEET,
METERS, DECIMAL_DEGREES or OTHER."

Case moSE_INVALID_CAD_OBJECT: ConnectErrorMsg = "SE_CAD


pointer not initialized."

Case moSE_INVALID_NUM_OF_PTS: ConnectErrorMsg = "No longer


issued"

Case moSE_INVALID_SPATIAL_CONSTRAINT: ConnectErrorMsg = "Spatial


filters invalid for search"

Case moSE_INVALID_STREAM_TYPE: ConnectErrorMsg = "Invalid


operation for the given stream"

Case moSE_INVALID_SPATIAL_COLUMN: ConnectErrorMsg = "Column


contains NOT NULL values during SE_layer_create()"

Case moSE_NO_SPATIAL_MASKS: ConnectErrorMsg = "No spatial


masks available."

Case moSE_IOMGR_NOT_FOUND: ConnectErrorMsg = "Iomgr program


not found."

Case moSE_SYSTEM_IS_CLIENT_ONLY: ConnectErrorMsg = "Operation can


not possibly be run on this system -- it needs a server."

Case moSE_MULTIPLE_SPATIAL_COLS: ConnectErrorMsg = "Only one


spatial column allowed"

Case moSE_INVALID_SHAPE_OBJECT: ConnectErrorMsg = "The given


shape object handle is invalid"

Case moSE_INVALID_PARTNUM: ConnectErrorMsg = "The specified


shape part number does not exist"

Case moSE_INCOMPATIBLE_SHAPES: ConnectErrorMsg = "The given


shapes are of incompatible types"

Case moSE_INVALID_PART_OFFSET: ConnectErrorMsg = "The specified


part offset is invalid"

Case moSE_INCOMPATIBLE_COORDREFS: ConnectErrorMsg = "The given


coordinate references are incompatible"

Case moSE_COORD_OUT_OF_BOUNDS: ConnectErrorMsg = "The specified


coordinate exceeds the valid coordinate range"

Case moSE_LAYER_CACHE_FULL: ConnectErrorMsg = "Max. Layers


exceeded in cache"

Case moSE_INVALID_COORDREF_OBJECT: ConnectErrorMsg = "The given


coordinate reference object handle is invalid"

Case moSE_INVALID_COORDSYS_ID: ConnectErrorMsg = "The


coordinate system identifier is invalid"

Case moSE_INVALID_COORDSYS_DESC: ConnectErrorMsg = "The


coordinate system description is invalid"
Case moSE_INVALID_ROW_ID_LAYER: ConnectErrorMsg = "SE_ROW_ID
owner.table does not match the layer"

Case moSE_PROJECTION_ERROR: ConnectErrorMsg = "Error


projecting shape points"

Case moSE_ARRAY_BYTES_EXCEEDED: ConnectErrorMsg = "Max array


bytes exceeded"

Case moSE_POLY_SHELLS_OVERLAP: ConnectErrorMsg = "2 donuts or 2


outer shells overlap"

Case moSE_TOO_FEW_POINTS: ConnectErrorMsg = "numofpts is


less than required for feature"

Case moSE_INVALID_PART_SEPARATOR: ConnectErrorMsg = "part


separator in the wrong position"

Case moSE_INVALID_POLYGON_CLOSURE: ConnectErrorMsg = "polygon does


not close properly"

Case moSE_INVALID_OUTER_SHELL: ConnectErrorMsg = "A polygon


outer shell does not completely enclose all donuts for the part"

Case moSE_ZERO_AREA_POLYGON: ConnectErrorMsg = "Polygon shell


has no area"

Case moSE_POLYGON_HAS_VERTICAL_LINE: ConnectErrorMsg = "Polygon shell


contains a vertical line"

Case moSE_OUTER_SHELLS_OVERLAP: ConnectErrorMsg = "Multipart


area has overlapping parts"

Case moSE_SELF_INTERSECTING: ConnectErrorMsg = "Linestring or


poly boundary is self-intersecting"

Case moSE_INVALID_EXPORT_FILE: ConnectErrorMsg = "Export file


is invalid"

Case moSE_READ_ONLY_SHAPE: ConnectErrorMsg = "Attempted to


modify or free a read-only shape from an stable."

Case moSE_INVALID_DATA_SOURCE: ConnectErrorMsg = "Invalid data


source"

Case moSE_INVALID_STREAM_SPEC: ConnectErrorMsg = "Stream Spec


parameter exceeds giomgr default"

Case moSE_INVALID_ALTER_OPERATION: ConnectErrorMsg = "Tried to


remove cad or anno"

Case moSE_INVALID_SPATIAL_COL_NAME: ConnectErrorMsg = "Spat col name


same as table name"

Case moSE_INVALID_DATABASE: ConnectErrorMsg = "Invalid


database name"

Case moSE_SPATIAL_SQL_NOT_INSTALLED: ConnectErrorMsg = "Spatial SQL


extension not present in underlying DBMS"
Case moSE_NORM_DIM_INFO_NOT_FOUND: ConnectErrorMsg = "Dimention
parameters for SDO DIM is not found in the dbtune file"

Case moSE_NORM_DIM_TAB_VALUE_NOT_FOUND: ConnectErrorMsg = "Dimention


parameters in the M table is corrupted or missing."

Case moSE_UNSUPPORTED_NORMALIZED_OPERATION: ConnectErrorMsg = "Current


operation is not supported for NORMALIZED LAYERS."

Case moSE_INVALID_REGISTERED_LAYER_OPTION: ConnectErrorMsg = "Invalid


option REGISTERED LAYERS do not allow this option."

Case moSE_READ_ONLY: ConnectErrorMsg = "User has read


only access to SE_ROW_ID"

Case moSE_SDE_WARNING: ConnectErrorMsg = "BASE NUMBER


FOR WARNING CODES"

Case moSE_ETYPE_CHANGED: ConnectErrorMsg = "FUNCTION


CHANGED ENTITY TYPE OF FEAT"

Case moSE_AUTOCOMMITTED: ConnectErrorMsg = "This


store/replace triggered an autocommit."

Case moSE_TOO_MANY_DISTINCTS: ConnectErrorMsg = "Too many


distinct values in stats"

Case moSE_NULL_VALUE: ConnectErrorMsg = "Request


column value is NULL"

Case moSE_NO_ROWS_UPDATED: ConnectErrorMsg = "No rows were


updated"

Case moSE_NO_CPGCVT: ConnectErrorMsg = "No codepage


conversion"

Case moSE_NO_CPGHOME: ConnectErrorMsg = "Cannot find


codepage directory"

Case moSE_DBMS_DOES_NOT_SUPPORT: ConnectErrorMsg = "DBMS does NOT


support this function"

Case Else: ConnectErrorMsg = "Unrecognized


error"

End Select

End Function

Anda mungkin juga menyukai