2010-10-28 24 views
8

J'ai récemment converti ma base de données SQL Server en DB SQLite. Mais quand je tente d'ouvrir mon SQLite en utilisant .Open() il me jette cette erreur:Que signifie "Source de données ne peut pas être vide.Utiliser: mémoire: pour ouvrir une base de données en mémoire" signifie?

Data Source cannot be empty. Use :memory: to open an in-memory database 

Edit: a ajouté la chaîne de connexion:

ConnectionString = @"Data Source=D:\XXX.db;Version=3"; 
connection = new SQLiteConnection(connectionString); 
connection.Open(); 

Pourquoi dois-je obtenir? J'ai converti la même base de données SQL Server en SQL CE et mySQL et je n'ai pas eu ces erreurs.

+1

Veuillez mettre la chaîne de connexion dans la question. –

+0

ConnectionString = @ "Source de données = D: \ XXX.db; Version = 3; connexion = nouvelle SQLiteConnection (connectionString); connection.Open(); –

+0

Cet espace est-il significatif après le = ?? Data Source = D: \ XXX .db –

Répondre

9

Il y a un espace autour de votre source de données: Data Source= D:\XXX.db. En outre, dans votre copier/coller, il n'y a pas de guillemet fermant à la chaîne de connexion. Voici une chaîne de connexion qui fonctionne pour moi pour l'outil de test:

@"Data Source=C:\Temp\Test.db3;Pooling=true;FailIfMissing=false;Version=3" 
+0

Merci mec. Je l'ai déjà compris et vous pouvez le voir dans mon commentaire ci-dessous la question –

0

Parce que votre source de données est vide. Ajoutez le paramètre Data Source à votre chaîne de connexion. avant d'ouvrir la base de données Sqlite.

+0

Son pas vide .J'ai spécifié le chemin exact dude .. connectionString = @ "Data Source = D: \ XXX.db; Version = 3; connection = nouvelle SQLiteConnection (connectionString); connection.Open(); –

+0

Peut-être supprimer l'espace à l'avant du 'D: \' et fermer la connectionString avec un double guillemet pourrait aider. – tidwall

+0

désolé les gars c'est mon erreur .. à un endroit que j'ai mentionné comme "datasource" sans espaces .. ce qui a causé le problème. Merci –

0

Vous n'avez pas fourni de nom de source de données, alias où le fichier sqlite existe.

+0

Je l'ai fait, reportez mes autres commentaires –