无法在目标PC上创建SqlLite数据库-在开发PC上很好

时间:2019-10-17 08:57:40

标签: vb.net sqlite vsto

我为Outlook创建了一个VSTO插件,并且在开发机器上的发布和调试模式下都可以正常工作。即使我手动删除了所有构建文件和sqllite数据库,它也将在下次启动Outlook时从头开始创建所有内容,并且好像什么都没有发生一样。

当我将其安装在目标计算机上时,它根本不会创建sqllite数据库文件。它将创建要放入的目录,告诉我它将放置在什么位置,然后它只是不创建文件。然后,它无法存储以后的操作,因此就崩溃了。不幸的是,我复制了该命令以通过教程建立连接,所以不知道该怎么做!

我的代码如下:

Public Class ClsSqlLiteDatabase
 Public sub new ClsSqlLiteDatabase
  Try
        Dim sqlite_cmd As SQLiteCommand

        Dim dataFolder As String = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\SBDR Toolbox\"

        If (Not System.IO.Directory.Exists(dataFolder)) Then
            System.IO.Directory.CreateDirectory(dataFolder)
        End If

        Debug.WriteLine(dataFolder & "database.sqlite")

        ' create a new database connection:
        conn = New SQLiteConnection("Data Source=" & dataFolder & "database.sqlite;Version=3;")


        ' open the connection:
        conn.Open()

        sqlite_cmd = conn.CreateCommand()

        ' Let the SQLiteCommand object know our SQL-Query:
        sqlite_cmd.CommandText = "CREATE TABLE IF NOT EXISTS
    [MyBids] (
    [pReference]     NVARCHAR(2048) NULL PRIMARY KEY,
    [sReference]   NVARCHAR(2048) NULL,
    [AM]  NVARCHAR(2048) NULL,
    [CC]  NVARCHAR(2048) NULL,
    [Customer]  NVARCHAR(2048) NULL,
    [Vendor]   NVARCHAR(2048) NULL,
    [Distributor]   NVARCHAR(2048) NULL,
    [NDT]   NVARCHAR(2048) NULL)"

        ' Now lets execute the SQL ;-)
        sqlite_cmd.ExecuteNonQuery()
    Catch

        Debug.WriteLine("Could not initialise SQLLite Database")


    End Try
 End Sub

0 个答案:

没有答案