Type de colonne, base MS Access

Le
Alex C.
Bonjour,

Je suis en train d'essayer de créer un fichier SQL à partir des
données présentes dans une base SQL.
Dans un premier temps j'essaye des récupérer les informations de la
structure de la base de donnée, comme le nom des tables, la liste des
colonnes des tables, et les informations concernant chaque colonnes.

J'utilise le code suivant :

Dim Connexion_Access2k As OleDbConnection
Dim TablesList As DataTable

Connexion_Access2k = New OleDbConnection(ConnectionString)
Connexion_Access2k.Open()
TablesList =
Connexion_Access2k.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, New
Object() {Nothing, Nothing, Nothing, "TABLE"})


For Each Table As DataRow In TablesList.Rows
Console.WriteLine("Table " & Table("TABLE_NAME") & " :")
FichierSQL.WriteLine("")
For Each Colonne As DataRow In
Connexion_Access2k.GetOleDbSchemaTable(OleDbSchemaGuid.Columns, New
Object() {Nothing, Nothing, Table("TABLE_NAME"), Nothing}).Rows
Console.WriteLine(ToChar(9) & "Column " &
Colonne("COLUMN_NAME") & " :")
For Each ColonneDC As DataColumn In
Colonne.Table.Columns
Console.WriteLine(ToChar(9) & ToChar(9) &
ColonneDC.ColumnName & " " & Colonne(ColonneDC.ColumnName))
Next
Next
Next

ceci est un code de test :)

Et donc pour le type de donnée de la colonne, j'obtiens des nombres,
mais je n'ai pas de correspondance entre ces nombre et une quelconque
énumération.
Par exemple 130 semble être le type de données "text"

Connaissez vous un moyen d'obtenir l'énumération des types d'une base
donnée MS Access ? ou du moins une correspondance entre ces nombre et
les types de données ?
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Alex C.
Le #17677971
On 29 oct, 11:09, "Alex C."
Bonjour,

Je suis en train d'essayer de créer un fichier SQL à partir des
données présentes dans une base SQL.
Dans un premier temps j'essaye des récupérer les informations de la
structure de la base de donnée, comme le nom des tables, la liste des
colonnes des tables, et les informations concernant chaque colonnes.

J'utilise le code suivant :

        Dim Connexion_Access2k As OleDbConnection
        Dim TablesList As DataTable

        Connexion_Access2k = New OleDbConnection(ConnectionStri ng)
        Connexion_Access2k.Open()
        TablesList =
Connexion_Access2k.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, New
Object() {Nothing, Nothing, Nothing, "TABLE"})

        For Each Table As DataRow In TablesList.Rows
            Console.WriteLine("Table " & Table("TABLE_NAME") & " :")
            FichierSQL.WriteLine("")
            For Each Colonne As DataRow In
Connexion_Access2k.GetOleDbSchemaTable(OleDbSchemaGuid.Columns, New
Object() {Nothing, Nothing, Table("TABLE_NAME"), Nothing}).Rows
                Console.WriteLine(ToChar(9) & "Column " &
Colonne("COLUMN_NAME") & " :")
                For Each ColonneDC As DataColumn In
Colonne.Table.Columns
                    Console.WriteLine(ToChar(9) & ToC har(9) &
ColonneDC.ColumnName & " " & Colonne(ColonneDC.ColumnName))
                Next
            Next
        Next

ceci est un code de test :)

Et donc pour le type de donnée de la colonne, j'obtiens des nombres,
mais je n'ai pas de correspondance entre ces nombre et une quelconque
énumération.
Par exemple 130 semble être le type de données "text"

Connaissez vous un moyen d'obtenir l'énumération des types d'une base
donnée MS Access ? ou du moins une correspondance entre ces nombre et
les types de données ?



Je me réponds à moi même au cas ou certains chercheraient
l'information. Comme quoi aller prendre un café ca a du bon :)

C'est tout simplement l'énumération OleDbType, que j'ai trouvé grâc e à
cet article : http://support.microsoft.com/kb/318373/fr
Le #17705171
Bonjour Alex,

Je vois que tu as trouvé 1 moyen.

Si cela peut t'être tout de même utile, voici 2 de mes sources :
http://www.vbfrance.com/codes/CONNAITRE-CERTAINES-ENUMERATIONS-OLEDBSCHEMAGUID-NET_43174.aspx
http://www.vbfrance.com/codes/CONNAITRE-DATATYPE-ADODB-COMPATIBLES-AVEC-TYPES-DONNEES-ACCESS_43088.aspx

Bonne journée,
Stéphane.



"Alex C."
On 29 oct, 11:09, "Alex C."
Bonjour,

Je suis en train d'essayer de créer un fichier SQL à partir des
données présentes dans une base SQL.
Dans un premier temps j'essaye des récupérer les informations de la
structure de la base de donnée, comme le nom des tables, la liste des
colonnes des tables, et les informations concernant chaque colonnes.

J'utilise le code suivant :

Dim Connexion_Access2k As OleDbConnection
Dim TablesList As DataTable

Connexion_Access2k = New OleDbConnection(ConnectionString)
Connexion_Access2k.Open()
TablesList > Connexion_Access2k.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, New
Object() {Nothing, Nothing, Nothing, "TABLE"})

For Each Table As DataRow In TablesList.Rows
Console.WriteLine("Table " & Table("TABLE_NAME") & " :")
FichierSQL.WriteLine("")
For Each Colonne As DataRow In
Connexion_Access2k.GetOleDbSchemaTable(OleDbSchemaGuid.Columns, New
Object() {Nothing, Nothing, Table("TABLE_NAME"), Nothing}).Rows
Console.WriteLine(ToChar(9) & "Column " &
Colonne("COLUMN_NAME") & " :")
For Each ColonneDC As DataColumn In
Colonne.Table.Columns
Console.WriteLine(ToChar(9) & ToChar(9) &
ColonneDC.ColumnName & " " & Colonne(ColonneDC.ColumnName))
Next
Next
Next

ceci est un code de test :)

Et donc pour le type de donnée de la colonne, j'obtiens des nombres,
mais je n'ai pas de correspondance entre ces nombre et une quelconque
énumération.
Par exemple 130 semble être le type de données "text"

Connaissez vous un moyen d'obtenir l'énumération des types d'une base
donnée MS Access ? ou du moins une correspondance entre ces nombre et
les types de données ?



Je me réponds à moi même au cas ou certains chercheraient
l'information. Comme quoi aller prendre un café ca a du bon :)

C'est tout simplement l'énumération OleDbType, que j'ai trouvé grâce à
cet article : http://support.microsoft.com/kb/318373/fr
Publicité
Poster une réponse
Anonyme