1
votes

I want to link a Progress DB to MS SQL Server. I use the guide on:

https://knowledgebase.progress.com/articles/Article/P120484

Local on my Windows 8 notebook, I have also installed a MS SQL Management Studio.

"1) Setup an ODBC connection to the Progress eatabase in the ODBC Administrator in the System DSN. Make sure the connection successfully establishes."

So I looked under System-DNS and find it. It is called pA52_T2_ODBC. 32-Bit. Progress OpenEdge 10.2B Driver. When I test the connection, it says "Connection established!". So I think step 1 is done.

"2) Bring up SQL Server Management Studio, connect to Object Explorer. Under Server Objects -> Linked Servers, Right click -> New Linked Server. 3) Provide the information to following options:

Linked server - Provide the name you will use to refer to this linked server. Server Type - Select "Other data source" as server type. Clicking this option activates the options below it. Provider - Microsoft OLE DB provider for ODBC driver. Product name - it could be anything but better to use progress since it is a progress database. Data source - ODBC System DSN name. The rest of the options can be left blank".

And now it doesn't work! I get an Error-Msg: The linked server has been updated but failed a connection test... Error: 7303.

Why works the connection test in step 1, but not with step 2?

Any ideas?

UPDATE 1:

Now I tried to import a table from progress to MS Access. I use the pA52_T2_ODBC, type in my loginname and password. Then a window opens and I can chooese all the progress tables. But when I choose one and click ok then I get this error:

[DataDirect][ODBC Progress OpenEdge Wire Protocol driver][OPENEDGE]Access denied (Authorization failed) (7512)(#-20228).

Why can I pass first with my login data, but in second step it failed about this!?

1

1 Answers

1
votes

Your issue seems to stem from the fact that you don't have any tables granted to your SQL login. The Access denied (Authorization failed) message refers to your query on the table, not your login to the database.

If you are following the Knowledgebase guide, you'll have to use sqlexp or equivalent to run GRANT scripts against the Progress table(s) you want to query for the SQL login(s) you are using.

For example:

GRANT SELECT ON PUB.YourTable TO YourUser; COMMIT;