Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations IamaSherpa on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

P.SQL8 locks up

Status
Not open for further replies.

TomKane

Programmer
Jul 24, 2001
1,018
AU
Hi,

We have a VB app that uses an ODBC connection P.SQL8 with a dsn-less connection. We're still in the testing phase and find that if the connection string is (incorrectly) missing the database name then it can lock up the Pervasive engine both relational and transactional. We can't see what's going in the the Pervasive Monitor (8.1) as that become unavailable as well. I was wondering if you'd ever come across that problem or a way to identify what process is causing the lock up.

Thanks,
Tom

 
I tested this on 8.1 and 8.5 and found it to be the same - there was a bit more in the way of errors reported in the 8.5 version. I can recreate the problem at will and I think I have a work around in that the programs must check that the server and database names are present in the connection string prior to attempting to open a database. The only thing is that the server locked up recently and it would appear (although I can't be 100% sure) that the only applications running were accessing the data through the transactional engine. My instinct tells me that it must have been an erroneous relational access attempt that locked up Pervasive - but I can't prove it. I doubt it was the transactional engine simply because I don't think it would be as sophisticated as the relational engine when it comes to accessing Pervasive data.

Below is the code that works:

Dim objConn
Dim rstemp

Set objConn = New ADODB.Connection

objConn.ConnectionString = "Driver={Pervasive ODBC Client Interface};ServerName=10.13.193.24.1583;dbq=DEMODATA;"

objConn.Open

mysql = "SELECT * FROM PERSON "

Set rstemp = objConn.Execute(mysql)

Here is the code that doesn't work (database name is missing)

Dim objConn
Dim rstemp

Set objConn = New ADODB.Connection

objConn.ConnectionString = "Driver={Pervasive ODBC Client Interface};ServerName=10.13.193.24.1583;dbq=;"

objConn.Open 'Fails here

mysql = "SELECT * FROM PERSON "

Set rstemp = objConn.Execute(mysql)
 
What it looks to be is that there are new memory utilisation settings in P.SQL8 that allow you to specify a lot of extra resource - max microkernal memory usage - I set it to zero and reduced the cache allocation size and the problem seems to have gone.
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top