Home All Groups Group Topic Archive Search About

Database connection problem on VB6.0

Author
24 Feb 2007 11:20 PM
Engada
I have an application written in VB6.0 which has previously been
interfacing with MS SQL server 2000, which I have moved to Postgres 8.2.3.

When attempting to create an ODBC workspace, the application now errors
on the following line of code:

Set autodrs_work = CreateWorkspace("autodrs", g_strUserName, g_strPWD,
dbUseODBC)

Where g_str* variables are globals holding the username and password for
connecting to the db.

The following is the resulting error:
3633 Cannot load DLL:  '?????L?'

In all documentation I can find, error 3633 is an error loading MS Jet
files, which I don't understand since I am using ODBC which should be
bypassing the Jet engine (at least according to the VB documentation it
does) and secondly neither this line of code nor any around it has
changed since I moved the db from sql server to Postgres. As a side
note, MS Jet 4.0 is installed on the machine, and both msjet35.dll and
msjet40.dll are registered on the server.

Can anyone offer some pointers on what the problem might be?

Thanks in advance,
Paul.

--
Paul Lambert
Database Administrator
AutoLedgers

--
Posted via a free Usenet account from http://www.teranews.com

Author
25 Feb 2007 4:42 AM
Jim Carlock
"Engada" pondered...
Show quoteHide quote
: I have an application written in VB6.0 which has previously
: been interfacing with MS SQL server 2000, which I have
: moved to Postgres 8.2.3.
:
: When attempting to create an ODBC workspace, the app now
: errors on the following line of code:
:
: Set autodrs_work = CreateWorkspace("autodrs", _
:   g_strUserName, _
:   g_strPWD, _
:   dbUseODBC)
:
: Where g_str* variables are globals holding the username and
: password for connecting to the db.
:
: The following is the resulting error:
: 3633 Cannot load DLL:  '?????L?'

You'll need to post more information about which References
and/or Components were checked off. And then IF you're
accessing through ADO and DAO (both found in Project,
References dialog), it'll help if you post how you're declaring
the variables, because both ADODB and DAO have objects
named Database and Recordset.

In the Project, References dialog, you'll likely see something
at the top of the list like...

Microsoft DAO 3.6 Object Library, or
Microsoft ActiveX Data Objects 2.8 Library

Post back with that information, to allow for someone here
to try to duplicate the problem.

--
Jim Carlock
Post replies to the group.
Author
25 Feb 2007 5:25 AM
Engada
Jim Carlock wrote:
Show quoteHide quote
> "Engada" pondered...
> : I have an application written in VB6.0 which has previously
> : been interfacing with MS SQL server 2000, which I have
> : moved to Postgres 8.2.3.
> :
> : When attempting to create an ODBC workspace, the app now
> : errors on the following line of code:
> :
> : Set autodrs_work = CreateWorkspace("autodrs", _
> :   g_strUserName, _
> :   g_strPWD, _
> :   dbUseODBC)
> :
> : Where g_str* variables are globals holding the username and
> : password for connecting to the db.
> :
> : The following is the resulting error:
> : 3633 Cannot load DLL:  '?????L?'
>
> You'll need to post more information about which References
> and/or Components were checked off. And then IF you're
> accessing through ADO and DAO (both found in Project,
> References dialog), it'll help if you post how you're declaring
> the variables, because both ADODB and DAO have objects
> named Database and Recordset.
>
> In the Project, References dialog, you'll likely see something
> at the top of the list like...
>
> Microsoft DAO 3.6 Object Library, or
> Microsoft ActiveX Data Objects 2.8 Library
>
> Post back with that information, to allow for someone here
> to try to duplicate the problem.
>


I'm using Microsot DAO 3.6 Object Library.

Variable declaration:

Private autodrs_work As Workspace
Private autodrs_db As Database

The two g_str variables are declared as strings and initialised with
values loaded from the system registry.

Other things ticked off in the references section:
Visual Basic For Applications
Visual Basic runtime objects and procedures
Visual Basic objects and procedures
OLE Automation

Hope that's everything.

Thanks,
Paul.

--
Posted via a free Usenet account from http://www.teranews.com
Author
26 Feb 2007 5:52 AM
Paul Lambert
Engada wrote:
Show quoteHide quote
> Jim Carlock wrote:
>> "Engada" pondered...
>> : I have an application written in VB6.0 which has previously
>> : been interfacing with MS SQL server 2000, which I have
>> : moved to Postgres 8.2.3.
>> :
>> : When attempting to create an ODBC workspace, the app now
>> : errors on the following line of code:
>> :
>> : Set autodrs_work = CreateWorkspace("autodrs", _
>> :   g_strUserName, _
>> :   g_strPWD, _
>> :   dbUseODBC)
>> :
>> : Where g_str* variables are globals holding the username and
>> : password for connecting to the db.
>> :
>> : The following is the resulting error:
>> : 3633 Cannot load DLL:  '?????L?'
>>
>> You'll need to post more information about which References
>> and/or Components were checked off. And then IF you're
>> accessing through ADO and DAO (both found in Project,
>> References dialog), it'll help if you post how you're declaring
>> the variables, because both ADODB and DAO have objects
>> named Database and Recordset.
>>
>> In the Project, References dialog, you'll likely see something
>> at the top of the list like...
>>
>> Microsoft DAO 3.6 Object Library, or
>> Microsoft ActiveX Data Objects 2.8 Library
>>
>> Post back with that information, to allow for someone here
>> to try to duplicate the problem.
>>
>
>
> I'm using Microsot DAO 3.6 Object Library.
>
> Variable declaration:
>
> Private autodrs_work As Workspace
> Private autodrs_db As Database
>
> The two g_str variables are declared as strings and initialised with
> values loaded from the system registry.
>
> Other things ticked off in the references section:
> Visual Basic For Applications
> Visual Basic runtime objects and procedures
> Visual Basic objects and procedures
> OLE Automation
>
> Hope that's everything.
>
> Thanks,
> Paul.
>

As a side note, I've tried putting the following line before I set up
any of the database stuff and now I get the same error as above but on
this line instead.

DBEngine.DefaultType = dbUseODBC

I've also installed the latest service packs for MS Jet 3.51 (SP 3) and
MS Jet 4.0 (SP 8)

The code that gives me the particular error details is as follows:

       Dim MyError As Error
       For Each MyError In DBEngine.Errors
         With MyError
           Call log_message("--Initialise error, " + Str(.Number) + " :
" + .Description)
         End With
       Next MyError


And the resultant message in the logfile:

"26/02/2007 2:49:21 PM --Initialise error,  3633 : Cannot load DLL:
'?????L?'"

(Function log_message merely outputs the date and time to the logfile
before the passed in string)

Any assistance anybody can offer would be greatly appreciated.

Regards,
Paul.

--
Paul Lambert
Database Administrator
AutoLedgers

--
Posted via a free Usenet account from http://www.teranews.com
Author
1 Mar 2007 11:27 AM
Henning
Show quote Hide quote
"Paul Lambert" <paul.lamb***@autoledgers.com.au> skrev i meddelandet
news:45e2698d$0$16271$88260bb3@free.teranews.com...
> Engada wrote:
> > Jim Carlock wrote:
> >> "Engada" pondered...
> >> : I have an application written in VB6.0 which has previously
> >> : been interfacing with MS SQL server 2000, which I have
> >> : moved to Postgres 8.2.3.
> >> :
> >> : When attempting to create an ODBC workspace, the app now
> >> : errors on the following line of code:
> >> :
> >> : Set autodrs_work = CreateWorkspace("autodrs", _
> >> :   g_strUserName, _
> >> :   g_strPWD, _
> >> :   dbUseODBC)
> >> :
> >> : Where g_str* variables are globals holding the username and
> >> : password for connecting to the db.
> >> :
> >> : The following is the resulting error:
> >> : 3633 Cannot load DLL:  '?????L?'
> >>
> >> You'll need to post more information about which References
> >> and/or Components were checked off. And then IF you're
> >> accessing through ADO and DAO (both found in Project,
> >> References dialog), it'll help if you post how you're declaring
> >> the variables, because both ADODB and DAO have objects
> >> named Database and Recordset.
> >>
> >> In the Project, References dialog, you'll likely see something
> >> at the top of the list like...
> >>
> >> Microsoft DAO 3.6 Object Library, or
> >> Microsoft ActiveX Data Objects 2.8 Library
> >>
> >> Post back with that information, to allow for someone here
> >> to try to duplicate the problem.
> >>
> >
> >
> > I'm using Microsot DAO 3.6 Object Library.
> >
> > Variable declaration:
> >
> > Private autodrs_work As Workspace
> > Private autodrs_db As Database
> >
> > The two g_str variables are declared as strings and initialised with
> > values loaded from the system registry.
> >
> > Other things ticked off in the references section:
> > Visual Basic For Applications
> > Visual Basic runtime objects and procedures
> > Visual Basic objects and procedures
> > OLE Automation
> >
> > Hope that's everything.
> >
> > Thanks,
> > Paul.
> >
>
> As a side note, I've tried putting the following line before I set up
> any of the database stuff and now I get the same error as above but on
> this line instead.
>
> DBEngine.DefaultType = dbUseODBC
>
> I've also installed the latest service packs for MS Jet 3.51 (SP 3) and
> MS Jet 4.0 (SP 8)
>
> The code that gives me the particular error details is as follows:
>
>        Dim MyError As Error
>        For Each MyError In DBEngine.Errors
>          With MyError
>            Call log_message("--Initialise error, " + Str(.Number) + " :
> " + .Description)
>          End With
>        Next MyError
>
>
> And the resultant message in the logfile:
>
> "26/02/2007 2:49:21 PM --Initialise error,  3633 : Cannot load DLL:
> '?????L?'"
>
> (Function log_message merely outputs the date and time to the logfile
> before the passed in string)
>
> Any assistance anybody can offer would be greatly appreciated.
>
> Regards,
> Paul.
>
> --
> Paul Lambert
> Database Administrator
> AutoLedgers
>
> --
> Posted via a free Usenet account from http://www.teranews.com
>
Cannot load DLL:  '?????L?' is usually MSRDO20.DLL. It installs with office.

/Henning
Author
2 Mar 2007 12:47 AM
Paul Lambert
Henning wrote:
Show quoteHide quote
> "Paul Lambert" <paul.lamb***@autoledgers.com.au> skrev i meddelandet
> news:45e2698d$0$16271$88260bb3@free.teranews.com...
>> Engada wrote:
>>> Jim Carlock wrote:
>>>> "Engada" pondered...
>>>> : I have an application written in VB6.0 which has previously
>>>> : been interfacing with MS SQL server 2000, which I have
>>>> : moved to Postgres 8.2.3.
>>>> :
>>>> : When attempting to create an ODBC workspace, the app now
>>>> : errors on the following line of code:
>>>> :
>>>> : Set autodrs_work = CreateWorkspace("autodrs", _
>>>> :   g_strUserName, _
>>>> :   g_strPWD, _
>>>> :   dbUseODBC)
>>>> :
>>>> : Where g_str* variables are globals holding the username and
>>>> : password for connecting to the db.
>>>> :
>>>> : The following is the resulting error:
>>>> : 3633 Cannot load DLL:  '?????L?'
>>>>
>>>> You'll need to post more information about which References
>>>> and/or Components were checked off. And then IF you're
>>>> accessing through ADO and DAO (both found in Project,
>>>> References dialog), it'll help if you post how you're declaring
>>>> the variables, because both ADODB and DAO have objects
>>>> named Database and Recordset.
>>>>
>>>> In the Project, References dialog, you'll likely see something
>>>> at the top of the list like...
>>>>
>>>> Microsoft DAO 3.6 Object Library, or
>>>> Microsoft ActiveX Data Objects 2.8 Library
>>>>
>>>> Post back with that information, to allow for someone here
>>>> to try to duplicate the problem.
>>>>
>>>
>>> I'm using Microsot DAO 3.6 Object Library.
>>>
>>> Variable declaration:
>>>
>>> Private autodrs_work As Workspace
>>> Private autodrs_db As Database
>>>
>>> The two g_str variables are declared as strings and initialised with
>>> values loaded from the system registry.
>>>
>>> Other things ticked off in the references section:
>>> Visual Basic For Applications
>>> Visual Basic runtime objects and procedures
>>> Visual Basic objects and procedures
>>> OLE Automation
>>>
>>> Hope that's everything.
>>>
>>> Thanks,
>>> Paul.
>>>
>> As a side note, I've tried putting the following line before I set up
>> any of the database stuff and now I get the same error as above but on
>> this line instead.
>>
>> DBEngine.DefaultType = dbUseODBC
>>
>> I've also installed the latest service packs for MS Jet 3.51 (SP 3) and
>> MS Jet 4.0 (SP 8)
>>
>> The code that gives me the particular error details is as follows:
>>
>>        Dim MyError As Error
>>        For Each MyError In DBEngine.Errors
>>          With MyError
>>            Call log_message("--Initialise error, " + Str(.Number) + " :
>> " + .Description)
>>          End With
>>        Next MyError
>>
>>
>> And the resultant message in the logfile:
>>
>> "26/02/2007 2:49:21 PM --Initialise error,  3633 : Cannot load DLL:
>> '?????L?'"
>>
>> (Function log_message merely outputs the date and time to the logfile
>> before the passed in string)
>>
>> Any assistance anybody can offer would be greatly appreciated.
>>
>> Regards,
>> Paul.
>>
>> --
>> Paul Lambert
>> Database Administrator
>> AutoLedgers
>>
>> --
>> Posted via a free Usenet account from http://www.teranews.com
>>
> Cannot load DLL:  '?????L?' is usually MSRDO20.DLL. It installs with office.
>
> /Henning
>
>

This DLL is already in the System32 directory and registered.

I've installed Office2003 anyway to see if that makes a difference.

To my surprise... I'm now getting past this error.

Many thanks for your assistance!

:D

Regards,
Paul.

--
Paul Lambert
Database Administrator
AutoLedgers

--
Posted via a free Usenet account from http://www.teranews.com
Author
2 Mar 2007 1:16 AM
Henning
Show quote Hide quote
"Paul Lambert" <paul.lamb***@autoledgers.com.au> skrev i meddelandet
news:45E77410.8050500@autoledgers.com.au...
> Henning wrote:
> > "Paul Lambert" <paul.lamb***@autoledgers.com.au> skrev i meddelandet
> > news:45e2698d$0$16271$88260bb3@free.teranews.com...
> >> Engada wrote:
> >>> Jim Carlock wrote:
> >>>> "Engada" pondered...
> >>>> : I have an application written in VB6.0 which has previously
> >>>> : been interfacing with MS SQL server 2000, which I have
> >>>> : moved to Postgres 8.2.3.
> >>>> :
> >>>> : When attempting to create an ODBC workspace, the app now
> >>>> : errors on the following line of code:
> >>>> :
> >>>> : Set autodrs_work = CreateWorkspace("autodrs", _
> >>>> :   g_strUserName, _
> >>>> :   g_strPWD, _
> >>>> :   dbUseODBC)
> >>>> :
> >>>> : Where g_str* variables are globals holding the username and
> >>>> : password for connecting to the db.
> >>>> :
> >>>> : The following is the resulting error:
> >>>> : 3633 Cannot load DLL:  '?????L?'
> >>>>
> >>>> You'll need to post more information about which References
> >>>> and/or Components were checked off. And then IF you're
> >>>> accessing through ADO and DAO (both found in Project,
> >>>> References dialog), it'll help if you post how you're declaring
> >>>> the variables, because both ADODB and DAO have objects
> >>>> named Database and Recordset.
> >>>>
> >>>> In the Project, References dialog, you'll likely see something
> >>>> at the top of the list like...
> >>>>
> >>>> Microsoft DAO 3.6 Object Library, or
> >>>> Microsoft ActiveX Data Objects 2.8 Library
> >>>>
> >>>> Post back with that information, to allow for someone here
> >>>> to try to duplicate the problem.
> >>>>
> >>>
> >>> I'm using Microsot DAO 3.6 Object Library.
> >>>
> >>> Variable declaration:
> >>>
> >>> Private autodrs_work As Workspace
> >>> Private autodrs_db As Database
> >>>
> >>> The two g_str variables are declared as strings and initialised with
> >>> values loaded from the system registry.
> >>>
> >>> Other things ticked off in the references section:
> >>> Visual Basic For Applications
> >>> Visual Basic runtime objects and procedures
> >>> Visual Basic objects and procedures
> >>> OLE Automation
> >>>
> >>> Hope that's everything.
> >>>
> >>> Thanks,
> >>> Paul.
> >>>
> >> As a side note, I've tried putting the following line before I set up
> >> any of the database stuff and now I get the same error as above but on
> >> this line instead.
> >>
> >> DBEngine.DefaultType = dbUseODBC
> >>
> >> I've also installed the latest service packs for MS Jet 3.51 (SP 3) and
> >> MS Jet 4.0 (SP 8)
> >>
> >> The code that gives me the particular error details is as follows:
> >>
> >>        Dim MyError As Error
> >>        For Each MyError In DBEngine.Errors
> >>          With MyError
> >>            Call log_message("--Initialise error, " + Str(.Number) + " :
> >> " + .Description)
> >>          End With
> >>        Next MyError
> >>
> >>
> >> And the resultant message in the logfile:
> >>
> >> "26/02/2007 2:49:21 PM --Initialise error,  3633 : Cannot load DLL:
> >> '?????L?'"
> >>
> >> (Function log_message merely outputs the date and time to the logfile
> >> before the passed in string)
> >>
> >> Any assistance anybody can offer would be greatly appreciated.
> >>
> >> Regards,
> >> Paul.
> >>
> >> --
> >> Paul Lambert
> >> Database Administrator
> >> AutoLedgers
> >>
> >> --
> >> Posted via a free Usenet account from http://www.teranews.com
> >>
> > Cannot load DLL:  '?????L?' is usually MSRDO20.DLL. It installs with
office.
> >
> > /Henning
> >
> >
>
> This DLL is already in the System32 directory and registered.
>
> I've installed Office2003 anyway to see if that makes a difference.
>
> To my surprise... I'm now getting past this error.
>
> Many thanks for your assistance!
>
> :D
>
> Regards,
> Paul.
>
> --
> Paul Lambert
> Database Administrator
> AutoLedgers
>
> --
> Posted via a free Usenet account from http://www.teranews.com
>
It is the CreateWorkspace that has an undocumented depend. on at least
msrdo20.dll. Not even PDW is aware of it....

For some reason I know this the hard way ;)

/Henning
Author
1 Mar 2007 5:39 PM
Jim Carlock
"Paul Lambert" <paul.lamb***@autoledgers.com.au> posted...
: The code that gives me the particular error details is as follows:

Try...

  Dim MyError As DAO.Error
  For Each MyError In DAO.Errors
    With MyError
      Call log_message("--Initialise error, " & CStr(.Number) & " : " & .Description)
    End With
  Next MyError

Not sure if that'll help, but sometimes there's problems with the
+ operator in string concatenations.

And all that code does is display the various error messages
within the DAO.Errors. You should fully identify which
Error to Dim. Thus the "Dim MyError As DAO.Error".

Let us know if that helps.

--
Jim Carlock
Post replies to the group.
Author
26 Feb 2007 2:10 PM
Jim Carlock
Jim Carlock wrote:
Show quoteHide quote
> "Engada" pondered...
> : I have an application written in VB6.0 which has previously
> : been interfacing with MS SQL server 2000, which I have
> : moved to Postgres 8.2.3.
> :
> : When attempting to create an ODBC workspace, the app now
> : errors on the following line of code:
> :
> : Set autodrs_work = CreateWorkspace("autodrs", _
> :   g_strUserName, _
> :   g_strPWD, _
> :   dbUseODBC)
> :
> : Where g_str* variables are globals holding the username and
> : password for connecting to the db.
> :
> : The following is the resulting error:
> : 3633 Cannot load DLL:  '?????L?'

"Engada" posted...
: I'm using Microsot DAO 3.6 Object Library.
:
: Variable declaration:

Try changing those to:

Private autodrs_work As DAO.Workspace
Private autodrs_db As DAO.Database

I don't have a copy of Postgres installed. Are you limited to
Postgres?

One option might be to try getting an Access .mdb to link to
the Postgres through your ODBC connection. The ODBC
connection should be visible through the Link wizard. Just
right click inside the white window area in an Access file
and then click on Link tables...

If Access can create a link, then we know your ODBC is
configured properly and ready to go. This should provide
a little help here.

--
Jim Carlock
Post replies to the group.
Author
26 Feb 2007 5:33 PM
Stefan Berglund
On Mon, 26 Feb 2007 09:10:44 -0500, "Jim Carlock" <anonymous@localhost>
wrote:
in <O5jQq$aWHHA.3***@TK2MSFTNGP04.phx.gbl>

>I don't have a copy of Postgres installed. Are you limited to
>Postgres?

PostgreSQL ~will~ run on Vista and micro effing soft SQL Server 2000
~will not~ run on Vista which may be a major part of his decision.
Author
26 Feb 2007 7:38 PM
Engada
Jim Carlock wrote:
Show quoteHide quote
> Jim Carlock wrote:
>> "Engada" pondered...
>> : I have an application written in VB6.0 which has previously
>> : been interfacing with MS SQL server 2000, which I have
>> : moved to Postgres 8.2.3.
>> :
>> : When attempting to create an ODBC workspace, the app now
>> : errors on the following line of code:
>> :
>> : Set autodrs_work = CreateWorkspace("autodrs", _
>> :   g_strUserName, _
>> :   g_strPWD, _
>> :   dbUseODBC)
>> :
>> : Where g_str* variables are globals holding the username and
>> : password for connecting to the db.
>> :
>> : The following is the resulting error:
>> : 3633 Cannot load DLL:  '?????L?'
>
> "Engada" posted...
> : I'm using Microsot DAO 3.6 Object Library.
> :
> : Variable declaration:
>
> Try changing those to:
>
> Private autodrs_work As DAO.Workspace
> Private autodrs_db As DAO.Database

I'll give that a shot when I get into work this morning, thanks - will
let you know how it goes.

>
> I don't have a copy of Postgres installed. Are you limited to
> Postgres?

Technically no, but upon evaluating our customers needs vs what they
want to spend on additional licensing on top of paying for our software,
I decided to move to a free rdbms. I have nothing major against SQL
Server, this was purely a financial decision. Postgres appears to me to
be the most functional, stable, robust etc rdbms out there - right up
there with oracle and sql server in those areas.

>
> One option might be to try getting an Access .mdb to link to
> the Postgres through your ODBC connection. The ODBC
> connection should be visible through the Link wizard. Just
> right click inside the white window area in an Access file
> and then click on Link tables...

I've done this and it does work fine.

>
> If Access can create a link, then we know your ODBC is
> configured properly and ready to go. This should provide
> a little help here.
>


Thanks,
Paul.

--
Posted via a free Usenet account from http://www.teranews.com
Author
26 Feb 2007 9:19 PM
Paul Lambert
Jim Carlock wrote:
Show quoteHide quote
> Jim Carlock wrote:
>> "Engada" pondered...
>> : I have an application written in VB6.0 which has previously
>> : been interfacing with MS SQL server 2000, which I have
>> : moved to Postgres 8.2.3.
>> :
>> : When attempting to create an ODBC workspace, the app now
>> : errors on the following line of code:
>> :
>> : Set autodrs_work = CreateWorkspace("autodrs", _
>> :   g_strUserName, _
>> :   g_strPWD, _
>> :   dbUseODBC)
>> :
>> : Where g_str* variables are globals holding the username and
>> : password for connecting to the db.
>> :
>> : The following is the resulting error:
>> : 3633 Cannot load DLL:  '?????L?'
>
> "Engada" posted...
> : I'm using Microsot DAO 3.6 Object Library.
> :
> : Variable declaration:
>
> Try changing those to:
>
> Private autodrs_work As DAO.Workspace
> Private autodrs_db As DAO.Database
>
> I don't have a copy of Postgres installed. Are you limited to
> Postgres?
>
> One option might be to try getting an Access .mdb to link to
> the Postgres through your ODBC connection. The ODBC
> connection should be visible through the Link wizard. Just
> right click inside the white window area in an Access file
> and then click on Link tables...
>
> If Access can create a link, then we know your ODBC is
> configured properly and ready to go. This should provide
> a little help here.
>

No dice, still getting the same error.

The line that gives the error I made the same change to, i.e:
DBEngine.DefaultType = DAO.dbUseODBC

But still complaining about error 3633.

Regards,
Paul.

--
Posted via a free Usenet account from http://www.teranews.com
Author
26 Feb 2007 10:26 PM
Jim Carlock
"Paul Lambert" posted...

Hi again, Paul.

I ran into this link.

http://groups.google.com/group/microsoft.public.vb.database.dao/browse_frm/thread/d0e02b7422b3fcb7

If you do not want to read the thread... here's an abstraction.

Jeff Thomas, stated...

<quote>
I have a VBA macro in MS Word 97 Pro SR2 which tries to
create an ODBCDirect workspace with the following call:

dim odbcwork as workspace
..
..
..
set odbcwork = CreateWorkSpace("wkODBC", "","", dbUseODBC)

One a brand new installation of Windows 98 Second Edition
with Word 97 SR2, this call fails with an error
"3633 - Cannot load dll '?????L?' ".

If I go ahead and load MS Visual Studio 6.0 (minimal install)
on the workstation then the call succeeds. So, on our development
machines it works just peachy, but in real life it doesn't work at all.

I have made sure I loaded the latest mdac_typ.exe, double checked
all the DAO dll's and their registration. I also checked the ODBC
dlls and exes for version compat. but with no luck.

If you can help or you've run into anything similar please let me
know asap.
</quote>

Now, if I can only remember the name of the app that showed
which .dlls get used. Was it the Rohitab API Monitor?

http://www.rohitab.com/apimonitor/

The app runs well. And I think it's still free. Nice tool to keep in
your arsenal.

Hope this helps. Please post back and let use know which
..dlls are involved (provided everything turns out okay). Thanks.

--
Jim Carlock
Post replies to the group.
Author
26 Feb 2007 11:07 PM
Paul Lambert
Jim Carlock wrote:
Show quoteHide quote
> "Paul Lambert" posted...
>
> Hi again, Paul.
>
> I ran into this link.
>
> http://groups.google.com/group/microsoft.public.vb.database.dao/browse_frm/thread/d0e02b7422b3fcb7
>
> If you do not want to read the thread... here's an abstraction.
>
> Jeff Thomas, stated...
>
> <quote>
> I have a VBA macro in MS Word 97 Pro SR2 which tries to
> create an ODBCDirect workspace with the following call:
>
> dim odbcwork as workspace
> .
> .
> .
> set odbcwork = CreateWorkSpace("wkODBC", "","", dbUseODBC)
>
> One a brand new installation of Windows 98 Second Edition
> with Word 97 SR2, this call fails with an error
> "3633 - Cannot load dll '?????L?' ".
>
> If I go ahead and load MS Visual Studio 6.0 (minimal install)
> on the workstation then the call succeeds. So, on our development
> machines it works just peachy, but in real life it doesn't work at all.
>
> I have made sure I loaded the latest mdac_typ.exe, double checked
> all the DAO dll's and their registration. I also checked the ODBC
> dlls and exes for version compat. but with no luck.
>
> If you can help or you've run into anything similar please let me
> know asap.
> </quote>
>
> Now, if I can only remember the name of the app that showed
> which .dlls get used. Was it the Rohitab API Monitor?
>
> http://www.rohitab.com/apimonitor/
>
> The app runs well. And I think it's still free. Nice tool to keep in
> your arsenal.
>
> Hope this helps. Please post back and let use know which
> .dlls are involved (provided everything turns out okay). Thanks.
>


Well that's suggesting something I should have done from the beginning.
I ran sysinternals (now part of M$) FileMon utility to monitor file
activity and found that the program when executing is looking for
MFC42LOC.DLL which sure enough is not on my system.

Strangely though, this file is not on any of the previous servers that
have hosted this application, nor does it exist on a couple of the
customer machines I've checked, so why is this one installation
insisting on having the dll when others do not?

At this point in time the code won't even know which db it is connecting
too, so I can only assume it doesn't care whether it will be connecting
to PostgreSQL or MS SQL server or Oracle or whoever else and therefore
cannot be related to the conversion to PG... so now I'm even more
confused than before.

P.

--
Posted via a free Usenet account from http://www.teranews.com
Author
27 Feb 2007 12:06 AM
Jim Carlock
Jim Carlock suggested...
> http://www.rohitab.com/apimonitor/
>
> The app runs well. And I think it's still free. Nice tool to keep in
> your arsenal.


"Paul Lambert" replied...
:: Well that's suggesting something I should have done from
:: the beginning. I ran sysinternals (now part of M$) FileMon
:: utility to monitor file activity and found that the program
:: when executing is looking for MFC42LOC.DLL which
:: sure enough is not on my system.

One of those MFC...dll's. <g> The LOC file seems to be a
language specific file which then reaches into mfc42.dll.

Tim stated at the following link...

http://groups.google.com/group/microsoft.public.vc.mfc/browse_frm/thread/6483f3440b4382af/

<quote>
I have an MFC app written in Visual C++ 6.0 Professional. It's
localized, so I need to include mfc42loc.dll for the build of each
language. (Mfc42loc.dll overrides mfc42.dll and causes
microsoft-written MFC dialogs to appear in that language.)
</quote>

Also, take a look at the following...
http://groups.google.com/group/microsoft.public.vc.mfc/browse_frm/thread/5f0ed69e63b897c2/

It appears that mfc42loc.dll and mfc42.dll are dependent upon
each other. The LOC file ends up being a language specific
(German, English, Spanish) dll I think. At least that's the way
I'm interpreting it (unknown how correct my interpretations
really are).

One last thread from Google to finish my comments off from.

http://groups.google.com/group/microsoft.public.vc.mfc/browse_frm/thread/bbcfba614e14a5ea/

Gonzalo Rodriguez stated...

<quote>
I am developing a software with VC++ 6.0 in which I am using
a commercial activex control for vectorial drawing.

I am running my application on Spanish versions of Windows 98
and Me and the activex control fails when the local version of
mfc42loc.dll is present in the system directory. I see this also
happens with other local versions.

When I delete or change the name of mfc42loc.dll all works ok.
</quote>

SO... I haven't messed with this particular problem. And I don't
have an answer right off the top of my head. Perhaps someone
else can throw something in to help out.

--
Jim Carlock
Post replies to the group.