Ignition et ODBC (MS-Access)

Modifié le  Tue, 20 Sep 2016 sur 03:36 PM

Etat des lieux

JDBC-ODBC BRIDGE (article Oracle)

JDBC-ODBC Bridge permet aux applications écrites dans le langage de programmation Java d'utiliser l'API JDBC avec de nombreux pilotes ODBC existants. Le pont est lui - même un pilote basé sur la technologie JDBC ( "pilote JDBC") qui est défini dans la classe sun.jdbc.odbc.JdbcOdbcDriver. Le pont définit le sous-protocole odbc JDBC.

Statut du pont JDBC-ODBC

Le JDBC-ODBC Bridge doit être considérée comme une solution transitoire; il sera supprimé dans le JDK 8. En outre, Oracle ne prend plus en charge le JDBC-ODBC Bridge. Oracle recommande que vous utilisez les pilotes JDBC fournis par le fournisseur de votre base de données à la place du JDBC-ODBC Bridge.

Pourquoi utiliser ODBC ?

L'idéal est "Java pur": pas de code natif, pas de caractéristiques dépendant de la plate-forme. Mais vous devrez peut-être commencer votre effort de développement tout de suite, sans attendre votre SGBD pour offrir un pilote Java JDBC uniquement. Partiellement pilotes natifs, tels que le JDBC-ODBC Bridge, vous permettent de créer des programmes qui adaptent facilement aux conducteurs purs Java qu'ils deviennent disponibles.

 

Solution pour Ignition 7.8.x sous Java 1.8

Avant de pouvoir migrer votre base de données sous un SGBD offrant un pilot JDBC natif, un solution intermédiaire existe. Elle consiste à tout simplement récupérer la classe sun.jdbc.odbc.JdbcOdbcDriver et les éléments nécessaire à son exploitation et de l'intégrer à Ignition.

 

Pour des raisons de droits, nous ne pouvons pas vous fournir directement un package regroupant les éléments nécessaires, mais voici une procédure complète qui vous permettra de mettre facilement cette solution en oeuvre. Le JDK 1.7 ou 1.8 est nécessaire pour recréer un Package.

 

Création du package Driver JDBC-ODBC Bridge et préparation de java 1.8


  1. Télécharger "jre-7u80-windows-i586.tar.gz" ou "jre-7u80-windows-x64.tar.gz" suivant votre système 32/64bits : site Archive JAVA 7 
  2. Decompresser cette archive dans une répertoire. On obtient l'arborescence suivante :

  3. Copier le répertoire lib/rt/sun/* dans un nouveau répertoire sun.


  4. Supprimer tous les sous répertoires en ne concernant que :

  5. Ouvrer une fenêtre "ligne de commande"
  6. lancer la commande à partir du répertoire parent de "sun" :   jar -xcf JdbcOdbc.jar sun  L'exécutable JAR se trouve dans le répertoire /bin de l'installation du JDK.
  7. Cette commande crée le fichier JdbcOdbc.jar qui servira de driver à Ignition.
  8. Copier le fichier jdbcodbc.dll présent dans le répertoire bin de l'archive décompresse vers le répertoire bin de votre installation java : 
  • c:\program\java\jre1.8.x_xx\bin
ou pour une installation JDK
    • c:\program\java\jdk1.8.x_xx\jre\bin

    Préparation d'Ignition
    1. Sur l'interface WEB de configuration de la Gateway, onglet Configurer, sélectionner la section Databases/Driver
    2. Ajouter un Driver en cliquant sur "Create new JDBC Driver..."
    3. Donner un nom au driver (ex: JdbcOdbc)
    4. Dans le champ Classename saisir :  sun.jdbc.odbc.JdbcOdbcDriver
    5. Sélectionner ensuite le fichier JdbcOdbc.jar précédemment créé avec le bouton Parcourir.
    6. Sélectionner comme Driver Type : Generic
    7. et MSSQL dans le champ Default Translator
    8. puis valider : 


    Connecter la base de donnée
    1. Sélectionner la section Databases/Connections
    2. Ajouter une nouvelle connection en cliquant sur  "Create new Database Connection..."
    3. Donner un nom a votre connection (ex: MonFichierAccess)
    4. Dans le champ JDBC Driver sélectionner le driver précédemment créé.  (ex :JdbcOdbc)
    5. Dans le champ Connect URL saisir la chaine suivante : 
      jdbc:odbc:DRIVER=Microsoft Access Driver (*.mdb,*.accdb);UID=admin;UserCommitSync=Yes;Threads=3;SafeTransactions=0;PageTimeout=5;MaxScanRows=8;MaxBufferSize=2048;FIL=MS Access;DriverId=25;DefaultDir=C:\;DBQ=C:\\monFichierAccess.accdb
      En spécifiant le chemin et le fichier de la base dans les variables : DefaultDir et DBQ (utiliser la notation windows "\" et non "/" comme séparateur de répertoires)
      ATTENTION, ces 2 paramètres DefaultDir et DBQ doivent être en fin de chaine
    6. Le reste des champs peut être laissé par défaut

    7. Chaînes de connexion ODBC typique

      • ACCESS:
      • DRIVER={Microsoft Access Driver (*.mdb, *accdb)};uid=nonDusager;pwd=motDePasse;DefaultDir=D:\inetpub\db;DBQ=D:\inetpub\db\base.mdb;
      • Excel:
        DRIVER={Microsoft Excel Driver (*.xls)};DriverId=790;DBQ=D:\inetpub\db\fichier.xls;DefaultDir=D:\inetpub\db;
      • Visual Fox Pro
        DRIVER={Microsoft Visual FoxPro Driver};SourceType=DBF;SourceDB=D:\cheminAccès\fp\Base;User ID=nonDusager;Password=motDePasse;

      Votre base de données MS Access est maintenant accessible en lecture/écriture à partir d'Ignition de la même manière que n'importe quelle connexions base de données.

       

    Pièces jointes (1)

    Cet article a-t-il été utile ?

    C'est super !

    Merci pour votre commentaire

    Désolé ! Nous n'avons pas pu vous être utile

    Merci pour votre commentaire

    Dites-nous comment nous pouvons améliorer cet article !

    Sélectionner au moins l'une des raisons

    Commentaires envoyés

    Nous apprécions vos efforts et nous allons corriger l'article