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 Mike Lewis on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

(Btrieve Error 11)

Status
Not open for further replies.

chinasyndrome

Programmer
May 14, 2008
12


I am setting up a DSN on a workstation, THe local ddf files are hard coded to the path of the ddf files on the server.
The
I am setting up using the Pervassive ODBC Engine Interface.

Everything works fine for a while but occasionally I get

Error Loading Employee List : ERROR [HY000] [Pervasive][ODBC Client Interface][LNA][Pervasive][ODBC Engine Interface]Unable to open table: Employee List.
ERROR [HY000] [Pervasive][ODBC Client Interface][LNA][Pervasive][ODBC Engine Interface][Data Record Manager]The specified filename is invalid(Btrieve Error 11)



Employee List if jsut 1 of the many table we query occasionally
when this happends the pervassive preload icon in the task try disappears but the w3dbsmgr.exe is still running under processes. IF i kill it and then restart the Workgroup engine then everything works (for a while)
servers are just plain WIn 2k and WIn3k servers
 
A few questions:
- Are you able to access the Employee List table most of the time?
- Is there anything in the PVSW.LOG?
- What version of PSQL are you using?
- Does the server have a PSQL engine installed / running?
- Does the XF$LOC field in the X$FILE table show paths or just filenames? You can double click X$FILE in the PErvasive Control Center.
- Just to confirm, the DDFs are on your local machine and the data files are on the server. Is that correctl?


Mirtheil
Certified Pervasive Developer
Certified Pervasive Technician
 
to clarify this is the situation

thanks for the help


software called HR OFfice is using the pervassive software.
We wrote a service to query data out of it.
So since the DDF are hard coded we are having to create an engine interface, tried using client but that did not work, think they still use API's

Are you able to access the Employee List table most of the time? yes

What version of PSQL are you using?
7.9 8.6 and 9.5


Does the server have a PSQL engine installed / running?

installed yes and running most of the time.


- Does the XF$LOC field in the X$FILE table show paths or just filenames? You can double click X$FILE in the PErvasive Control Center.

yes


p:\data\employeelist.dat


Just to confirm, the DDFs are on your local machine and the data files are on the server. Is that correctl?
yes and yes


Is there anything in the PVSW.LOG?





04-15-2008 06:03:12 ECAS_API 000005A0 app2service.exeCONFROOM E ECASAPI (5.12.1.4083): Error 8505 - An initialization error occurred when trying to establish a session with the Workgroup engine
04-15-2008 06:03:13 ECAS_API 000005A0 app2service.exeCONFROOM E ECASAPI (5.1.1.10): Error 8517 - An error occurred when closing the session with the Workgroup engine
04-15-2008 06:03:14 ECAS_API 000005A0 app2service.exeCONFROOM E ECASAPI (5.12.1.4083): Error 8505 - An initialization error occurred when trying to establish a session with the Workgroup engine
04-15-2008 06:03:15 ECAS_API 000005A0 app2service.exeCONFROOM E ECASAPI (5.1.1.10): Error 8517 - An error occurred when closing the session with the Workgroup engine
04-15-2008 06:03:20 W3MKDE 00000980 W3DBSMGR.EXE CONFROOM I Error initializing the SPX protocol. Error code: 6.
04-15-2008 06:03:20 W3COMSRV 00000980 W3DBSMGR.EXE CONFROOM I WinSock socket() error=10022 on one of potentially several NETBIOS protocol stacks.
04-15-2008 06:03:20 W3COMSRV 00000980 W3DBSMGR.EXE CONFROOM I WinSock socket() error=10022 on one of potentially several NETBIOS protocol stacks.
04-15-2008 06:03:22 W3MKDE 00000980 W3DBSMGR.EXE CONFROOM W Resources allocated
04-15-2008 07:22:03 W3MKDE 00000980 W3DBSMGR.EXE CONFROOM I Resources released
04-15-2008 07:22:10 W3MKDE 00000C10 W3DBSMGR.EXE CONFROOM I Error initializing the SPX protocol. Error code: 6.
04-15-2008 07:22:10 W3COMSRV 00000C10 W3DBSMGR.EXE CONFROOM I WinSock socket() error=10022 on one of potentially several NETBIOS protocol stacks.
04-15-2008 07:22:11 W3COMSRV 00000C10 W3DBSMGR.EXE CONFROOM I WinSock socket() error=10022 on one of potentially several NETBIOS protocol stacks.
04-15-2008 07:22:12 W3MKDE 00000C10 W3DBSMGR.EXE CONFROOM W Resources allocated
04-16-2008 06:02:37 ECAS_API 00000560 app2service.exeCONFROOM E ECASAPI (5.12.1.4083): Error 8505 - An initialization error occurred when trying to establish a session with the Workgroup engine
04-16-2008 06:02:38 ECAS_API 00000560 app2service.exeCONFROOM E ECASAPI (5.1.1.10): Error 8517 - An error occurred when closing the session with the Workgroup engine
04-16-2008 06:02:39 ECAS_API 00000560 app2service.exeCONFROOM E ECASAPI (5.12.1.4083): Error 8505 - An initialization error occurred when trying to establish a session with the Workgroup engine
04-16-2008 06:02:40 ECAS_API 00000560 app2service.exeCONFROOM E ECASAPI (5.1.1.10): Error 8517 - An error occurred when closing the session with the Workgroup engine
04-16-2008 06:02:46 W3MKDE 000009C4 W3DBSMGR.EXE CONFROOM I Error initializing the SPX protocol. Error code: 6.
04-16-2008 06:02:46 W3COMSRV 000009C4 W3DBSMGR.EXE CONFROOM I WinSock socket() error=10022 on one of potentially several NETBIOS protocol stacks.
04-16-2008 06:02:46 W3COMSRV 000009C4 W3DBSMGR.EXE CONFROOM I WinSock socket() error=10022 on one of potentially several NETBIOS protocol stacks.
04-16-2008 06:02:47 W3MKDE 000009C4 W3DBSMGR.EXE CONFROOM W Resources allocated
04-17-2008 08:54:12 W3MKDE 000008C4 w3dbsmgr.exe CONFROOM I Error initializing the SPX protocol. Error code: 6.
04-17-2008 08:54:13 W3COMSRV 000008C4 w3dbsmgr.exe CONFROOM I WinSock socket() error=10022 on one of potentially several NETBIOS protocol stacks.
04-17-2008 08:54:13 W3COMSRV 000008C4 w3dbsmgr.exe CONFROOM I WinSock socket() error=10022 on one of potentially several NETBIOS protocol stacks.
04-17-2008 08:56:19 W3MKDE 000008C4 w3dbsmgr.exe CONFROOM W Resources allocated
04-18-2008 06:01:42 W3MKDE 000008C4 w3dbsmgr.exe CONFROOM I Resources released
04-18-2008 07:04:22 W3MKDE 00000984 W3DBSMGR.EXE CONFROOM I Error initializing the SPX protocol. Error code: 6.
04-18-2008 07:04:22 W3COMSRV 00000984 W3DBSMGR.EXE CONFROOM I WinSock socket() error=10022 on one of potentially several NETBIOS protocol stacks.
04-18-2008 07:04:22 W3COMSRV 00000984 W3DBSMGR.EXE CONFROOM I WinSock socket() error=10022 on one of potentially several NETBIOS protocol stacks.
04-18-2008 07:04:23 W3MKDE 00000984 W3DBSMGR.EXE CONFROOM W Resources allocated
04-19-2008 06:02:17 ECAS_API 00000574 app2service.exeCONFROOM E ECASAPI (5.12.1.4083): Error 8505 - An initialization error occurred when trying to establish a session with the Workgroup engine
04-19-2008 06:02:18 ECAS_API 00000574 app2service.exeCONFROOM E ECASAPI (5.1.1.10): Error 8517 - An error occurred when closing the session with the Workgroup engine
04-19-2008 06:02:19 ECAS_API 00000574 app2service.exeCONFROOM E ECASAPI (5.12.1.4083): Error 8505 - An initialization error occurred when trying to establish a session with the Workgroup engine
04-19-2008 06:02:20 ECAS_API 00000574 app2service.exeCONFROOM E ECASAPI (5.1.1.10): Error 8517 - An error occurred when closing the session with the Workgroup engine
04-19-2008 06:02:25 W3MKDE 00000964 W3DBSMGR.EXE CONFROOM I Error initializing the SPX protocol. Error code: 6.
04-19-2008 06:02:25 W3COMSRV 00000964 W3DBSMGR.EXE CONFROOM I WinSock socket() error=10022 on one of potentially several NETBIOS protocol stacks.
04-19-2008 06:02:25 W3COMSRV 00000964 W3DBSMGR.EXE CONFROOM I WinSock socket() error=10022 on one of potentially several NETBIOS protocol stacks.
04-19-2008 06:02:27 W3MKDE 00000964 W3DBSMGR.EXE CONFROOM W Resources allocated
04-20-2008 06:02:17 ECAS_API 00000588 app2service.exeCONFROOM E ECASAPI (5.12.1.4083): Error 8505 - An initialization error occurred when trying to establish a session with the Workgroup engine
04-20-2008 06:02:18 ECAS_API 00000588 app2service.exeCONFROOM E ECASAPI (5.1.1.10): Error 8517 - An error occurred when closing the session with the Workgroup engine
04-20-2008 06:02:19 ECAS_API 00000588 app2service.exeCONFROOM E ECASAPI (5.12.1.4083): Error 8505 - An initialization error occurred when trying to establish a session with the Workgroup engine
04-20-2008 06:02:20 ECAS_API 00000588 app2service.exeCONFROOM E ECASAPI (5.1.1.10): Error 8517 - An error occurred when closing the session with the Workgroup engine
04-20-2008 06:02:25 W3MKDE 000009A4 W3DBSMGR.EXE CONFROOM I Error initializing the SPX protocol. Error code: 6.
04-20-2008 06:02:25 W3COMSRV 000009A4 W3DBSMGR.EXE CONFROOM I WinSock socket() error=10022 on one of potentially several NETBIOS protocol stacks.
04-20-2008 06:02:26 W3COMSRV 000009A4 W3DBSMGR.EXE CONFROOM I WinSock socket() error=10022 on one of potentially several NETBIOS protocol stacks.
04-20-2008 06:02:27 W3MKDE 000009A4 W3DBSMGR.EXE CONFROOM W Resources allocated
04-21-2008 06:02:30 W3MKDE 000008D4 W3DBSMGR.EXE CONFROOM I Error initializing the SPX protocol. Error code: 6.
04-21-2008 06:02:30 W3COMSRV 000008D4 W3DBSMGR.EXE CONFROOM I WinSock socket() error=10022 on one of potentially several NETBIOS protocol stacks.
04-21-2008 06:02:30 W3COMSRV 000008D4 W3DBSMGR.EXE CONFROOM I WinSock socket() error=10022 on one of potentially several NETBIOS protocol stacks.
04-21-2008 06:02:32 W3MKDE 000008D4 W3DBSMGR.EXE CONFROOM W Resources allocated
04-22-2008 06:02:35 ECAS_API 00000574 app2service.exeCONFROOM E ECASAPI (5.12.1.4083): Error 8505 - An initialization error occurred when trying to establish a session with the Workgroup engine
04-22-2008 06:02:36 ECAS_API 00000574 app2service.exeCONFROOM E ECASAPI (5.1.1.10): Error 8517 - An error occurred when closing the session with the Workgroup engine
04-22-2008 06:02:37 ECAS_API 00000574 app2service.exeCONFROOM E ECASAPI (5.12.1.4083): Error 8505 - An initialization error occurred when trying to establish a session with the Workgroup engine
04-22-2008 06:02:38 ECAS_API 00000574 app2service.exeCONFROOM E ECASAPI (5.1.1.10): Error 8517 - An error occurred when closing the session with the Workgroup engine
04-22-2008 06:02:44 W3MKDE 00000994 W3DBSMGR.EXE CONFROOM I Error initializing the SPX protocol. Error code: 6.
04-22-2008 06:02:44 W3COMSRV 00000994 W3DBSMGR.EXE CONFROOM I WinSock socket() error=10022 on one of potentially several NETBIOS protocol stacks.
04-22-2008 06:02:44 W3COMSRV 00000994 W3DBSMGR.EXE CONFROOM I WinSock socket() error=10022 on one of potentially several NETBIOS protocol stacks.
04-22-2008 06:02:45 W3MKDE 00000994 W3DBSMGR.EXE CONFROOM W Resources allocated
04-22-2008 15:02:46 W3MKDE 00000994 W3DBSMGR.EXE CONFROOM I Resources released
04-22-2008 15:03:01 ECAS_API 00000574 app2service.exeCONFROOM E ECASAPI (5.12.1.4083): Error 8505 - An initialization error occurred when trying to establish a session with the Workgroup engine
04-22-2008 15:03:02 ECAS_API 00000574 app2service.exeCONFROOM E ECASAPI (5.1.1.10): Error 8517 - An error occurred when closing the session with the Workgroup engine
04-22-2008 15:03:03 ECAS_API 00000574 app2service.exeCONFROOM E ECASAPI (5.12.1.4083): Error 8505 - An initialization error occurred when trying to establish a session with the Workgroup engine
04-22-2008 15:03:04 ECAS_API 00000574 app2service.exeCONFROOM E ECASAPI (5.1.1.10): Error 8517 - An error occurred when closing the session with the Workgroup engine
04-22-2008 15:03:10 W3MKDE 000000D8 W3DBSMGR.EXE CONFROOM I Error initializing the SPX protocol. Error code: 6.
04-22-2008 15:03:10 W3COMSRV 000000D8 W3DBSMGR.EXE CONFROOM I WinSock socket() error=10022 on one of potentially several NETBIOS protocol stacks.
04-22-2008 15:03:10 W3COMSRV 000000D8 W3DBSMGR.EXE CONFROOM I WinSock socket() error=10022 on one of potentially several NETBIOS protocol stacks.
04-22-2008 15:03:11 W3MKDE 000000D8 W3DBSMGR.EXE CONFROOM W Resources allocated






















 
Have you contacted the vendor of the application? Can they provide a set of DDFs without the paths? ODBC/Relational access works a lot better when the DDFs are in the same directory as the data files.
If all of the entries in XF$LOC (except the X$FILE, X$FIELD, etc entries) have "P:\DATA", you might be able to use my DDF Path Fixer ( to remove the hardcoded path. Once the path is removed, you can move the DDFs to the server, create an Engine DSN on the server and a client DSN on the workstation and work that way.

Mirtheil
Certified Pervasive Developer
Certified Pervasive Technician
 
yes this was the method they recommended
we used to break the .dat files appart and put the info in an access db
just cant figure out why the engine is dying like this
 
the ddf files on their server are coded to
c:\applicationname\datafiles\data\employeelist.dat

this is why they suggested we use the local ddf files
 
It is strange that the engine is dying.
What version of PSQL are you using?
7.9 8.6 and 9.5
I'm confused. Is the behavior the same for all three versions of the engine or do you have a different version of the engine running on the server than on the workstation?

Mirtheil
Certified Pervasive Developer
Certified Pervasive Technician
 
the ddf files on their server are coded to
c:\applicationname\datafiles\data\employeelist.dat

this is why they suggested we use the local ddf files

And that is exactly why paths should not be hard coded in DDFs.

Then again, have you tried creating an Engine DSN on the server pointing to the server DDFs (that have c:\applicationname...). You would then create a Client DSN on the workstation. The Client DSN talks to the Engine DSN and the Engine DSN talks to the engine which opens the files. Because the server's engine is opening the files, it shouldn't matter what the path is.

Mirtheil
Certified Pervasive Developer
Certified Pervasive Technician
 
we are actually trying this new method on 5 clients
3 are 7.9
1 is 8.6
1 is 9.5


 
the servers all had the same version as the workstations in 3 of the 5 cases
i know in 2 cases the server is 7.8 while workstation is 7.9

we have been trying to convince the clients to upgrade their psql version on the server
 
You should use the same version on the client as on the server. 7.8 and 7.9 should be okay but I would still recommend keeping them the same.
At this point, I would suggest eliminating the paths on the DDFs and putting them in the data directory on the server. I would suggest doing this on a backup set of DDFs.



Mirtheil
Certified Pervasive Developer
Certified Pervasive Technician
 
problem is that per our arrangement
we are not allowed on their clients server at all
plus
in the data directory on the server are ddf files with the paths hard coded, so we definately cannot alter the ddf's there or on the workstation. i was able to get a client interface dsn setup for the client on 8.6 and it is working.
then my boss informed me that we were asked not to setup a client dsn,he said the vendor was worried about us bogging down their software and corrupting data, "??????"

so we are back to their recommedation
use the local ddf files (workstation) and use the engine interface dsn


 
As far as bogging down the system, it is possible an unoptimized query could slow the system down. I could also see where data is "corrupted" by putting invalid values into data. For example, if an UPDATE statement is run without the proper restrictions and extra records get updated.
The PSQL engines aren't really designed to use an Engine DSN pointing to remote data when there's a server engine on the remote server.

I would suggest creating the client DSN pointing at the existing DDFs but as you've said, it's not possible.

One more thing, you mentioned that you had written a service to query the data. Are you talking about a WIndows Service? If so, you might try running the local Workgroup Engine as a Service. You will have to change the login credentials of the WGE as a Service to make sure that the service user has rights to the remote files.

Mirtheil
Certified Pervasive Developer
Certified Pervasive Technician
 
we are just using select queries and I have set the DSN up as read only as well. I will try to setare the workgroup engine as a service makes sense. I found out how to easily set it up with 8.6 and above. Got any ideas or resources on how to set 7.9 up as a service?
 
yes i found a document for using the pvsw.exe
pervassive support tool box.

I will give it a try and hopefully it will work.

thanks for all your time Mirtheil
you rock, ill let you know if a few if it works
 
mirtheil,
running as a service works great (in our test environment), you are the man, the error still occurs but setting the service to restart prevents any down time.

got 1 last question for you if you don't mind.

the people running 7.9 are on SP3 which does not support running as a service too well. i did some reading and seem like i need to get the workstation upgraded to 7.9 SP4.

I cannot find a download for 2000i/7.9 SP4 anywhere, you know of any?


if not not biggie, you have been great.
 
There might be a reseller or two that has it for download. I haven't had it on my system in a while but I'll check my backups.


Mirtheil
Certified Pervasive Developer
Certified Pervasive Technician
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top