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.
We use cookies which are necessary for the proper functioning of our websites. We also use cookies to analyze our traffic, improve your experience and provide social media features. If you continue to use this site, you consent to our use of cookies.