Page 1 of 2 12 LastLast
Results 1 to 15 of 25
  1. #1
    Join Date
    Sep 2004
    Posts
    18

    Unanswered: 8020 Err using Btrieve Sample

    On a W98SE system with DacEasy and PeachTree installed. Pervasive.SQL 2000i SP3 is running (it is in Systray) I am trying to run the sample BtrSam32 and getting the 8020 err when I try to do any BTRCALLs. I understand that 8020 is a component missing but I do not understand what is missing.

    I thought that since Pervasive.SQL is running that I would not have to do anything else.

    Please advise.

    jchar@qbTeK.com

  2. #2
    Join Date
    Dec 2001
    Posts
    1,109
    Provided Answers: 4
    First off, make sure that the PVSW\BIN directory is in the system path. Also, make sure that there isn't a WBTRV32.DLL (or W3BTRV7.DLL) in the WINDOWS or WINDOWS\SYSTEM directory.
    Copy the BtrSam32 EXE to the PVSW\BIN and run it again. If it works, it's a path issue. If it still doesn't work, post the contents of the PVSW.LOG.
    Mirtheil Software
    Certified Pervasive Developer
    Certified Pervasive Technician
    Custom Btrieve/VB development
    http://www.mirtheil.com
    I do not answer questions by email. Please post on the forum.

  3. #3
    Join Date
    Sep 2004
    Posts
    18
    There is no pvsw\bin folder yet DacEasy and PeachTree run fine!!

  4. #4
    Join Date
    Dec 2001
    Posts
    1,109
    Provided Answers: 4
    IN that case, where is WBTRV32.DLL and W3BTRV7.DLL and what is the version of each of those files?
    Mirtheil Software
    Certified Pervasive Developer
    Certified Pervasive Technician
    Custom Btrieve/VB development
    http://www.mirtheil.com
    I do not answer questions by email. Please post on the forum.

  5. #5
    Join Date
    Sep 2004
    Posts
    18
    WBTRV32.DLL is in Windows/system and SEVERAL of the Peachtree folders (dated 2/8/00) and one in an old DacEasy folder witha 3/26/99 date.

    W3BTRV7.DLL is in DacEasy12aa\pvsw

  6. #6
    Join Date
    Dec 2001
    Posts
    1,109
    Provided Answers: 4
    Dates aren't reliable. What version do each of the files have?
    Mirtheil Software
    Certified Pervasive Developer
    Certified Pervasive Technician
    Custom Btrieve/VB development
    http://www.mirtheil.com
    I do not answer questions by email. Please post on the forum.

  7. #7
    Join Date
    Sep 2004
    Posts
    18
    all W3btrv7.dll's are 7.90.230.011
    all wbtrv32.dll's are 6.15.440

  8. #8
    Join Date
    Dec 2001
    Posts
    1,109
    Provided Answers: 4
    Okay, you've got two different versions of Btrieve/Pervasive on your system. What DLL is the sample you've compiled linked to? Copy the same to a directory with that file and run it again. Does it work now? If not, post the contents of PVSW.LOG.
    Mirtheil Software
    Certified Pervasive Developer
    Certified Pervasive Technician
    Custom Btrieve/VB development
    http://www.mirtheil.com
    I do not answer questions by email. Please post on the forum.

  9. #9
    Join Date
    Sep 2004
    Posts
    18
    There is only 1 pvsw.log in the windows folder and it does NOT look like anything is being added to it. There are only 2 entries for todays date which does NOT change even after I redo the sample a couple of times. I even stop the Pervasive Engine and it does not change. The DLL function and todays entry are below:


    Declare Function BTRCALL Lib "c:\DacEasy12aa\pvsw\w3btrv7.dll" (ByVal OP, ByVal Pb$, Db As Any, DL As Integer, Kb As Any, ByVal Kl, ByVal Kn) As Integer

    10-25-2004 07:44:58 W3COMSRV FFF2D33D w\W3DBSMGR.EXE" NEWPROD E WinSock socket() error=10047.
    10-25-2004 07:44:58 W3MKDE FFF2D33D w\W3DBSMGR.EXE" NEWPROD I Error initializing the SPX protocol. Error code: 11.

  10. #10
    Join Date
    Dec 2001
    Posts
    1,109
    Provided Answers: 4
    The first thing I would suggest, based on your situation, would be to change the declare to:
    Declare Function BTRCALL Lib "w3btrv7.dll" (ByVal OP, ByVal Pb$, Db As Any, DL As Long, Kb As Any, ByVal Kl, ByVal Kn) As Integer

    You'll need to change the Data Buffer Length parameter to a Long in any variable declarations as well.

    This way, you're using the first version of the W3BTRV7.DLL that Windows finds.
    As far as the SPX error, you can turn off SPX in the Supported Protocols section of the Configuration.
    Last edited by mirtheil; 10-28-04 at 15:50.
    Mirtheil Software
    Certified Pervasive Developer
    Certified Pervasive Technician
    Custom Btrieve/VB development
    http://www.mirtheil.com
    I do not answer questions by email. Please post on the forum.

  11. #11
    Join Date
    Sep 2004
    Posts
    18
    Changed to long, but same results. I have to believe it is something very very basic and since I know nothing about Pervasive and Btrieve I just can not guess what it is.

    On the SPX I don't know what or where configuration is. Again this is DacEasy and PeachTree's Pervasive engine - nothing that I installed.

  12. #12
    Join Date
    Dec 2001
    Posts
    1,109
    Provided Answers: 4
    Did you change the path to the DLL? Did you try and run the sample from the same directory as the DLL (c:\DacEasy12aa\pvsw)?
    For SPX, check the "Supported protocols" key in "HKEY_LOCAL_MACHINE\SOFTWARE\Pervasive Software\Communications Requester\Version 8\Settings". It may not be "version 8" but may be "version 7".
    Mirtheil Software
    Certified Pervasive Developer
    Certified Pervasive Technician
    Custom Btrieve/VB development
    http://www.mirtheil.com
    I do not answer questions by email. Please post on the forum.

  13. #13
    Join Date
    Sep 2004
    Posts
    18
    Putting the exe in that folder worked. It worked with the buffer as an int or long.

    Now I am trying to open the DacEasy database which are in a sub-folder of pvsw. There seems to be multiple files with an extension of DB which I assume are the databases but if I try to do an open I get a Status = 8. The BTRCALL is using the full pathname ie C:\DacEasy12aa\pvsw\SampData\filename.db.

    Where are the status codes documented?
    What else am I missing?

    The registry has V7 settings and I took out SPX leaving TCPIP,NETBIOS

  14. #14
    Join Date
    Dec 2001
    Posts
    1,109
    Provided Answers: 4
    A Status 8 is a "Lost positioning" error. The status codes are documented on the Pervasive Status Codes and Messages manual. If you don't have one, take a look at http://www.pervasive.com/library.
    One thing to be very aware of, each file with the DB extension is not a "database" but is a data file. Each file may have a different record layout that will need to be accounted for within the program reading it.
    Can you post your code here. Maybe something will jump out.
    Mirtheil Software
    Certified Pervasive Developer
    Certified Pervasive Technician
    Custom Btrieve/VB development
    http://www.mirtheil.com
    I do not answer questions by email. Please post on the forum.

  15. #15
    Join Date
    Sep 2004
    Posts
    18
    Public Sub OpenDacEasy(pDB)
    'Open File
    KeyBufLen = KEY_BUF_LEN
    KeyBuffer$ = pDB '"c:\DacEasy12aa\AC\ " 'FileName$
    BufLen = Len(DataBuf)
    KeyNum = 0

    Status = BTRCALL(BOPEN, PosBlk$, DataBuf, BufLen, ByVal KeyBuffer$, KeyBufLen, KeyNum)

    **** STAUS is not = 8.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •