4
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

SQLcl 4.2(あるいは12.2バンドルのSQLcl)でエラー

Posted at

エラーの内容

SQLcl: Release 4.2.0

起動時に「Unsupported major.minor version 51.0」が発生する。

$ sql
Exception in thread "main" java.lang.UnsupportedClassVersionError: oracle/dbtools/raptor/scriptrunner/cmdline/SqlCli : Unsupported major.minor version 51.0
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClassCond(ClassLoader.java:637)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:621)
        a'''
        
        java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
        at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
Could not find the main class: oracle.dbtools.raptor.scriptrunner.cmdline.SqlCli.  Program will exit.

Oracle Database 12.2にバンドルされてるSQLcl(Release 12.2.0.1.0 RC)

接続時に「Error Message = No suitable driver found for jdbc:oracle:oci8:@」が発生する。

$ sql

SQLcl: Release 12.2.0.1.0 RC on Sat Mar 11 11:16:16 2017

Copyright (c) 1982, 2017, Oracle.  All rights reserved.

Username? (''?) system
Password? (**********?) *********
  USER          = system
  URL           = jdbc:oracle:oci8:@
  Error Message = No suitable driver found for jdbc:oracle:oci8:@
  USER          = system
  URL           = jdbc:oracle:thin:@127.0.0.1:1521:ORCL
  Error Message = No suitable driver found for jdbc:oracle:thin:@127.0.0.1:1521:ORCL
  USER          = system
  URL           = jdbc:oracle:thin:@localhost:1521/orcl
  Error Message = No suitable driver found for jdbc:oracle:thin:@localhost:1521/orcl
Username? (RETRYING) ('system/*********'?)
Warning: You are no longer connected to ORACLE.

なんでか

SQLcl 4.2ではJRE8以上が必要です。

SQLclの入手方法を教えてください。
OTNから.ZIPファイルをダウンロードして、展開します。ターミナル/コマンド・セッションを起動して、\binディレクトリの‘SQL’プログラムを実行します。Java Runtime Engine(JRE)8以上がマシンにインストールされている場合は、これで使用できます。

どうするか

JAVA_HOMEにJRE8が含まれるディレクトリを指定して、SQLclを起動する。
Oracle Database12.2ではORACLE_HOME以下のJavaはJRE8なのでこれを指定します。

export JAVA_HOME=/u01/app/oracle/product/java/jdk1.8.0_74

12.2の場合以下でもOKです。

export JAVA_HOME=$ORACLE_HOME/jdk

参考

"No suitable driver found" for sqlcl on Oracle Public Cloud 12.2
https://community.oracle.com/thread/3989815

"Oracle SQLcl"を使ってみる
http://qiita.com/mon_tu/items/da3333590847fdfb1672

Oracle SQL Developerコマンドライン(SQLcl)
http://www.oracle.com/technetwork/jp/developer-tools/sqlcl/downloads/sqlcl-faq-3014678-ja.html

4
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?