1. Julian I.
  2. PowerBuilder
  3. Monday, 13 May 2024 14:54 PM UTC

Hi,

I am having an error when i try to open a table "Cliente" on DB Painter in PB22 R3 thrown the Ora Oracle conecction driver on a Oracle 19c Database.

In the trace,  when i try to open the table in PB22, seems pb is checking DATA_DEFAULT for all Number Columns of the table, but in the query the table_name has two simple quotes and a table_name Anec, that not exists and i don´t know why is this query is generated.

If I connect the same database in PB19 thrown Ora Oracle driver or in PB22 with ORA9 driver, pb don´t check this and don´t fails.

Can anyone help me to undertand what is happening and how to solve it.

PB19 BUILD 2170 (trace)
(05110008): COLUMNS INFORMATION: TABLE=cliente OWNER=XXXX
(05110008): SELECT COLUMN_NAME, COLUMN_ID, DATA_TYPE_OWNER, DATA_TYPE, DATA_LENGTH, CHAR_LENGTH, DATA_PRECISION, DATA_SCALE, NULLABLE, DATA_DEFAULT FROM SYS.ALL_TAB_COLUMNS WHERE TABLE_NAME = :1 AND OWNER = :2 ORDER BY COLUMN_ID (0.002 MS / 5865.981 MS) (5406.985 MS / 11272.966 MS)
(05110008): SELECT INDEX_NAME, UNIQUENESS FROM  SYS.ALL_INDEXES WHERE TABLE_OWNER = :1 AND TABLE_NAME = :2 (0.000 MS / 11272.966 MS)


PB22R3 BUILD 3289 (trace)
03DAC07C): COLUMNS INFORMATION: TABLE=cliente OWNER=XXXX
(03DAC07C): SELECT COLUMN_NAME, COLUMN_ID, DATA_TYPE_OWNER, DATA_TYPE, DATA_LENGTH, CHAR_LENGTH, DATA_PRECISION, DATA_SCALE, NULLABLE, DATA_DEFAULT FROM SYS.ALL_TAB_COLUMNS WHERE TABLE_NAME = :1 AND OWNER = :2 ORDER BY COLUMN_ID(DBI_DEBUG_MESSAGE) (0.000 MS / 6696.824 MS)
(03DAC07C): SELECT DATA_DEFAULT FROM USER_TAB_COLUMNS WHERE TABLE_NAME = ''ANEC'' AND COLUMN_NAME = 'CAPITAL_SOCIAL'(DBI_DEBUG_MESSAGE) (0.002 MS / 6696.826 MS)
(03DAC07C): SELECT SEQS.SEQUENCE_NAME FROM USER_TABLES TABS JOIN USER_TRIGGERS TRIGS ON TRIGS.TABLE_NAME = TABS.TABLE_NAME JOIN USER_DEPENDENCIES DEPS ON DEPS.NAME = TRIGS.TRIGGER_NAME JOIN USER_SEQUENCES SEQS ON SEQS.SEQUENCE_NAME = DEPS.REFERENCED_NAME WHERE TABS.TABLE_NAME=''ANEC''(DBI_DEBUG_MESSAGE) (0.002 MS / 6696.828 MS)
(03DAC07C): *** ERROR 933 ***(rc -1) : ORA-00933: comando SQL no terminado correctamente

TESTING THE ERROR:

This simple table fails for me when I try to open it on PB22R3 Build 3289 DB Painter with a Ora Oracle connection to Oracle 19c (tested with 19.19 and 19.23) and Oracle Client "instantclient_19_20":

CREATE TABLE "TMP_TABLE_TEST"

(
"PKCOL" VARCHAR2(5) NOT NULL,
"COL1" NUMBER(7,0),
"COL2" VARCHAR2(10) DEFAULT 'dd/mm/yyyy',
"COL3" VARCHAR2(1) DEFAULT 'N'
);


 

In the DB trace, a query is launched to check the default value of the numerical field and in the condition of said query, it includes the default value

''dd/mm/yyyy'' between two single quotes as TABLE_NAME .

...

SELECT DATA_DEFAULT FROM USER_TAB_COLUMNS WHERE TABLE_NAME = ''DD/MM/YYYY'' AND COLUMN_NAME = 'COL1'(DBI_DEBUG_MESSAGE) (0.001 MS / 2795.950 MS)

(00EA1818): SELECT SEQS.SEQUENCE_NAME FROM USER_TABLES TABS JOIN USER_TRIGGERS TRIGS ON TRIGS.TABLE_NAME = TABS.TABLE_NAME JOIN USER_DEPENDENCIES DEPS ON DEPS.NAME = TRIGS.TRIGGER_NAME JOIN USER_SEQUENCES SEQS ON SEQS.SEQUENCE_NAME = DEPS.REFERENCED_NAME WHERE TABS.TABLE_NAME=''DD/MM/YYYY''(DBI_DEBUG_MESSAGE) (0.001 MS / 2795.951 MS)

(00EA1818): *** ERROR 933 ***(rc -1) : ORA-00933: comando SQL no terminado correctamente

 

Regards,

Julián i.

Bruce Armstrong Accepted Answer Pending Moderation
  1. Tuesday, 14 May 2024 16:41 PM UTC
  2. PowerBuilder
  3. # 1

I'd suggest opening a support case with Appeon.  There's not a whole lot that an end-user forum can do other than indicate whether or not they see the same issue.

I'm using PB 2022 R3 Build 3289 against Oracle 19.20.0.0.0 using the ORA driver and I don't get the error. 

 

Comment
  1. Julian I.
  2. Wednesday, 15 May 2024 06:46 AM UTC
Hi Bruce,



I'm going to open a suppor ticket.



This simple table fails for me, when I try to open it on PB22R3 Build 3289 DB Painter with a Ora Oracle connection.



CREATE TABLE "TMP_TABLE_TEST" (

"PKCOL" VARCHAR2(5) NOT NULL,

"COL1" NUMBER(7,0),

"COL2" VARCHAR2(10) DEFAULT 'dd/mm/yyyy',

"COL3" VARCHAR2(1) DEFAULT 'N'

);



Regards
  1. Helpful
  1. Julian I.
  2. Wednesday, 15 May 2024 07:04 AM UTC
DBTrace: Checks DATA_DEFAULT for NUMBER col with default value ''dd/mm/yyyy'' into 2 quotes as table_name

...

SELECT DATA_DEFAULT FROM USER_TAB_COLUMNS WHERE TABLE_NAME = ''DD/MM/YYYY'' AND COLUMN_NAME = 'COL1'(DBI_DEBUG_MESSAGE) (0.001 MS / 2795.950 MS)

(00EA1818): SELECT SEQS.SEQUENCE_NAME FROM USER_TABLES TABS JOIN USER_TRIGGERS TRIGS ON TRIGS.TABLE_NAME = TABS.TABLE_NAME JOIN USER_DEPENDENCIES DEPS ON DEPS.NAME = TRIGS.TRIGGER_NAME JOIN USER_SEQUENCES SEQS ON SEQS.SEQUENCE_NAME = DEPS.REFERENCED_NAME WHERE TABS.TABLE_NAME=''DD/MM/YYYY''(DBI_DEBUG_MESSAGE) (0.001 MS / 2795.951 MS)

(00EA1818): *** ERROR 933 ***(rc -1) : ORA-00933: comando SQL no terminado correctamente
  1. Helpful
There are no comments made yet.
Chris Pollach @Appeon Accepted Answer Pending Moderation
  1. Monday, 13 May 2024 15:10 PM UTC
  2. PowerBuilder
  3. # 2

Hi Julián;

  PB 2022 & higher, only supports Oracle 12c and higher.

FYI:    https://docs.appeon.com/ps2022r2/Supported_dbtypes_versions.html

Regards .... Chris 

Comment
  1. Julian I.
  2. Tuesday, 14 May 2024 07:01 AM UTC
I have created a new table Cliente_Test copy of Cliente and removed the Default Value 'ANEC' from the column Formato Factura and its fails too, but now with the default value 'dd/mm/yyyy' of another column Formato_Fecha. When i try to access to the new table in DB Painter, PB is launching a query from USER_TAB_COLUMNS with that default value as table_name in the condition:



(0FE60C10): SELECT DATA_DEFAULT FROM USER_TAB_COLUMNS WHERE TABLE_NAME = ''DD/MM/YYYY'' AND COLUMN_NAME = 'CAPITAL_SOCIAL'(DBI_DEBUG_MESSAGE) (0.002 MS / 2338.922 MS)

(0FE60C10): *** ERROR 933 ***(rc -1) : ORA-00933: comando SQL no terminado correctamente.

  1. Helpful
  1. Julian I.
  2. Tuesday, 14 May 2024 07:37 AM UTC
The problem is caused by the default value 'dd/mm/yyyy' of the column Formato_Fecha, when i removed it in the test table, it works.
  1. Helpful
  1. Chris Pollach @Appeon
  2. Wednesday, 15 May 2024 15:58 PM UTC
Sounds like it might be a Date to MS-Windows Regional settings mapping issue on the Oracle side.

All DBMS dates should be in ISO format to be safe => "CCYY/MM/DD" (as that is how dates are stored internally by DBMS engines..

Food for thought
  1. Helpful
There are no comments made yet.
  • Page :
  • 1


There are no replies made for this question yet.
However, you are not allowed to reply to this question.