Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Type de colonne, base MS Access

2 réponses
Avatar
Alex C.
Bonjour,

Je suis en train d'essayer de cr=E9er un fichier SQL =E0 partir des
donn=E9es pr=E9sentes dans une base SQL.
Dans un premier temps j'essaye des r=E9cup=E9rer les informations de la
structure de la base de donn=E9e, 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 =3D New OleDbConnection(ConnectionString)
Connexion_Access2k.Open()
TablesList =3D
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=E9e de la colonne, j'obtiens des nombres,
mais je n'ai pas de correspondance entre ces nombre et une quelconque
=E9num=E9ration.
Par exemple 130 semble =EAtre le type de donn=E9es "text"

Connaissez vous un moyen d'obtenir l'=E9num=E9ration des types d'une base
donn=E9e MS Access ? ou du moins une correspondance entre ces nombre et
les types de donn=E9es ?

2 réponses

Avatar
Alex C.
On 29 oct, 11:09, "Alex C." wrote:
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
Avatar
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." a écrit dans le message de news:

On 29 oct, 11:09, "Alex C." wrote:
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