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!

Need ODBC help New to Progress 3

Status
Not open for further replies.

franklin1232

IS-IT--Management
Aug 29, 2001
207
0
0
US
We are currently running 9.0B, but will be upgrading to 9.1c in the next couple of weeks. We are using Merant 3.5 drivers and they stink. We have many application and other databases that need data from Progress. Problem is the speed is so slow I end up downloading the data a couple of times a day instead of in real-time.

Is there a better driver or better way?

Most of the outside applications are written in Visual Basic, SQL server, Access.
 
I wasn't on this list on 12/13/01 when you first made this post - did you upgrade to 9.1c? How did it go? I've heard not to even attempt a serious ODBC connection on prior Progress versions. I'm about to try this myself, i.e., IIS/ASP/ODBC connection to Progress V9.1c. We can compare notes...thanks. Regards,
Paul Fry
paul_fry@speakeasy.net
 
We are on 9.1c and are using Merants SLQ92 driver(Supplied to us). I have just started some ASP apps and Visual Basic developement with it. So far I couldn't be happier. The speed is well beyond my expectations and all the errors I use to receive, seem to be fixed. I wrote more error checking than I wrote application.

The upgrade to 9.1C was easy. Infact we still have 9.0b running on the same server. Our database schema changes had some problems but that isn't Progress, it's our manufacturing software vendor's problem.

I will try to help you with any questions you might have.

There are still better and faster ways than ODBC. I have started to rewrite apps in Progress 4GL and I am looking at webspeed.

Regards,
Franklin
 
Good to hear it about 9.1C!! Yes, I'm sure native connections (including WebSpeed) are much faster than ODBC even in 9.1C. Just to let you know, I have 14 years of experience developing apps in Progress: GUI and character. I have about .05 years experience with ASP (lol), but I want to learn it. Maybe we could trade expertise via email or this forum. I have a little bit of WebSpeed exposure from a free seminar about 2 years ago (yeah, big help!) but basically, SpeedScript is 99.5% Progress 4GL.

BTW, there is some kind of "hybrid webspeed/ASP" protocol or DLL that you might want to check out. Regards,
Paul Fry
paul_fry@speakeasy.net
 
Hi

Hope maybe you can help us out a bit here?

We are experiencing performance problems with ODBC on 9.1B, using Crystal Reports & Merant 3.5 drivers. Did 9.1C help from an ODBC perspective? your help would be greatly appreciated.

Many Thanks
Sue Gouldbourne
 
Well you need to move to merants SQL92 driver that progress had written for them. It comes with the progress 9.1c install. I haven't pushed it with complicated crystal reports, but it has greatly improved the performance with other ODBC applications. This drops the old broker system and follows a set standard.
 
I don't suppose you could offer some advice in regards to setting up the SQL92 driver. Is this the 4.1 driver recently released by Datadirect?

I'm stumped when it's asking for a port. Is this the database port? When I connect directly to the database port it says I can not connect because of license issues (although we have enough licenses). When I connect to the broker port used in the 3.6 driver I get an error :)

Probably a really stupid thing to ask about, and I'm sure it's not all that hard to resolve, but after talking with Datadirect, I was no more enlightened than before I spoke with them.

 
NeHe -

There should be a separate ODBC port number in the services file - here's a sample snipped from the /etc/services file of a current client:

rimprotscl 15810/tcp #RIMS34 SC Prototype Server
rimprotsclt 15820/tcp #RIMS34 SC Prototype tServer
rimoibprotscl 15830/tcp #ODBC SC Prototype

Check out also. That should help get you going!
7seven
 
Well the port number is easy to find. Just look in the progress explorer tool. Under your database you should have a default and ODBC configuration group. The port number can be set in there. When you configure the SQL92 driver version 3.6 PGPRO915.DLL. It askes for the port use the port from the ODBC config group in progress explorer.
 
franklin1232:

I have just started to dive into this stuff. I am familiar with VB, but have no experience in database connections. We have a Syteline ERP system running on Progress 9.1C. We have a 3rd party application for extracting data that leaves a lot to be desired.

Outside of the fact that I am having trouble creating a new System DSN, I was hoping you would have some pointers to sample code. There are a couple of Merant connections already set up, so I was hoping to use those. Can you recommend any sites that have sample VB or VBA code for reading from a Progress DB?

Any help, pointers or suggestions would be greatly appreciated.
 
Well using VB to access Progress isn't really specific to Progress software as it is to ODBC. What you want to find is sample VB code that uses ODBC and SQL to retrieve records. There are a ton of sites with these type of sample. EX: You might just want to start with the MSDN libary if you have it, or stop by your local Barnes and Noble and pick up Programming Visual Basic databases.

As far as your system DSN, What is the driver you are trying to use? When you create a new DSN it will ask you the driver and then you can see what .dll files are being used. I left Merant in the dust. Their drivers sucked.

My last suggestion would be to look at Progress 4GL coding. It provides a native connection to the database and a huge performance increase.
 
It's been awhile since my last post and I am still having problems connecting to the Progress Database via ASP.

We are currently running Progress 9.1C. Connecting with the Merant 3.70 driver.

I created an ODBC connection called Syteline5. With this I am able to pull data using Microsoft Access, Excel, etc.

I have also made a fileDSN that will allow me to connect and pull data in Excel, etc.

When I use any of the hundreds of freely available connection examples, I get the error message:

Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[MERANT][ODBC PROGRESS driver]Optional feature not implemented.

I have no idea how to get around this problem. Is anyone able to give me a working example, a link that has a solution, or some sort of HOPE :)

This is the code that generates the error above:

<SCRIPT LANGUAGE=Javascript RUNAT=Server>
Session(&quot;DSName&quot;)=&quot;dsn=syteline5&quot;
DSName = Session(&quot;DSName&quot;)
DbConn = Server.CreateObject(&quot;ADODB.Connection&quot;)
DbConn.Open (DSName)
</script>

Doesn't matter if it's dsn=syteline5 (system odbc) or filedsn=c:\syteline5.dsn, etc.

This is the DSN file:

[ODBC]
DRIVER=MERANT 3.70 32-BIT PROGRESS
UID=
GST=0
SR=1
ASC=0
DBOS=Windows
DBPA=e:\sytedb
DBAM=Direct
OIDH={server name}
OIDS=symixoib
OIDP=TCP
DB={database name}

Would love to hear from anyone!!!

nehe@connect.ab.ca
 
I used to get the error, but it isn't critical. It means some parameter in your connection isn't in use. If you trap the error and then just continue your code everything should work. Your using Jscript so I am not sure how this is done, but in VB it's ON ERROR RESUME NEXT. I wrote a little error trap to catch this error specifically so that any other errors don't get passed by as well.
 
Hello Franklin1232,
I'm building a program with Visual Basic to get information from Progress 9.1d, but I'm having problems to create a MERANT 3.6 link. I've tried to add a portnumber in winnt\system32\drivers\etc\services, but when I restart my computer I can't connect to the server here. I think I don't have the correct portnumber, because I just filled in a random number which wasn't used. Can you help me with this?
 
Are you using a Progress on a Windows server? Well if your not this probally won't help. Go to the windows server and open the progress explorer tool. You should see your database in the left pane once you log in. You might have two configurations under the database. If so you need the one that is configured for ODBC. If you open them you can tell by the radio buttons at the top. If there is only one, then you are using the same configuration for both 4GL and ODBC connections. Right click and get the properties. The port number will be in the properties. Normally they are in the 3500-3600 range.
 
I'm creating a program on my workstation, before I put my program on the server. I'm testing it now, but I don't manage to get clear of the error in network daemon. Do you have any idea how to solve this? Can't I just add a portnumber like 3050, it gives no problems if I restart, but I still can't overcome the error in the network daemon
 
The ODBC server daemon has to be listing on a port. If you have progress installed on your workstation it is still acting like a server. Putting a port number in you local host services doesn't do anything for you unless the server daemon or ODBC broker as Progress calls them is waiting for a connection on that port. You need to get to the server that is running the progress database and check what port numbers the ODBC broker is listening on. Then you can add that port number to your local services file.
 
I've used the knowlegde base of progress

Okay now I have the connection made. I have typed in the command prompt in the directory of my database:

proserve Proef -N tcp -H localhost -S 3050

and that did the trick!! Now I only have to get the connect via Visual Basic, but that's hopefully the easy part, because it did take a long time before my connection was established!!

Do you know how?
 
Sure I know how to connect Visual Basic through ODBC to progress. What type of connection do you want to use? ADO is probally your best choice. Since it doesn't seem like you've done this before, your best bet is to use the ADO data control. On your visual basci controls bar right click and add components. Choice the Microsoft Active Data control. Then place it on you form. Use the connection string property and the connection builder to choose the ODBC entry you've created in your machines System DSN tab using the ODBC in the control panel.

If you have questions or get stuck after this just keep posting.
 
I've more experience in Visual Basic then in Progress and I'm able to get information from a Microsoft Access database, but I want to learn how to get the information from a Progress database. I know I have program a connection string for my connection to my Progress database, but my question now is how to write that connection in code. Please pass some code of it to me, so I can solve it easier. Thanks..
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top