2009-03-17 10 views
2

J'ai un accès en lecture à une base de données MySQL et j'essaie de me connecter via le pilote MySQL ODBC 5.1. J'obtiens un échec d'autorisation (401) du serveur. L'administrateur a mis en place mon accès comme suit:Chaîne de connexion ODBC 5.1 pour MySQL avec accès en lecture seule

mysql> grant select, create temporary tables on theDatabase.* to 'adrian' identified by 'password'; 

Je suis réussi à se connecter à la base de données en utilisant des outils tels que DbVisualizer.

La chaîne de connexion que je suis en train d'utiliser en C# .NET est comme suit:

"Driver={MySQL ODBC 5.1 Driver};Server=theDatabaseServer;Database=theDatabase;User=adrian;Password=password;Option=3;" 

Peut-être que le problème est lié à l'incapacité de préciser mon autorisation limitée dans la chaîne de connexion? Des suggestions sur la façon de contourner cela (sans avoir à demander un accès complet à la base de données)?

Et quelle est la magie dans "Option = 3" ... existe-t-il d'autres options?

Merci.

Répondre

1

Essayez pour l'utilisateur "uid" et pour le mot de passe "pwd" dans la chaîne de requête. Cela doit être une chaîne de connexion valide:

string ConnectionString = @"driver={MySQL ODBC 3.51 Driver};server=localhost;database=books;uid=band;pwd=letmein;"; 
+0

La chaîne de connexion elle-même fonctionne correctement lorsque je la pointe vers une base de données sur laquelle j'ai un contrôle total. Mon problème est avec les échecs d'autorisation se connectant à une autre base de données. –

Questions connexes