22.1.9 MyODBC Configuration
22.1 Support ODBC de MySQL
22 Pilotes MySQL
Manuel de Référence MySQL 4.1 : Version Française
. Qu'est-ce qu'un Data Source Name , ou Nom de Source de Données? . Configuration du DSN MyODBC sur Windows . Configuration d'un DSN MyODBC sous Unix . Paramètres de connexion . Se connecter sans définir de DSN . Etablir une connexion distante d'un système A à un système B . Obtenir un fichier de trace ODBC . Applications Tested with MyODBC ->Programs Known to Work With MyODBC
|
22.1.9.9 Programs Known to Work With MyODBC La majorité des programmes doivent pouvoir fonctionner avec MyODBC,
mais ceux qui sont listés ici ont été testé par nous-même, ou bien été
testé par des utilisateurs de confiance. Les descriptions fournissent des
palliatifs aux problèmes rencontrés.
-
Programme
-
Commentaire
-
Access
-
Pour faire fonctionner Access :
-
ADO
-
Lorsque vous codez avec l'API ADO et MyODBC, vous devez faire attention
aux propriétés par défaut qui ne sont pas supportées par MySQL. Par
exemple, en utilisant
CursorLocation Property
,
adUseServer
va retourner un résultat de -{}1 pour
RecordCount Property
. Pour avoir la bonne valeur, vous devez
donner la valeur de
adUseClient
à cette propriété, tel que présenté
ci-dessous :
Dim myconn As New ADODB.Connection Dim myrs As New Recordset Dim mySQL As String Dim myrows As Long myconn.Open "DSN=MyODBCsample" mySQL = "SELECT * from user" myrs.Source = mySQL Set myrs.ActiveConnection = myconn myrs.CursorLocation = adUseClient myrs.Open myrows = myrs.RecordCount myrs.Close myconn.Close
|
Un autre palliatif est d'utiliser
SELECT COUNT(*)
pour
connaître le nombre de lignes.
-
Active server pages (ASP)
-
Il est recommandé de sélectionner l'option
Return matching rows
.
-
applications BDE
-
Pour faire fonctionner ces applications, vous devez sélectionner les options
Don't optimize column widths
et
Return matching rows
.
-
Borland Builder 4
-
Lorsque vous lancez une requête, vous pouvez utiliser la propriété
Active
ou la méthode
Open
. Notez que
Active
commencera par
émettre automatiquement une requête
SELECT * FROM ...
. Cela n'est pas forcément
pratique si vos tables sont grandes.
-
ColdFusion (On Unix)
-
Les informations suivantes sont tirées de la documentation ColdFusion :Utilisez les informations suivantes pour configurer le serveur ColdFusion
pour Linux avec le pilote unixODBC et MyODBC pour MySQL.
Allaire a vérifié que MyODBC 2.50.26 fonctionne avec MySQL 3.22.27 et
ColdFusion pour Linux. Toutes les versions plus récentes devraient aussi
fonctionner. Vous pouvez télécharger MyODBC sur
http://dev.mysql.com/downloads/connector/odbc/ .
ColdFusion Version 4.5.1 vous permet d'utiliser l'administrateur ColdFusion
pour ajouter des sources de données MySQL. Cependant, le pilote n'est pas
inclus avec ColdFusion Version 4.5.1. Avant que le pilote MySQL n'apparaisse
dans les listes de sources ODBC, vous devez compiler et copier le pilote
MyODBC dans
/opt/coldfusion/lib/libmyodbc.so
.
Le dossier Contrib contient le programme
Array
qui vous
permet de compiler et supprimer le fichier DSN pour les applications Coldfusion
qui utilisent le pilote MyODBC.
-
DataJunction
-
Vous devez changer pour exporter des
VARCHAR
au lieu des types
ENUM
,
car l'export de ce dernier pose des problèmes à MySQL.
-
Excel
-
Fonctionne. Quelques conseils :
-
Word
- Pour lire des données depuis MySQL vers des documents Word/Excel, vous devez utiliser
le pilote MyODBC et le Add-in Microsoft Query.
Par exemple, pour créer une base de données avec une table avec 2 colonnes de texte :
-
Inserez deux lignes avec le client
'mysql'
.
-
Créez un fichier DSN file en utilisant le gestionnaire ODBC, par exemple,
my
, pour la base de données créée.
-
Lancez Word.
-
Créez un document vide.
-
Dans la barre d'outil
Database
, cliquez sur le bouton
Insert Database
.
-
Cliquez sur le bouton
Get Data
.
-
Dans la gauche de l'écran
Get Data
, cliquez sur
Ms Query
.
-
Dans
Ms Query
, créez une nouvelle source de données en utilisant le DSN
my
.
-
Sélectionnez la nouvelle requête.
-
Sélectionnez les colonnes que vous voulez.
-
Ajoutez le filtre que vous voulez.
-
Ajoutez le tri que vous souhaitez.
-
Sélectionnez
Return Data to Microsoft Word
.
-
Cliquez sur
Finish
.
-
Cliquez sur
Insert Data
et sélectionnez les lignes.
-
Cliquez sur
OK
et voyez les lignes dans votre document Word.
-
odbcadmin
-
Program de test pour ODBC.
-
Delphi
-
Vous devez utiliser BDE Version 3.2 ou plus récent. Sélectionnez l'option
Don't optimize column width
lors de la connexion à MySQL.
De plus, il y a des codes pratiques Delphi qui configurer une entrée ODBC
et une source BDE pour MyODBC. La source BDE requiert BDE
Alias Editor qui est gratuit sur Delphi Super Page.
(Merci à Bryan Brunton bryan@flesherfab.com pour cela):
fReg:= TRegistry.Create; fReg.OpenKey('\Software\ODBC\ODBC.INI\DocumentsFab', True); fReg.WriteString('Database', 'Documents'); fReg.WriteString('Description', ' '); fReg.WriteString('Driver', 'C:\WINNT\System32\myodbc.dll'); fReg.WriteString('Flag', '1'); fReg.WriteString('Password', ''); fReg.WriteString('Port', ' '); fReg.WriteString('Server', 'xmark'); fReg.WriteString('User', 'winuser'); fReg.OpenKey('\Software\ODBC\ODBC.INI\ODBC Data Sources', True); fReg.WriteString('DocumentsFab', 'MySQL'); fReg.CloseKey; fReg.Free; Memo1.Lines.Add('DATABASE NAME='); Memo1.Lines.Add('USER NAME='); Memo1.Lines.Add('ODBC DSN=DocumentsFab'); Memo1.Lines.Add('OPEN MODE=READ/WRITE'); Memo1.Lines.Add('BATCH COUNT=200'); Memo1.Lines.Add('LANGDRIVER='); Memo1.Lines.Add('MAX ROWS=-1'); Memo1.Lines.Add('SCHEMA CACHE DIR='); Memo1.Lines.Add('SCHEMA CACHE SIZE=8'); Memo1.Lines.Add('SCHEMA CACHE TIME=-1'); Memo1.Lines.Add('SQLPASSTHRU MODE=SHARED AUTOCOMMIT'); Memo1.Lines.Add('SQLQRYMODE='); Memo1.Lines.Add('ENABLE SCHEMA CACHE=FALSE'); Memo1.Lines.Add('ENABLE BCD=FALSE'); Memo1.Lines.Add('ROWSET SIZE=20'); Memo1.Lines.Add('BLOBS TO CACHE=64'); Memo1.Lines.Add('BLOB SIZE=32'); AliasEditor.Add('DocumentsFab','MySQL',Memo1.Lines);
|
-
C++ Builder
-
Testé avec BDE Version 3.0. Le seul problème est que lorsque le schéma de tables
change, les champs de requêtes ne sont pas mis à jour. BDE, de son coté, ne semble
pas reconnaître les clés primaires, et seulement l'index appelé
PRIMARY
,
mais ce n'est jamais un problème.
-
Vision
-
Vous devez sélectionner l'option
Return matching rows
.
-
Visual Basic
-
Pour être capable de modifier une table, vous devez définir une clé primaire
dans la table.Visual Basic avec ADO ne peut pas gérer les grands entiers. Cela signifie que
certaines requêtes comme
SHOW PROCESSLIST
ne fonctionneront pas comme
attendu. Pour pallier ce problème, il faut utiliser l'option
OPTION=16384
dans la chaîne de connexion ODBC ou sélectionez l'option
Change BIGINT columns to INT
dans l'écran MyODBC. Vous pouvez aussi
sélectionner l'option
Return matching rows
.
-
VisualInterDev
-
SI vous avez un
BIGINT
dans votre résultat, vous pouvez aussi avoir
l'erreur
[Microsoft][ODBC Driver Manager] Driver does not support this parameter
Essayez de sélectionner
Change BIGINT columns to INT
dans la configuration
MyODBC.
-
Visual Objects
-
Vous devriez sélectionner l'option
Don't optimize column widths
.
-
MS Visio Enterprise 2000
-
Nous avons créé un diagramme de base de données en connectant depuis
MS Vision Enterprise 2000 vers MySQL via MyODBC (2.50.37 ou plus récent)
et en utilisant les fonctions de retro-ingénierie de Visio pour lire les
informations sur la base (Visio montre toutes les définitions de colonnes,
les clés primaires, les index, etc.). De plus, nous avons aussi testé la
conception de nouvelles tables avec Visio, et avons réussi à les exporter
de MySQL via MyODBC.
|