DDL создания таблицы от Microsoft Access

Автоматические свойства - это обычные свойства компилятора, они используют поля поддержки, такие как любое регулярное свойство, но вам не нужно писать код для этого. Вот очень показательный пример (благодаря Reflector ) кода, сгенерированного компилятором:

[CompilerGenerated]
private string k__BackingField;

public string ContentType
{
    [CompilerGenerated]
    get
    {
        return this.k__BackingField;
    }
    [CompilerGenerated]
    set
    {
        this.k__BackingField = value;
    }
}

14
задан tzot 10 October 2008 в 08:49
поделиться

5 ответов

Спасибо за другие предложения. В то время как я ожидал, я написал некоторый код VBA, чтобы сделать это. Это не прекрасно, но сделало задание для меня.

Option Compare Database
Public Function TableCreateDDL(TableDef As TableDef) As String

         Dim fldDef As Field
         Dim FieldIndex As Integer
         Dim fldName As String, fldDataInfo As String
         Dim DDL As String
         Dim TableName As String

         TableName = TableDef.Name
         TableName = Replace(TableName, " ", "_")
         DDL = "create table " & TableName & "(" & vbCrLf
         With TableDef
            For FieldIndex = 0 To .Fields.Count - 1
               Set fldDef = .Fields(FieldIndex)
               With fldDef
                  fldName = .Name
                  fldName = Replace(fldName, " ", "_")
                  Select Case .Type
                     Case dbBoolean
                        fldDataInfo = "nvarchar2"
                     Case dbByte
                        fldDataInfo = "number"
                     Case dbInteger
                        fldDataInfo = "number"
                     Case dbLong
                        fldDataInfo = "number"
                     Case dbCurrency
                        fldDataInfo = "number"
                     Case dbSingle
                        fldDataInfo = "number"
                     Case dbDouble
                        fldDataInfo = "number"
                     Case dbDate
                        fldDataInfo = "date"
                     Case dbText
                        fldDataInfo = "nvarchar2(" & Format$(.Size) & ")"
                     Case dbLongBinary
                        fldDataInfo = "****"
                     Case dbMemo
                        fldDataInfo = "****"
                     Case dbGUID
                        fldDataInfo = "nvarchar2(16)"
                  End Select
               End With
               If FieldIndex > 0 Then
               DDL = DDL & ", " & vbCrLf
               End If
               DDL = DDL & "  " & fldName & " " & fldDataInfo
               Next FieldIndex
         End With
         DDL = DDL & ");"
         TableCreateDDL = DDL
End Function


Sub ExportAllTableCreateDDL()

    Dim lTbl As Long
    Dim dBase As Database
    Dim Handle As Integer

    Set dBase = CurrentDb

    Handle = FreeFile

    Open "c:\export\TableCreateDDL.txt" For Output Access Write As #Handle

    For lTbl = 0 To dBase.TableDefs.Count - 1
         'If the table name is a temporary or system table then ignore it
        If Left(dBase.TableDefs(lTbl).Name, 1) = "~" Or _
        Left(dBase.TableDefs(lTbl).Name, 4) = "MSYS" Then
             '~ indicates a temporary table
             'MSYS indicates a system level table
        Else
          Print #Handle, TableCreateDDL(dBase.TableDefs(lTbl))
        End If
    Next lTbl
    Close Handle
    Set dBase = Nothing
End Sub

я никогда не утверждал, что был программистом VB.

19
ответ дан 1 December 2019 в 10:19
поделиться

Используйте Инструментальные средства Миграции Разработчика SQL Oracle.

существует полное учебное руководство при преобразовании баз данных Access к Oracle, доступной здесь . Если его единственное структуры, которые Вы после, то можно сконцентрироваться на разделе 3.0.

2
ответ дан 1 December 2019 в 10:19
поделиться

Я сделал это:

существует инструмент для "увеличения" от Доступа до SQL Server. Сделайте это, затем используйте превосходные инструменты SQL Server для генерации сценария.

http://support.microsoft.com/kb/237980

3
ответ дан 1 December 2019 в 10:19
поделиться

Можно использовать функцию экспорта в Доступе для экспортирования таблицы к источнику данных ODBC. Настройте источник данных ODBC к базе данных Oracle и затем щелкните правой кнопкой по таблице на вкладке "Tables" Доступа и выберите экспорт. ODBC является одними из "форматов файлов" - он затем поднимет обычное диалоговое окно ODBC.

1
ответ дан 1 December 2019 в 10:19
поделиться

Вы могли бы хотеть изучить ADOX для достигания информации о схеме. Используя ADOX можно получить вещи, такие как ключи, представления, отношения, и т.д.

, К сожалению, я не программист VB, но существует много примеров в сети с помощью ADOX для достигания схемы таблицы.

1
ответ дан 1 December 2019 в 10:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: