diff options
author | Jean-Pierre Ledure <jp@ledure.be> | 2016-02-03 12:13:54 +0100 |
---|---|---|
committer | Jean-Pierre Ledure <jp@ledure.be> | 2016-02-03 12:13:54 +0100 |
commit | d8a113841160c571a3f254e73b676994eb940a79 (patch) | |
tree | 7b217fde4ab32f4397410e551ed2c958beacac24 /wizards/source/access2base/Database.xba | |
parent | e9089b4f53c0fef5d0bdcc76add9a43a8c6d81bd (diff) |
Access2Base - Wider database support
Support of HSQLDB 2.3 and MySql
CLOB and BLOB as database field types
Schema and catalog names in tables
GetChunk and AppendChunk methods for binary fields
The Value property returns the correct binary content of binary fields
Change-Id: I0aba80134f9add90f438ac4b7951fce9c1d36239
Diffstat (limited to 'wizards/source/access2base/Database.xba')
-rw-r--r-- | wizards/source/access2base/Database.xba | 34 |
1 files changed, 25 insertions, 9 deletions
diff --git a/wizards/source/access2base/Database.xba b/wizards/source/access2base/Database.xba index b54915f7d83a..84f1112d745c 100644 --- a/wizards/source/access2base/Database.xba +++ b/wizards/source/access2base/Database.xba @@ -197,6 +197,7 @@ Const cstThisSub = "Database.CreateTableDef" Dim oTable As Object, oTables As Object, sTables() As String Dim i As Integer, sTableName As String, oNewTable As Object +Dim vNameComponents() As Variant, iNames As Integer If _ErrorHandler() Then On Local Error Goto Error_Function @@ -224,9 +225,17 @@ Dim i As Integer, sTableName As String, oNewTable As Object Set oNewTable = New DataDef oNewTable._Type = OBJTABLEDEF oNewTable._Name = pvTableName + vNameComponents = Split(pvTableName, ".") + iNames = UBound(vNameComponents) + If iNames >= 2 Then oNewtable.CatalogName = vNameComponents(iNames - 2) Else oNewTable.CatalogName = "" + If iNames >= 1 Then oNewtable.SchemaName = vNameComponents(iNames - 1) Else oNewTable.SchemaName = "" + oNewtable.TableName = vNameComponents(iNames) Set oNewTable._ParentDatabase = _This Set oNewTable.TableDescriptor = .createDataDescriptor() - oNewTable.TableDescriptor.Name = pvTableName + oNewTable.TableDescriptor.CatalogName = oNewTable.CatalogName + oNewTable.TableDescriptor.SchemaName = oNewTable.SchemaName + oNewTable.TableDescriptor.Name = oNewTable.TableName + oNewTable.TableDescriptor.Type = "TABLE" End With Set CreateTabledef = oNewTable @@ -503,6 +512,7 @@ Dim sObjects() As String, bFound As Boolean, oTables As Object, oQueries As Obje ._ForwardOnly = ( pvType = dbOpenForwardOnly ) ._PassThrough = ( pvOptions = dbSQLPassThrough ) ._ReadOnly = ( (pvLockEdit = dbReadOnly) Or _ReadOnly ) + Set ._This = oObject Set ._ParentDatabase = _This Call ._Initialize() RecordsetMax = RecordsetMax + 1 @@ -876,8 +886,9 @@ Public Function TableDefs(ByVal Optional pvIndex As Variant, ByVal Optional pbCh ' Collect all tables in the database ' pbCheck unpublished +Const cstThisSub = "Database.TableDefs" If _ErrorHandler() Then On Local Error Goto Error_Function - Utils._SetCalledSub("Database.TableDefs") + Utils._SetCalledSub(cstThisSub) If IsMissing(pbCheck) Then pbCheck = False Dim sObjects() As String, sObjectName As String, oObject As Object @@ -915,19 +926,24 @@ Dim i As Integer, bFound As Boolean, oTables As Object End Select Set oObject = New DataDef - oObject._Type = OBJTABLEDEF - oObject._Name = sObjectName - Set oObject._ParentDatabase = _This - oObject._ReadOnly = _ReadOnly - Set oObject.Table = oTables.getByName(sObjectName) + With oObject + ._Type = OBJTABLEDEF + ._Name = sObjectName + Set ._ParentDatabase = _This + ._ReadOnly = _ReadOnly + Set .Table = oTables.getByName(sObjectName) + .CatalogName = .Table.CatalogName + .SchemaName = .Table.SchemaName + .TableName = .Table.Name + End With Exit_Function: Set TableDefs = oObject Set oObject = Nothing - Utils._ResetCalledSub("Database.TableDefs") + Utils._ResetCalledSub(cstThisSub) Exit Function Error_Function: - TraceError(TRACEABORT, Err, "Database.TableDefs", Erl) + TraceError(TRACEABORT, Err, cstThisSub, Erl) GoTo Exit_Function Trace_NotFound: If Not pbCheck Then TraceError(TRACEFATAL, ERROBJECTNOTFOUND, Utils._CalledSub(), 0, , Array(_GetLabel("TABLE"), pvIndex)) |