Link to home
Start Free TrialLog in
Avatar of Nero83
Nero83Flag for United States of America

asked on

ODBC Progress Driver Errors within Access 2003

I recently had a new DataDirect ODBC Progress OpenEdge Wire Protocol driver installed in order to use data from a Progress database in an Access 2003 database.

I used to be able to access the data in a Progress database no problem, but now I get errors.  I have no problem using the driver with Crystal Reports (although I was having a problem which was solved by changing the username in my ODBC connection).

When I run a query that uses a linked table in Access that used to work fine, I get the following error:  
ODBC - call failed.  [datadirect][odbc progress wire protocol driver][openedge]Access denied (authorization failed)(7512)(#-20228).

If I try to re-link the tables through Linked Table Manager, or try to create a new database linking to the tables I get this message:
Reserved error (-7748); there is no message for this error.

I have looked around at various sites but can't find a solution that fits me.  Help!

Thank you Experts!!
Avatar of Badotz
Badotz
Flag of United States of America image

This has helped me with connection strings in the past:

 1. In Notepad, or any other text editor, create a file named Temp.udl  

 2. Leave the file empty and save it to the Desktop

 3. Double-click the Temp.udl file

 4. The Data Link Properties dialog box appears

 5. In the Data Link Properties dialog box, click Provider. Select the appropriate provider from the list

 6. Click Connection and select the corresponding name of the server and the database

    Type the User Name and the Password
 
 7. Click Test Connection to test the connection

 8. Click OK

 9. Right-click Temp.udl and click 'Open With'
   
    If Notepad shows up as an option, click it, otherwise click 'Choose Program' and navigate
    through the list to notepad and select it

10. Copy the connection string to your application

Avatar of Nero83

ASKER

Thanks for the reply Badotz.
OK, I have done items 1-9 and have a connection string created.  However, I don't know where this connection string is supposed to be copied to in Access.  Can you help me?
Thanks!
Use the connection string to create a new ADBC connection:

Control Panel->Administrative Tools->Data Sources (ODBC)

Then create an Access MDB and link to (or copy) the files:

1. Select "Tables" in Access
2. Right-click and select "Link Tables"
3. Click the "Files of type:" dropdown and choose "ODBC Databases ()" - it is the last item in the list here at Casa Ocaso.
4. Select your new ODBC connection
5. You should be prompted with a list of tables
Avatar of Nero83

ASKER

Thanks again.  Sorry, but I am still confused.  How do I use the connection string (the first part of your answer) to create a new ODBC connection?  The rest of it I understand.  I go to ODBC Data Source Administrator, go to Add..., but then how do I tie it into the .udl file I created?  Is this a File DSN?
Steps #9 and #10 are from where you copy the connection string.

Control Panel is where you create a new ODBC connection using the connection string.

In Access, you link to the tables using the new ODBC connection.
Avatar of Nero83

ASKER

I feel dense here, maybe I'm not expressing myself...

HOW do I create a new ODBC connection using the connection string?  I know I do it from Control Panel, etc.  but don't know what to do once I am in there.

 I am running XP.

Thanks again!
Go to "Control Panel->Administrative Tools->Data Sources (ODBC)"

Click the "System DSN" tab

Click the "Add" button

Select the appropriate driver

Click the "Finish" button

Answer any remaining questions and click "OK" (or "Save" or...)

Avatar of Nero83

ASKER

OK, thanks.  
Well, I did this, but it ends up being the same connection I started with in the first place.  In other words, I still have not done anything with the temp.udl file you suggested I create for the connection string and have ended up with the same issue/error msg.
"temp.udl" creates the connection string. That is all.

When you open "temp.udl" with Notepad and copy the connection string, you are done with the file.
Avatar of Nero83

ASKER

Where is the connection string copied to exactly?  This is a circle back to my original reply to you.
You can also use the connection string with VBA in Access, if you cannot establish a new one in Control Panel.
In my post http:#a34177704, tell me what you did for each step.

I won't be here for much longer; MNF beckons ;-)
Avatar of Nero83

ASKER

Thanks Badotz.  Yeah, I still need help.
I will have to get back to this tomorrow...my 2 year old beckons from home ;-)

Thanks again for all your help and back and forth here...
No worries - I don't know about you, but as the day wears on, my brain gets fuzzier and fuzzzzier...
Avatar of Nero83

ASKER

Hello again Badotz,
Back again for help.
Attached are two Word files.  The first one shows what I'm doing to create the .udl for the connection string as per your instructions.  The second one shows what I'm doing to create the ODBC connection.  
I'm not using the connection string anywhere yet as far as I know...I don't know how (or where) to use it in conjunction with the ODBC connection.
Thanks again!
Chris
Creating-connection-string.doc
Creating-ODBC-Data-Source-and-Tr.doc
hmmm...odd that the Progress OpenEdge driver did not show up in the list in the .UDL file...

Any chance you can report this to the Good Folks who brought you the OpenEdge db?

Avatar of Nero83

ASKER

I'm trying them too...not expecting much though by my past experience.  I wasn't able to get much from the OpenEdge web site, but maybe I'm not using it right.  I can wait on the db people...
I am having the same issue and this worked for me.  I used 40960 value.

To resolve this error, set WorkArounds2=8192 for the affected data source.  This can be done by using the Registry Editor (RegEdit).

1.  Run RegEdit

2. Locate the ODBC DSN in the Registry:

For a USER Data Source, go to HKEY_CURRENT_USER -> Software -> ODBC -> ODBC.INI -> YourDataSourceName

For a SYSTEM Data Source, go to HKEY_LOCAL_MACHINE -> Software -> ODBC -> ODBC.INI -> YourDataSourceName

For 32-bit applications (ODBC drivers) on 64-bit Windows, (MACHINE) Data Source, go to

HKEY_LOCAL_MACHINE -> Software -> Wow6432Node -> ODBC -> ODBC.INI -> YourDataSourceName

3.  Click on the folder for your data source; from the menu choose:
Edit -> New -> String Value

4.  Set the name of the new string value to be WorkArounds2

5.  Double click on WorkArounds2 in the right hand panel; this will bring up a dialog box with a data value field

6.  Change the data value to 8192 (The string value that must be added to Windows XP SP2 and Progress 10.1A02 is WorkArounds2=40960)

7.  Click OK

8.  Close RegEdit

PCs running Windows 95 and 98 need to be rebooted for this setting to take effect

9. NOTE: When using a FILE DSN, simply open the (text) FILE DSN with your favorite text editor, add the following string to its contents (without quotes and using the appropriate (integer) value for <nnnnn>: "WorkArounds2=<nnnnn>". Save the file.
ASKER CERTIFIED SOLUTION
Avatar of Nero83
Nero83
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Glad you were able to get it going.
Avatar of Nero83

ASKER

I had to find this solution on my own due to the fact that no one else posted alternative solutions.  I did not know at the time I could flag the issue as one needing attention by Experts Exchange staff.