|
La plupart des programmes fonctionnent avec MyODBC, mais ceux de la liste suivante on été testé par nos soins, ou vérifié par quelqu'un qui l'utilise :
- Program
-
Comment
- Access
-
Pour faire fonctionner Access :
-
Vous devez avoir une clé primaire dans votre table.
-
Vous devez avoir une colonne de type timestamp dans toutes les tables qui vous voudrez modifier.
-
N'utilisez que des champs double float. Access échoue de la la comparaison de simple floats.
-
Choisissez l'option 'Return matching rows' lors de la connexion à MySQL.
-
Sous NT, Access retournera les colonnes de type
BLOB comme des objets OLE OBJECTS . Si, à la place, vous voulez avoir des colonnes de types MEMO , il vous faut changer la colonne en TEXT avec ALTER TABLE .
-
Access ne gère pas toujours les
DATE correctement. Si vous avez un souci avec, changez les colonnes en type DATETIME .
-
Dans certains cas, Access peut générer des requêtes SQL illégales, que MySQL ne peut pas comprendre. Vous pouvez corriger cela en selection l'option
"Query|SQLSpecific|Pass-Through" dans le menu Access.
- DataJunction
-
Vous devez vous arranger pour retourner des colonnes de type
VARCHAR plutot que ENUM , car il ne gère pas correctement ces dernières.
- Excel
-
Fonctionne. Conseils :
- odbcadmin
-
Programme de test pour ODBC.
- Delphi
-
Il faut utiliser DBE 3.2 ou plus récent. Utilisez l'option 'Don't optimize column width' lors de la connexion à MySQL.
Par ailleurs, voici un source utile sous delphi, qui prépare la source ODBC et une entrée MyODBC (l'entrée BDE requiert BDE Alias Editor qui peut être disponible librement sur le site Delphi Super Page près de chez vous.) (Merci à Bryan Brunton bryan@flesherfab.com pour celle la).
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é sous BDE 3.0. Le seul problème connu est lorsque la structure de la table change, les champs de requêtes ne sont pas modifiés. BDE ne semble pas reconnaitre les clés primaires, mais seulement les index primaires, bien que cela n'ai pas généré de problèmes.
- Visual basic
-
Pour pouvoir modifier une table, vous devez définir une clé primaire pour cette table.
|