Solved

What could cause a Btrieve error 3 when it gets returned from a PsqlCommand object?

Posted on 2008-10-23
6
1,519 Views
Last Modified: 2013-12-20
Our application uses Pervasive.Data.SqlClient.dll version 2.10.1.2 to communicate with a btrieve database in Visual Basic, .NET 2.0, Studio 2005.  Whenever an exception is thrown from the PsqlCommand object, we log the error.

In this case the error happens intermittently, 3 - 4 times a month on a 25+ user real-time accounting / order processing application... of course this is enough to cause trouble.  Anyone?
0
Comment
Question by:GeekHipster
  • 4
  • 2
6 Comments
 
LVL 28

Accepted Solution

by:
Bill Bach earned 500 total points
ID: 22791223
Status 3 is a secondary error -- "file is not open".  It is almost always preceeded by a primary error, either in opening the file (e.g. 12, 35, etc.) , or after a network disconnect (e.g. 3111, 3112, etc.).

With that intermittent failure rate, I'd suspect the latter.  Check the PVSW.LOG on the server and on the affected WS to see if any networking errors are reported.  If you are experiencing *temporary* network outages, then you can enable Pervasive Auto ReConnect (PARC) and the system will try to survive the outages somehow.  Longer outages (over 3 minutes by default) will still result in an error.  A better solution is to figure out WHY the network connections are breaking and to fix the cause.  When you fix it, disable PARC to avoid the extra overhead.
0
 
LVL 1

Author Comment

by:GeekHipster
ID: 22799279
Here's a portion of the PVSW.LOG file for the date that the error occurred on one of the machines having this problem.  There was nothing close to the date range I'm concerned with on the server's file.

My application logged the error on this machine as happening at 11:15am.... I don't see that in here.

10-06-2008 08:10:30 MKDE            00000CAC w3dbsmgr.exe    COMP1         I                        Error initializing the SPX protocol. Error code: 6.
10-06-2008 08:10:31 W3COMSRV        00000CAC w3dbsmgr.exe    COMP1         I                        WinSock socket() error=10022 on one of potentially several NETBIOS protocol stacks.
10-06-2008 08:10:31 W3COMSRV        00000CAC w3dbsmgr.exe    COMP1         I                        WinSock socket() error=10022 on one of potentially several NETBIOS protocol stacks.
10-06-2008 08:10:31 W3COMSRV        00000CAC w3dbsmgr.exe    COMP1         I                        WinSock socket() error=10022 on one of potentially several NETBIOS protocol stacks.
10-06-2008 08:10:31 W3COMSRV        00000CAC w3dbsmgr.exe    COMP1         I                        WinSock socket() error=10022 on one of potentially several NETBIOS protocol stacks.
10-06-2008 08:10:31 W3COMSRV        00000CAC w3dbsmgr.exe    COMP1         E                        WinSock bind() error=10050.
10-06-2008 08:10:31 MKDE            00000CAC w3dbsmgr.exe    COMP1         I                        Error initializing the NetBIOS protocol. Error code: 10050.
10-06-2008 08:10:31 W3COMSRV        00000CAC w3dbsmgr.exe    COMP1         E                        WinSock bind() error=10050.
10-06-2008 08:10:31 MKDE            00000CAC w3dbsmgr.exe    COMP1         I                        Error initializing the NetBIOS protocol. Error code: 10050.
10-06-2008 08:10:31 W3COMSRV        00000CAC w3dbsmgr.exe    COMP1         E                        WinSock bind() error=10050.
10-06-2008 08:10:31 MKDE            00000CAC w3dbsmgr.exe    COMP1         I                        Error initializing the NetBIOS protocol. Error code: 10050.
10-06-2008 08:10:31 W3COMSRV        00000CAC w3dbsmgr.exe    COMP1         E                        WinSock bind() error=10050.
10-06-2008 08:10:31 MKDE            00000CAC w3dbsmgr.exe    COMP1         I                        Error initializing the NetBIOS protocol. Error code: 10050.
10-06-2008 08:10:31 W3COMSRV        00000CAC w3dbsmgr.exe    COMP1         E                        WinSock bind() error=10050.
10-06-2008 08:10:31 MKDE            00000CAC w3dbsmgr.exe    COMP1         I                        Error initializing the NetBIOS protocol. Error code: 10050.
10-06-2008 08:10:31 W3COMSRV        00000CAC w3dbsmgr.exe    COMP1         E                        WinSock bind() error=10050.
10-06-2008 08:10:31 MKDE            00000CAC w3dbsmgr.exe    COMP1         I                        Error initializing the NetBIOS protocol. Error code: 10050.
10-06-2008 08:10:31 W3COMSRV        00000CAC w3dbsmgr.exe    COMP1         E                        WinSock bind() error=10050.
10-06-2008 08:10:31 MKDE            00000CAC w3dbsmgr.exe    COMP1         I                        Error initializing the NetBIOS protocol. Error code: 10050.
10-06-2008 08:10:31 W3COMSRV        00000CAC w3dbsmgr.exe    COMP1         I                        WinSock socket() error=10022 on one of potentially several NETBIOS protocol stacks.
10-06-2008 08:10:31 W3COMSRV        00000CAC w3dbsmgr.exe    COMP1         E                        WinSock bind() error=10050.
10-06-2008 08:10:31 MKDE            00000CAC w3dbsmgr.exe    COMP1         I                        Error initializing the NetBIOS protocol. Error code: 10050.
10-06-2008 10:02:38 MKDE            00000CAC w3dbsmgr.exe    COMP1         E                        The file LAST_SEG.LOG cannot be opened in the log segment directory C:\PVSW\bin\MKDE\LOG.
10-06-2008 10:02:38 MKDE            00000CAC w3dbsmgr.exe    COMP1         W                        Resources allocated
10-06-2008 16:35:40 MKDE            00000CAC w3dbsmgr.exe    COMP1         E                        The file LAST_SEG.LOG cannot be opened in the log segment directory C:\PVSW\bin\MKDE\LOG.
10-06-2008 17:10:45 MKDE            00000CAC w3dbsmgr.exe    COMP1         E                        The file LAST_SEG.LOG cannot be opened in the log segment directory C:\PVSW\bin\MKDE\LOG.

Open in new window

0
 
LVL 28

Expert Comment

by:Bill Bach
ID: 22799940
The errors about NetBIOS can be ignored.  Although it WOULD be better for this user to configure the workstation to disable the NetBIOS protocol in the Pervasive engine (it is enabled by default) to avoid the errors and keep the log smaller.  While in there, disable SPX, too, as it is also not currently installed on the workstation.

As for the Status 3, this is a tough one, then.  It may be that something is overwriting memory and mangling the position block in the Btrieve interface, or perhaps some other "file-close" operation gets sent but the app still thinks it is open, thus triggering the Status 3.  Debugging this one will take a LOT of detailed effort.

I would start by getting the latest SDK from Pervasive's web site & see if that helps.  Alternatively, patch the engine.  Since you reported the version as v9.6, and since this is ONLY available as an OEM version (like through Sage -- v9.52.xxx is the only publicly-available version), then you'll need to speak with your OEM developer directly to see if any patches are available for the v9.6 engine.
0
Netscaler Common Configuration How To guides

If you use NetScaler you will want to see these guides. The NetScaler How To Guides show administrators how to get NetScaler up and configured by providing instructions for common scenarios and some not so common ones.

 
LVL 1

Author Comment

by:GeekHipster
ID: 22799991
I just found out I got the wrong log file from their server.  They sent me the log file from a server they no longer use.

ugh.

I will be in touch again in a few days, hopfully with a helpful error log.  I appreciate the help, I will get back to you.
0
 
LVL 1

Author Comment

by:GeekHipster
ID: 22863810
Still waiting for the client to get back to me, I guess they're not too concerned about it.
0
 
LVL 1

Author Comment

by:GeekHipster
ID: 22906972
I have finally received the PVSW.LOG file from their main server and there is nothing in it for the date in question.
0

Featured Post

Live: Real-Time Solutions, Start Here

Receive instant 1:1 support from technology experts, using our real-time conversation and whiteboard interface. Your first 5 minutes are always free.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
How to remove numeric and alpha from an alphanumeric field? 5 83
SSRS troubles 4 46
constraint check 2 40
VBA - If Bookmark = "XXBOOKMARKXX" then 15 24
Entering time in Microsoft Access can be difficult. An input mask often bothers users more than helping them and won't catch all typing errors. This article shows how to create a textbox for 24-hour time input with full validation politely catching …
Using SQL Scripts we can save all the SQL queries as files that we use very frequently on our database later point of time. This is one of the feature present under SQL Workshop in Oracle Application Express.
Get people started with the process of using Access VBA to control Outlook using automation, Microsoft Access can control other applications. An example is the ability to programmatically talk to Microsoft Outlook. Using automation, an Access applic…
Get people started with the utilization of class modules. Class modules can be a powerful tool in Microsoft Access. They allow you to create self-contained objects that encapsulate functionality. They can easily hide the complexity of a process from…

808 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question