Error while trying to extract data from my database

AbdelBorowsky

New Member
Hi !

I use Pentaho Metadata Editor to extract data from my Progress database
But when I try to extract, i have an error :
Unable to get list of rows from ResultSet :

Couldn't get row from result set
[JDBC OpenEdge Driver]:[]Internal error -1 (see dsmret.h) in SQL from subsystem DSM SERVICES function dsmCursorFind called from tpl_scan_fetch on PUB.dossier for PUB.i1_dossier. Save log for Progress technical support.

There are tables for which there are no problems, and others for which there are this error.

It doesn't come from Pentaho Metadata Editor because with the SQL Explorer Tool of OpenEdge, i have exactly the same error :
=== SQL Exception 1 ===
SQLState=HY000
ErrorCode=-219901
[JDBC OpenEdge Driver]:[]Internal error -1 (see dsmret.h) in SQL from subsystem DSM SERVICES function dsmCursorFind called from tpl_scan_fetch on PUB.lieu for PUB.i3_lieu. Save log for Progress technical support.

Where does this error come from ? Do you have an idea ?
Is it comes from data or connexion or another thing ?

Thanks !

Ps : sorry for my english, i'm french... :biggrin:
 

AbdelBorowsky

New Member
I find this... it's look like my problem...

ID: P103170
Title: "SQL select query that scans table records for data produces -219901 error"
Created: 04/13/2005 Last Modified: 04/28/2005 Status: Unverified



Symptoms:
Running SQL-92 SELECT query on some database tables produces error
SQLState=HY000
ErrorCode=-219901

[JDBC OpenEdge Driver]:Internal error -1 (see dsmret.h) in SQL from subsystem DSM SERVICES function dsmCursorFind called from tpl_scan_fetch on PUB.CUST-SHIPTO for PUB.cust-shipto-idx. Save log for Progress technical support.
Tables may be accessed using 4GL code without error


Facts:
OpenEdge 10.0x
Windows 32 Intel



Cause:
bug # 20050414-025
Segmented records are not handled properly when performing a table scan.


Fixes:
Upgrade to 10.0B02

So I have to upgrade to 10.0B02 ??
Is it free ? Is it a heavy procedure ?
pffff :(:mad:
 

TomBascom

Curmudgeon
Upgrades are free if you have been keeping your maintenance up to date.

Yes, it is easy.

The current active releases are 10.1C and 10.2A. You should upgrade to one of those not 10.0B. 10.0B is almost as ancient, obsolete and unsupported as 9.X.
 

AbdelBorowsky

New Member
Ok Ok...

So with Progress 10.0B we can't read some table via JDBC driver...

So, to do a little programm i have to change twenty databases on 5 servers from version 10.0B to 10.2...-_-'

I'm happy ! :eek:
 

TomBascom

Curmudgeon
You should form the habit of keeping your software up to date. It will save you a lot of pain and grief.
 

AbdelBorowsky

New Member
I just arrive in my enterprise, I can't do anything about that...

To come back to my problem, when I execute this query, I have the error :
Code:
Select * FROM PUB.dossier
But when I try this :
Code:
Select * FROM PUB.dossier where index_dossier > 1
It works...

Both queries have to return the same result cause all index_dossier are > to 1

Very strange...:confused:
 

Casper

ProgressTalk.com Moderator
Staff member
Code:
Select * FROM PUB.dossier where index_dossier > 1
This probably is an indexfield and thus enforces the sql enigne to use an index.

while:
Code:
Select * FROM PUB.dossier

Is by definition a table scan.

The KB says:
Segmented records are not handled properly when performing a table scan

So there you go.
You can check if this is the case by looking at the query plan in both cases.
(I am interseted if the query, when run with noexecute option, will give a query plan or that it will also give the same error).

BTW: you get the query plan by using below query right after executing your query like this:

Code:
Select * FROM PUB.dossier noexecute;
select "_Pnumber", substring ("_Description",1, 80) from pub."_Sql_Qplan" where "_Pnumber" = (select max("_Pnumber") from pub."_Sql_Qplan" where "_Ptype" > 0);

HTH,

Casper.
 

TomBascom

Curmudgeon
I just arrive in my enterprise, I can't do anything about that...

Sure you can. You can raise awareness that you are having to spend extra time, and therefore money, coding around specific bugs which have been fixed and that the enterprise is at risk as a result of out of date software. They aren't still running unpatched Windows 98 desktops are they?

You don't have to be obnoxious about it but you can certainly make sure that the appropriate people are aware.
 

AbdelBorowsky

New Member
Code:
Select * FROM PUB.dossier where index_dossier > 1
This probably is an indexfield and thus enforces the sql enigne to use an index.

while:
Code:
Select * FROM PUB.dossier
Is by definition a table scan.

The KB says:


So there you go.
You can check if this is the case by looking at the query plan in both cases.
(I am interseted if the query, when run with noexecute option, will give a query plan or that it will also give the same error).

BTW: you get the query plan by using below query right after executing your query like this:

Code:
Select * FROM PUB.dossier noexecute;
select "_Pnumber", substring ("_Description",1, 80) from pub."_Sql_Qplan" where "_Pnumber" = (select max("_Pnumber") from pub."_Sql_Qplan" where "_Ptype" > 0);
HTH,

Casper.

I try to execute these 2 queries.
The first return no result but no error too. It tells me that no results were find.

The second query return the attached file.

I don't know how it can help me... :D
Cause i don't completely understand what you said cause I'm french and i'm not an expert in databases...:D I'm not lucky...:lol:
 
Top