9.1d > Windows ODBC Issues, Missing Prog. Explorer?

M3Fan

New Member
I have a Progress 9.1d server running for an application that has about 5 clients on at any given time. I don't know if they are 4GL or SQL clients as I don't know how the application that they use is coded. I would like to access the database via ODBC from another Windows machine on the network. I've fought long and hard all day to figure out the TCP port of each Broker I have running (apparently I have two brokers, and both are enabled for 4GL and SQL server), I've figured out how to install the Merant ODBC driver on the client machine and get it to attempt to connect to the database server via the ports specified for each broker. I've also figured out how to find the log and figure out how the database is starting up.

I get the "exceeding permissible number of connections" error when testing the connection via ODBC. :mad:

Now, I've searched high and low on this issue and the general consensus is to create another "broker" using "Progress Explorer". The problem is that I can't find this "Progress Explorer" anywhere in my start menu on the server. It's nowhere. Anywhere else I should look?

Another odd thing is I guess this program starts the database using this command line: dbman -database pubdb -start. I don't know if that's a factor or not.

Here is my log file showing the server startup:

05:30:04 BROKER 0: Multi-user session begin. (333)
05:30:05 BROKER 0: Begin Physical Redo Phase at 192 . (5326)
05:30:08 BROKER 0: Physical Redo Phase Completed at blk 2087 off 6129 upd 276. (7161)
05:30:08 BROKER 0: Started for dtx-odbc using TCP, pid 5364. (5644)
05:30:08 BROKER 0: Connecting to Admin Server on port 7835. (8836)
05:30:08 BROKER 0: Registered with Admin Server. (8846)
05:30:08 BROKER 0: PROGRESS Version 9.1D on WINNT. (4234)
05:30:08 BROKER 0: Server started by SYSTEM on CON:. (4281)
05:30:08 BROKER 0: Started using pid: 5364. (6574)
05:30:08 BROKER 0: Physical Database Name (-db): D:\dtx9\pubdir\pubdb. (4235)
05:30:08 BROKER 0: Database Type (-dt): PROGRESS. (4236)
05:30:08 BROKER 0: Force Access (-F): Not Enabled. (4237)
05:30:08 BROKER 0: Direct I/O (-directio): Not Enabled. (4238)
05:30:08 BROKER 0: Number of Database Buffers (-B): 88. (4239)
05:30:08 BROKER 0: Maximum private buffers per user (-Bpmax): 22. (9422)
05:30:08 BROKER 0: Excess Shared Memory Size (-Mxs): 16387. (4240)
05:30:08 BROKER 0: The shared memory segment is not locked in memory. (10014)
05:30:08 BROKER 0: Current Size of Lock Table (-L): 8192. (4241)
05:30:08 BROKER 0: Hash Table Entries (-hash): 23. (4242)
05:30:08 BROKER 0: Current Spin Lock Tries (-spin): 0. (4243)
05:30:08 BROKER 0: Number of Semaphore Sets (-semsets): 1. (6526)
05:30:08 BROKER 0: Crash Recovery (-i): Enabled. (4244)
05:30:08 BROKER 0: Database Blocksize (-blocksize): 4096. (6573)
05:30:08 BROKER 0: Delay of Before-Image Flush (-Mf): 3. (4245)
05:30:08 BROKER 0: Before-Image File I/O (-r -R): Reliable. (4247)
05:30:08 BROKER 0: Before-Image Truncate Interval (-G): 60. (4249)
05:30:08 BROKER 0: Before-Image Cluster Size: 524288. (4250)
05:30:08 BROKER 0: Before-Image Block Size: 8192. (4251)
05:30:08 BROKER 0: Number of Before-Image Buffers (-bibufs): 5. (4252)
05:30:08 BROKER 0: BI File Threshold size (-bithold): 0.0 Bytes. (9238)
05:30:08 BROKER 0: BI File Threshold Stall (-bistall): Disabled. (6552)
05:30:08 BROKER 0: After-Image Stall (-aistall): Not Enabled. (4254)
05:30:08 BROKER 0: Number of After-Image Buffers (-aibufs): 5. (4256)
05:30:08 BROKER 0: Storage object cache size (-omsize): 1024 (8527)
05:30:08 BROKER 0: Maximum Number of Clients Per Server (-Ma): 1. (4257)
05:30:08 BROKER 0: Maximum Number of Servers (-Mn): 5. (4258)
05:30:08 BROKER 0: Minimum Clients Per Server (-Mi): 1. (4259)
05:30:08 BROKER 0: Maximum Number of Users (-n): 11. (4260)
05:30:08 BROKER 0: Host Name (-H): sgcserver1. (4261)
05:30:08 BROKER 0: Service Name (-S): dtx-odbc. (4262)
05:30:08 BROKER 0: Network Type (-N): TCP. (4263)
05:30:08 BROKER 0: Character Set (-cpinternal): ISO8859-1. (4264)
05:30:08 BROKER 0: Parameter File: Not Enabled. (4282)
05:30:08 BROKER 0: Maximum Servers Per Broker (-Mpb): 1. (5647)
05:30:08 BROKER 0: Minimum Port for Auto Servers (-minport): 3000. (5648)
05:30:08 BROKER 0: Maximum Port for Auto Servers (-maxport): 5000. (5649)
05:30:08 BROKER 0: This broker supports both 4GL and SQL server groups. (8865)
05:30:08 BROKER 0: SQL Server Stack Size (-SQLStack): 1000. (10026)
05:30:08 BROKER 0: SQL Server Statement Cache Size (-SQLStmtCache): 100. (10027)
05:30:08 BROKER 0: SQL Server Max Open Cursors (-SQLCursors): 50. (10028)
05:30:08 BROKER 0: Created shared memory with segment_id: 10354688 (9336)
05:30:11 BROKER 1: Started for dtx using TCP, pid 4936. (5644)
05:30:11 BROKER 1: This is an additional broker for this protocol. (5645)
05:30:11 BROKER 1: This broker supports both 4GL and SQL server groups. (8865)
05:30:13 WDOG 5: Started. (2518)

I will say, this is one tough system to figure out for the uninitiated. Years of DBA experience do me no good with this system. I'm in dire need of help here!
 

Casper

ProgressTalk.com Moderator
Staff member
You don't need progress explorer to start a sql broker.
How is your database started now?
If you are starting with proserve then configure an extra broker en start it with proserve.

See also KB P7843 it explains exactly what to do with or without progress explorer.

Regards,

Casper.
 

M3Fan

New Member
Thanks for the reply! The database is started using this command line every morning: dbman -database pubdb -start

Edit: Can I use startup parameters with this dbman utility? Apparently this is the way the database is started on the server.
 

Casper

ProgressTalk.com Moderator
Staff member
The only paramaters dbman has are
with dbman you use the progress explorer style of configuration.

Progress explorer can be found on a windows machine with progress installed with a full development license.

If you don't have progress installed on windows then you can also edit the $DLC/properties/conmgr.properties file on the database server.
Here resides the stuff you configure with the progress explorer.

N.B. be very carefull with editing this file, make a copy first.

We use the old fashioned proserve to start the database, so I'm not the expert here. I could give you an example which shows how the to configure a sql broker for a database started with dbman.

Regards,

Casper.
 

M3Fan

New Member
Casper, I can't thank you enough for the help you've given me so far. I found this config file and this is what it says:

#
# Connection Manager Properties File
#
%% Properties File
%% version 1.1
%% Jul 5, 2006 9:46:21 AM
[configuration.pubdb.defaultconfiguration]
database=pubdb
displayname=defaultConfiguration
maxusers=10
otherargs=-evtlevel none
servergroups=pubdb.defaultconfiguration.dtx-odbc, pubdb.defaultconfiguration.dtx
[database.pubdb]
autostart=true
configurations=pubdb.defaultconfiguration
databasename=D:\dtx9\pubdir\pubdb
defaultconfiguration=pubdb.defaultconfiguration
displayname=pubdb
[environment]
[servergroup.pubdb.defaultconfiguration.dtx]
configuration=pubdb.defaultconfiguration
displayname=DTX
maxclientsperserver=3
numberofservers=3
port=dtx
type=4gl
[servergroup.pubdb.defaultconfiguration.dtx-odbc]
configuration=pubdb.defaultconfiguration
displayname=DTX-ODBC
maxclientsperserver=1
numberofservers=1
port=dtx-odbc
type=sql
# host=localhost # -H
# initialservers=0 # n/a
# maxclientsperserver=0 # -Ma (calculated value)
# maxdynamicport=5000 # -maxport (5000 for NT; 2000 for UNIX)
# messagebuffersize=350 # -Mm (4gl only)
# minclientsperserver=1 # -Mi
# mindynamicport=3000 # -minport (3000 for NT; 1025 for UNIX)
# networkclientsupport=true # false for self-service
# numberofservers=0 # -Mpb
# port=0 # -S ; Must be non-zero
# # when networkclientsupport=true
# prosqltrc=nnnnnnnnnnn # turn on various levels of SQL tracing
# reportinginterval=1 # -rpint (4gl only)
# serverexe=<4gl server location> # _mprosrv (4gl only)
# type=both # n/a
 

Casper

ProgressTalk.com Moderator
Staff member
While I'm at it, I just made a configuration of the sports database which starts a sql and a 4GL broker. Attached is the conmgr.properties file. It's all very basic, but I hope it gives you an idea on what to do. This was done in OpenEdge 10.1B01.

Basic idea is to set the maxservers in the defaultconfiguration to #servers broker1 + #servers broker2 + 1. (-mn)
Furhtermore set the individual number of servers per broker with
numberofservers=..... (-Mpb)

Give the new broker a free portnumber(-S)
Set all none sql brokers to type=4gl and sql broker to type=sql (-ServerType).

Hope this helps,

Casper.
 

Attachments

  • conmgr.properties.txt
    2 KB · Views: 24

Casper

ProgressTalk.com Moderator
Staff member
well it should work if you set maxservers=5 in configuration.pubdb.defaultconfiguration
(since you have 3 4GL servers and 1 SQL server, you need 1 extra server for the secondary broker to start).

furthermore I would set maxusers somewhat higher, say 13 (since user count also count for progress erver side processes (e.g. watchdog).

With these changes it should function if you try to connect to port dtx-odbc.

These changes take effect after the database is restarted.

(you can stop database with dbman <configname> -stop and start with dbman <configname> -start)

In your case: dbman pubdb -stop and dbman pubdb -start.

HTH,
Casper.
 

M3Fan

New Member
Casper, again, you're a lifesaver. I have to wait till late afternoon for my users to go home before I can re-start the progress DB with these new parameters. If this works, I'll be elated. I can't tell you how happy I am that you helped me with this- I would have had absolutely no clue how to find this file and modify it. Is the documentation out there a little vague or did I just not do enough research on this?
 

Casper

ProgressTalk.com Moderator
Staff member
....I would have had absolutely no clue how to find this file and modify it. Is the documentation out there a little vague or did I just not do enough research on this?

The documentation is a bit bague on how to edit the conmgr.properties file. Progress assumes you have progress explorer, and warns not to edit the conmgr.properties files yourself. The problem is that to use the progress explorer you need to have a windows client with progress development installed.

For people who are developing character based on unix for example adminserver, dbman etc. can be used, but you have to edit the proper files yourself.

Remember to always make a copy of the *.properties files before you edit them, this way you can always go back to the working situation.

Regards,

Casper.
 

M3Fan

New Member
Just as a quick update, adding the maxservers param to the config file allowed me to connect via ODBC. I can see the tables in the system but when I try to view them I get the "Access Denied (Authorisation Failed)(7512) error. I recall seeing some posts about this so I'll do some searching on it. I'm logging in via a power user account in the system which may be the problem. I've got to figure out what the login accounts are on this Progress server somehow, again without explorer. Still, we're getting somewhere! Thanks again.

Update: Can't find my sysprogress password so now I'm really stuck. :mad:
 

Casper

ProgressTalk.com Moderator
Staff member
I suppose you don't have acces to the data administration?

The default DBA account is the creator of the database, that is the user under which the databse is created. If you know that and it's password then you can also login with this acount as DBA to set your security permissions.

With 4GL (ABL) it is possible to create DBA user sysprogress if you don't have dis allowed blank user id access....

Who is the suplier of this application, they should be able to help you.

Casper
 
Top