[ https://issues.apache.org/jira/browse/IGNITE-1993?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15052722#comment-15052722 ]
Nikolay Tikhonov commented on IGNITE-1993: ------------------------------------------ I've tested your pull request on Oracle 12C. When table exists in database your changes are working well, but if table doesn't exist then TcpDiscoveryJdbcIpFinder tries to execute query ("create table if not exists...") and fails with the same error (SQLSyntaxErrorException: "ORA-00922: missing or invalid option"). Did you test this scenario? You can change jdbc driver for TcpDiscoveryJdbcIpFinderSelfTest and check the ip finder with Oracle. I think that checking the metadata it's good idea, but it will not work without changes init query (CREATE_ADDRS_TABLE_QRY). I propose to implement both of these ideas. Thoughts? > JDBC discovery uses non-standard SQL when creating table (not compatible with > Oracle) > ------------------------------------------------------------------------------------- > > Key: IGNITE-1993 > URL: https://issues.apache.org/jira/browse/IGNITE-1993 > Project: Ignite > Issue Type: Bug > Components: SQL > Affects Versions: ignite-1.4 > Environment: Oracle database > Reporter: Nigel Westbury > Labels: easyfix, patch > Fix For: 1.4 > > Attachments: IGNITE1993.patch > > > The SQL used by TcpDiscoveryJdbcIpFinder to create the table (defined by > CREATE_ADDRS_TABLE_QRY) uses 'if not exists' clause. However this clause is > not supported by Oracle and causes SQLSyntaxErrorException: "ORA-00922: > missing or invalid option" to be thrown. This prevents JDBC discovery from > being used with an Oracle database. -- This message was sent by Atlassian JIRA (v6.3.4#6332)