连接到Pervasive数据库的速度很慢

时间:2015-01-06 12:49:12

标签: vb.net pervasive

这在我的工作地点一直是个问题。以前,我们有一个合作编程学生给我们写一些使用C#的应用程序,这些应用程序在他的笔记本电脑上运行良好,但是一旦应用程序在不同的计算机上使用,与普及数据库的连接因为非常缓慢。

现在我正在编写一个简单的VB.net应用程序,需要查询Pervasive数据库,我遇到了同样的问题。

这是我的代码:

 'PSQL variables
        Dim myPsqlConnection As PsqlConnection = New PsqlConnection("ServerName=FILESERVER;ServerDSN=SAGE2")
        Dim queryString As String
        queryString = "SELECT NAME FROM CUSTOMER"
        Dim MyCommand As New PsqlCommand(queryString, myPsqlConnection)
        Dim MyReader As PsqlDataReader
        Dim tempCustname As String


        Try 'open conncetion to Pervasive DB
            myPsqlConnection.Open()
        Catch ex As Exception
            MsgBox("COULD NOT OPEN A CONNECTION TO THE DATABASE" & vbCrLf & ex.Message)
            Exit Sub
        End Try

        Try 'execute Pervasive query
            MyReader = MyCommand.ExecuteReader
        Catch ex As Exception
            MsgBox("QUERY ERROR" & vbCrLf & ex.Message)
            Exit Sub
        End Try
        If MyReader.HasRows = False Then
            MsgBox("NO RESULTS FOUND")
            Exit Sub
        End If
        While (MyReader.Read)
            tempCustname = MyReader("NAME").ToString()
            Customers.Items.Add(tempCustname)
        End While
        MyReader.Close()
        myPsqlConnection.Close()

我完成了程序,大约需要30秒才能通过打开连接的行。

至于规格(我会尽我所能):

我的电脑功能非常强大(16 gb或ram,6核AMD处理器,每核3.0 Ghz,Windows 7家64位)

Pervasive.Data.SqlClient版本3.2

使用Microsoft Visual Basic 2010 Express进行编译

此网络上的计算机数量非常少(约7台),我对MS Access数据库没有这样的麻烦。我们的服务器是2年前的新服务器,并且网络已经升级为GB连接。我应该注意到我对数据库的了解很少,更不用说与VB连接了。我不是最好的人,但我仍然是我们小公司中最有资格的人。

1 个答案:

答案 0 :(得分:0)

我现在已经开始工作了。解决方案是首先在普及控制中心安装数据库。首先从PCC的主窗口中选择“新数据库”,并填写数据库名称,位置,用户名和密码。

接下来,我将连接从普遍的ADO更改为OLEDB。我的连接字符串现在看起来像这样:

Dim myPsqlConnection As OleDbConnection = New OleDbConnection("Provider=PervasiveOLEDB;Data Source=DatabaseName;Location=FILESERVER")

感谢大家的帮助!