SQL to get Progress database version

tale103108

New Member
Does Progress provide a means to determine what version of the database is currently being used?
For example:

SELECT @@version
FROM someTable;

I am on a remote client and do not have access to the database server. So I can not view any files on the server to determine the Progress database version.

Cheers!
 

Rob Fitzpatrick

ProgressTalk.com Sponsor
In the _DbStatus metaschema table you have two fields that may be useful to you. _dbstatus-dbvers is a "version number", and _dbstatus-dbblksize is the DB block size. The difference between the two is the database version number, although it doesn't correspond to an OpenEdge release number.

For example in a version 10 database with an 8K block size, _dbstatus-dbvers is 8342, _dbstatus-dbblksize is 8192, and the difference is 150. This is the v10 DB version number. In 11.0 the version has been incremented to 173.

See this KB article for details: How to Determine What Progress Version the database is?
 

tale103108

New Member
Hi Rob,
To answer your first question, 'Yes' I have limited access from the client only. The database is remote (hosted). Also, when I run the following SQL I get privileges error:

select "_dbstatus-dbvers"
,"_dbstatus-dbblksize"
from "PUB"."_DbStatus"

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

Please advise on any options. What privileges do I need to run this SQL, for example?

Cheers!
 

Rob Fitzpatrick

ProgressTalk.com Sponsor
Have you set up DB and/or table privileges for the user you are using to authenticate against the database? In this case I don't know whether you can use table-level privileges because the table you are SELECTing on is virtual rather than real. So you may need to have DBA privilege. I have checked that I can run your SQL code successfully against one of my databases.

Try this: select * from PUB."_sysdbauth";
and tell me what you get.

Also, this KB article may be helpful: Basic Guide to Defining Progress SQL-92 Database Permissions & Security
 

tale103108

New Member
Results from the SQL you sent....
===========================

_Grantee _Dbaacc _Resacc
----------- ---------- ----------
root y y
skyusiuser y
sysprog y
SYSPROGRESS y y

===========================
Cheers.
 

Marian EDU

Member
Does Progress provide a means to determine what version of the database is currently being used?
For example:

SELECT @@version
FROM someTable;

I am on a remote client and do not have access to the database server. So I can not view any files on the server to determine the Progress database version.

Cheers!

depending on what is your connection path for JDBC there is the getDatabaseProductVersion method on connection, for ODBC you can use SQLGetInfo using SQL_DBMS_VER as info type
 
Top