O que “a fonte de dados não pode estar vazia. Uso: Memória: Para abrir um banco de dados na memória ”significa?
-
27-09-2019 - |
Pergunta
Recentemente, converti meu banco de dados do SQL Server em SQLite DB. Mas quando tento abrir meu sqlite usando .Open()
Isso me joga este erro:
Data Source cannot be empty. Use :memory: to open an in-memory database
Editar: adicionada string de conexão:
ConnectionString = @"Data Source=D:\XXX.db;Version=3";
connection = new SQLiteConnection(connectionString);
connection.Open();
Por que eu entendo isso? Convertei o mesmo banco de dados do SQL Server em SQL CE e MySQL e não recebi esses erros.
Solução
Há um espaço após sua fonte de dados: Data Source= D:\XXX.db
. Além disso, em sua cópia/pasta, não há cotação de fechamento para a string de conexão. Aqui está uma string de conexão que funciona para mim para a ferramenta de teste:
@"Data Source=C:\Temp\Test.db3;Pooling=true;FailIfMissing=false;Version=3"
Outras dicas
Porque sua fonte de dados está vazia. Adicione a fonte de dados paramater à sua string de conexão. Antes de abrir o banco de dados SQLite.
Você não forneceu um nome de fonte de dados, também conhecido como o arquivo sqlite existe.