Re: SQLcl 24.3 java issues
Date: Fri, 8 Nov 2024 12:40:24 -0800
Message-ID: <CAKsxbLoPJFs5i1e7JKnk7-XchBBagNtO3ovr==4ZTm-yTYv0AQ_at_mail.gmail.com>
Thanks for that help about Boolean issue. I put ojdbc11.jar original file
back. But now I don't know how to get around this issue when I try to
connect to an instance.
sql user/password_at_database
*Error Message = no ocijdbc23 in java.library.path*
On Fri, Nov 8, 2024 at 4:23 AM Mikhail Velikikh <mvelikikh_at_gmail.com> wrote:
> Also I had to copy ojdbc11.jar from my 21c client folder over to my
>> c:\sqlcl\lib folder.
>
>
> ojdbc11.jar that comes with 21.3 client does not include the
> oracle/sql/BOOLEAN Java class whereas the ojdbc11.jar shipped with SQLcl
> 24.3 does:
>
> [oracle_at_myhostname lib]$ unzip -l ojdbc11.jar.client21
> oracle/sql/BOOLEAN.class
> Archive: ojdbc11.jar.client21
>
> Length Date Time Name
>
> --------- ---------- ----- ----
>
> --------- -------
>
> 0 0 files
>
> [oracle_at_myhostname lib]$ unzip -l ojdbc11.jar.sqlcl
> oracle/sql/BOOLEAN.class
> Archive: ojdbc11.jar.sqlcl
>
> Length Date Time Name
>
> --------- ---------- ----- ----
>
> 1914 07-03-2024 05:14 oracle/sql/BOOLEAN.class
>
> --------- -------
>
> 1914 1 file
>
>
> That is why you are getting this error, which I also reproduced on Linux.
> You need to copy ojdbc11.jar back and resolve any issues from there.
>
> SQLcl 24.3 (24.3.0.285.0530) is perfectly fine using OCI JDBC coming from
> Oracle Client 21c on Linux.
> I forced a "thick" connection by using the `-thick` flag and can run
> queries without any issues.
> I also confirmed that SQLcl uses the OCI JDBC 21 library:
>
> [oracle_at_myhostname lib]$ lsof -p 21310 | grep ocijdbc
> java 21310 oracle mem REG 252,0 153584 78071644
> /u01/app/oracle/tmp/client21/lib/libocijdbc21.so
>
> On Windows it would be some DLL obviously.
> Rather than trying to resolve OCI library issues (check your environment
> variables first and then ensure that the library is present), you might as
> well use the local JDBC driver (it can be forced via the `-thin` flag).
>
> On Thu, 7 Nov 2024 at 22:58, Jeff Chirco <backseatdba_at_gmail.com> wrote:
>
>> I am able to connect to my database with SQLCL 24.3 but as soon as I
>> execute any query I get this error message and it disconnects me. Windows
>> 11, running 21c client, not instance client. Any one encounter this before?
>>
>> Running java:
>> openjdk 23.0.1 2024-10-15
>> OpenJDK Runtime Environment (build 23.0.1+11-39)
>> OpenJDK 64-Bit Server VM (build 23.0.1+11-39, mixed mode, sharing)
>>
>> I've also tried regular Java from Oracle and get the same result.
>>
>> Exception in thread "main" java.lang.NoClassDefFoundError:
>> oracle/sql/BOOLEAN
>> at
>> oracle.dbtools.raptor.nls.OracleNLSProvider.format(OracleNLSProvider.java:212)
>> at oracle.dbtools.raptor.utils.NLSUtils.format(NLSUtils.java:187)
>> at
>> oracle.dbtools.raptor.format.ANSIConsoleFormatter.printColumn(ANSIConsoleFormatter.java:168)
>> at
>> oracle.dbtools.raptor.format.ResultSetFormatterWrapper.print(ResultSetFormatterWrapper.java:280)
>> at
>> oracle.dbtools.raptor.format.ResultSetFormatterWrapper.print(ResultSetFormatterWrapper.java:228)
>> at
>> oracle.dbtools.raptor.format.ResultsFormatter.print(ResultsFormatter.java:519)
>> at
>> oracle.dbtools.db.ResultSetFormatter.formatResults(ResultSetFormatter.java:137)
>> at
>> oracle.dbtools.db.ResultSetFormatter.formatResults(ResultSetFormatter.java:72)
>> at
>> oracle.dbtools.raptor.newscriptrunner.SQL.processResultSet(SQL.java:920)
>> at oracle.dbtools.raptor.newscriptrunner.SQL.executeQuery(SQL.java:822)
>> at oracle.dbtools.raptor.newscriptrunner.SQL.run(SQL.java:100)
>> at
>> oracle.dbtools.raptor.newscriptrunner.ScriptRunner.runSQL(ScriptRunner.java:439)
>> at
>> oracle.dbtools.raptor.newscriptrunner.ScriptRunner.lambda$run$0(ScriptRunner.java:249)
>> at
>> oracle.dbtools.raptor.newscriptrunner.ScriptRunnerContext.runWithStoredContext(ScriptRunnerContext.java:833)
>> at
>> oracle.dbtools.raptor.newscriptrunner.ScriptRunner.run(ScriptRunner.java:119)
>> at
>> oracle.dbtools.raptor.newscriptrunner.ScriptExecutor.run(ScriptExecutor.java:364)
>> at
>> oracle.dbtools.raptor.newscriptrunner.ScriptExecutor.run(ScriptExecutor.java:245)
>> at
>> oracle.dbtools.raptor.scriptrunner.cmdline.SqlCli.processLine(SqlCli.java:1223)
>> at
>> oracle.dbtools.raptor.scriptrunner.cmdline.SqlCli.runSqlcl(SqlCli.java:1401)
>> at oracle.dbtools.raptor.scriptrunner.cmdline.SqlCli.main(SqlCli.java:370)
>> Caused by: java.lang.ClassNotFoundException: oracle.sql.BOOLEAN
>> at
>> java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)
>> at
>> java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
>> at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:528)
>> ... 20 more
>>
>>
>>
>> Also I had to copy ojdbc11.jar from my 21c client folder over to my
>> c:\sqlcl\lib folder. Before I did that I would get this while trying to
>> connect. Doing that solved that issue.
>>
>> Error Message = no ocijdbc23 in java.library.path:
>>
>>
-- http://www.freelists.org/webpage/oracle-lReceived on Fri Nov 08 2024 - 21:40:24 CET