SQLite无法连接到另一台PC上的数据库

时间:2016-04-07 19:02:13

标签: c# wpf database windows sqlite

我的SQLite数据库存在一些问题。当我在我的个人计算机上使用WPF(VS2015)制作应用程序并且我正在调试程序时,整个数据库工作正常(没有错误)。但是当我试图在任何其他PC上运行.exe文件时(我正在复制包含数据库文件的整个调试文件夹)我的应用程序无法连接到数据库并且崩溃。

            string dbConnection = @"Data Source=db2.db; Version=3;";
            SQLiteConnection sqliteCon = new SQLiteConnection(dbConnection);


        try
        {
            sqliteCon.Open();
            string Query = "select * from Haslo where Haslo = '" + this.passwordBox.Password + "' ";
            SQLiteCommand createCommand = new SQLiteCommand(Query, sqliteCon);

            createCommand.ExecuteNonQuery();
            SQLiteDataReader dr = createCommand.ExecuteReader();

看起来它甚至无法连接到数据库文件,因为我只留下了这个片段,应用程序停在这里。

string dbConnection = @"Data Source=db2.db; Version=3;";
SQLiteConnection sqliteCon = new SQLiteConnection(dbConnection);

我也试过在这里使用“尝试和捕捉”,但没有发生任何事情。几秒钟后,只有MessageBox“应用程序停止运行”。

我还制作了第二个数据库,这个问题仍然存在。

很明显,我的电脑还有其他电脑没有的东西。我在mozilla插件“SQLite Menager”中创建了数据库。我是初学者,所以感谢你的耐心等待。有线索吗?

2 个答案:

答案 0 :(得分:2)

你是如何在第一台机器上安装SQLite DLL的?如果您使用可执行文件安装它们,那么它们可能在GAC中,这就是为什么您可以在第一台机器上打开它,但是当您复制到第二台机器时,它没有DLL。

您可以使用SQLite nuget包,它将所有必需的DLL放入项目输出文件夹中,以便您可以将其复制到其他位置。

答案 1 :(得分:0)

问题是您无法让其他计算机连接到计算机上的数据库?我刚才遇到这个问题时,是因为我的计算机后面的防火墙掩盖了ip,所以防火墙外的计算机无法识别它。