2010-09-03 4 views
3

Dans Microsoft Access 2003 et Visual Basic 6 J'essaie de copier une table à une autre base de données d'accès est protégé par mot comme ça ...Sélectionnez dans une table dans une autre base de données protégée par mot de passe?

Select * INTO table2 IN 'database2.mdb' [;Password=TestPass] From table1 

Il échoue avec l'erreur: Mot de passe incorrect

Le format Select INTO n'accepte-t-il pas le mot de passe avec le mdb, et le mot de passe doit être dans une chaîne de connexion? Si non, comment faites-vous référence à une chaîne/base de données de connexion différente?

grâce

+2

Peut-être que vous n'avez aucun contrôle sur elle, mais si vous le faites, vous devriez savoir que la base de données passe les mots ne servent aucun but vraiment utile - ils ne sont guère plus que «théâtre de sécurité». Si vous pouvez supprimer le mot de passe, je vous recommande de le faire. Si vous êtes préoccupé par la sécurité, vous ne faites que vous tromper si vous pensez qu'un mot de passe de base de données répond à tout sauf aux problèmes de sécurité les plus banals. –

Répondre

4

Que diriez-vous:

SELECT * INTO Table2 IN '' [MS Access;PWD=TestPass;DATABASE=C:\Docs\database2.mdb] 
FROM Table1 

Ces jours, je serais plus enclin à utiliser quelque chose comme la ligne ci-dessous, il donne plus de contrôle et permet aux différents back-ends:

SELECT * INTO Table2 FROM [MS Access;PWD=password;DATABASE=C:\Docs\database2.mdb].Table1 

Vous pouvez mettre n'importe quelle chaîne de connexion valide entre les crochets.

Référence: http://www.connectionstrings.com/

+0

Vous voulez dire: 'SELECT * INTO [; PWD = TestPass; DATABASE = C: \ Docs \ database2.mdb] .table2 FROM table1'? –

+0

oups, mise à jour de la réponse. – Fionnuala

+0

ne peut pas obtenir l'un de ces 2 à travailler. Je vais essayer et suivi avec plus d'infos ... merci – Brian

2

Si ne fonctionne pas

SELECT * INTO [;PWD=TestPass;DATABASE=C:\Docs\database2.mdb].table2 FROM table1 

Essayez d'ajouter "" comme ça

SELECT * INTO [";PWD=TestPass;DATABASE=C:\Docs\database2.mdb"].table2 FROM table1 

Il a fonctionné pour moi (Delphi avec jet SQL)

Questions connexes