質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Embulk

Embulkは、CSVデータやアクセスログなどの構造化データを高い信頼性で転送することができる、プラグインベースのバルクデータローダーです。

BigQuery

BigQueryは、Google Cloud Platformが提供しているビッグデータ解析サービス。数TB(テラバイト)またはPB(ペタバイト)の膨大なデータに対し、SQL風のクエリを実行し、高速で集計・分析を行うサービスです。

Q&A

解決済

1回答

1146閲覧

embulkでのpreview時にoracle jdbc driverエラー発生

raccoondog

総合スコア77

Embulk

Embulkは、CSVデータやアクセスログなどの構造化データを高い信頼性で転送することができる、プラグインベースのバルクデータローダーです。

BigQuery

BigQueryは、Google Cloud Platformが提供しているビッグデータ解析サービス。数TB(テラバイト)またはPB(ペタバイト)の膨大なデータに対し、SQL風のクエリを実行し、高速で集計・分析を行うサービスです。

0グッド

0クリップ

投稿2018/11/06 01:10

編集2018/11/06 02:38

embulkでのpreview時にoracle jdbc driverエラーが発生しました。
原因を知りたいです。

プラグインは以下導入済みです。

embulk-input-jdbc-0.9.3.gem
embulk-input-oracle-0.9.3.gem
embulk-output-jdbc-0.7.13.gem
embulk-output-oracle-0.8.0.gem

※エラー

>embulk-0.9.8.bat preview config_bq.yml 2018-11-06 10:00:58.434 +0900: Embulk v0.9.8 2018-11-06 10:00:59.120 +0900 [WARN] (main): DEPRECATION: JRuby org.jruby.embed.ScriptingContainer is directly injected. 2018-11-06 10:01:01.289 +0900 [INFO] (main): Gem's home and path are set by default: "C:\Users\yazaki.embulk\lib\gems" 2018-11-06 10:01:01.991 +0900 [INFO] (main): Started Embulk v0.9.8 2018-11-06 10:01:02.053 +0900 [INFO] (0001:preview): Loaded plugin embulk-input-oracle (0.9.3) 2018-11-06 10:01:02.084 +0900 [INFO] (0001:preview): Connecting to jdbc:oracle:thin:@10.1.52.109:1521:ORCL options {oracle.jdbc.ReadTimeout=1800000, user=system, password=***, oracle.net.CONNECT_TIMEOUT=300000} java.lang.RuntimeException: java.lang.ClassNotFoundException: oracle.jdbc.OracleDriver at org.embulk.input.OracleInputPlugin.newConnection(OracleInputPlugin.java:122) at org.embulk.input.jdbc.AbstractJdbcInputPlugin.transaction(AbstractJdbcInputPlugin.java:197) at org.embulk.exec.PreviewExecutor.doPreview(PreviewExecutor.java:118) at org.embulk.exec.PreviewExecutor.doPreview(PreviewExecutor.java:106) at org.embulk.exec.PreviewExecutor.access$000(PreviewExecutor.java:29) at org.embulk.exec.PreviewExecutor$1.run(PreviewExecutor.java:73) at org.embulk.exec.PreviewExecutor$1.run(PreviewExecutor.java:70) at org.embulk.spi.Exec.doWith(Exec.java:22) at org.embulk.exec.PreviewExecutor.preview(PreviewExecutor.java:70) at org.embulk.EmbulkEmbed.preview(EmbulkEmbed.java:151) at org.embulk.EmbulkRunner.previewInternal(EmbulkRunner.java:215) at org.embulk.EmbulkRunner.preview(EmbulkRunner.java:107) at org.embulk.cli.EmbulkRun.runSubcommand(EmbulkRun.java:433) at org.embulk.cli.EmbulkRun.run(EmbulkRun.java:91) at org.embulk.cli.Main.main(Main.java:26) Caused by: java.lang.ClassNotFoundException: oracle.jdbc.OracleDriver at org.embulk.plugin.PluginClassLoader.loadClass(PluginClassLoader.java:283) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Unknown Source) at org.embulk.input.OracleInputPlugin.newConnection(OracleInputPlugin.java:120) ... 14 more Error: java.lang.ClassNotFoundException: oracle.jdbc.OracleDriver

※追記 YMLファイルの内容を記載させて頂きます。

>type seed_bq.yml in: type: oracle host: xxxx user: xxxx password: xxxx database: xxx table: INPUT_TEST select: ID,NUM, created, modified out: type: bigquery project: fluid-emissary-216806 dataset: embulk_test auto_create_table: true table: users
>type config_bq.yml in: {type: oracle, host: xxxxx, user: system, password: xxxx, database: ORCL, table: INPUT_TEST, select: 'ID,NUM, created, modified'} out: {type: bigquery, project: fluid-emissary-216806, dataset: embulk_test, auto_create_table: true, table: users}

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

sazi

2018/11/06 01:31

ドライバーが無いというエラーだから、ymlの内容も質問に追記された方がいいですよ。
yoorwm

2018/11/06 01:31

oracle.jdbc.OracleDriverが無いという事なので、ひょっとしたらOracleのページからドライバを手に入れてくる必要があるのではないでしょうか?
raccoondog

2018/11/06 01:44

ご指摘有難うございます。
raccoondog

2018/11/06 01:47 編集

YMLファイルの内容を記載させて頂きます。 >type seed_bq.yml in: type: oracle host: 10.1.52.109 user: system password: yazaki database: ORCL table: INPUT_TEST select: ID,NUM, created, modified out: type: bigquery project: fluid-emissary-216806 dataset: embulk_test auto_create_table: true table: users >type config_bq.yml in: {type: oracle, host: 10.1.52.109, user: system, password: yazaki, database: ORCL, table: INPUT_TEST, select: 'ID,NUM, created, modified'} out: {type: bigquery, project: fluid-emissary-216806, dataset: embulk_test, auto_create_table: true, table: users}
sazi

2018/11/06 02:12

コメントだと見辛いし、気付かないので、質問に編集して下さい
raccoondog

2018/11/06 02:19

ご指摘有難うございます。質問内容を編集させて頂きました。
sazi

2018/11/06 02:28 編集

IP、ユーザー、パスワードとかはマスクされた方が良いですね。編集履歴には残ってしまいますけど・・・
guest

回答1

0

ベストアンサー

embulk-input-oracleを使用されたいのだと思いますが、こちらのサンプルには、driver_pathの指定があるようですので、指定してみて下さい。

Example in: type: oracle driver_path: /opt/oracle/ojdbc7.jar host: localhost user: myuser password: "" database: my_database table: my_table select: "col1, col2, col3" where: "col4 != 'a'" order_by: "col1 DESC"

※0.9.3なのでこちらでしょうか?
何れにしても、driver_pathは必要みたいですね。

投稿2018/11/06 02:24

編集2018/11/06 02:36
sazi

総合スコア25173

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

raccoondog

2018/11/06 02:39 編集

ご回答有難うございます。 ymlファイルにdriverpathを追加し、上記エラーは解消されました。 seed_bq.ymlファイル in: type: oracle driver_path: C:\Users\yazaki\Desktop\embulkDB\product\12.2.0\dbhome_1\sqldeveloper\jdbc\lib\ojdbc7.jar host: xxxx user: xxx password: xxxx database: xxx table: INPUT_TEST select: ID,NUM, created, modified out: type: bigquery project: fluid-emissary-216806 dataset: embulk_test auto_create_table: true table: users その後、再実行をしますと以下のエラーが出力されまして、原因調査中となります。 >embulk-0.9.8.bat preview config_bq.yml 2018-11-06 11:29:35.335 +0900: Embulk v0.9.8 2018-11-06 11:29:36.029 +0900 [WARN] (main): DEPRECATION: JRuby org.jruby.embed.ScriptingContainer is directly injected. 2018-11-06 11:29:38.218 +0900 [INFO] (main): Gem's home and path are set by default: "C:\Users\yazaki.embulk\lib\gems" 2018-11-06 11:29:38.942 +0900 [INFO] (main): Started Embulk v0.9.8 2018-11-06 11:29:39.015 +0900 [INFO] (0001:preview): Loaded plugin embulk-input-oracle (0.9.3) 2018-11-06 11:29:39.047 +0900 [INFO] (0001:preview): Connecting to jdbc:oracle:thin:@10.1.52.109:1521:ORCL options {oracle.jdbc.ReadTimeout=1800000, user=system, password=***, oracle.net.CONNECT_TIMEOUT=300000} java.lang.RuntimeException: java.sql.SQLRecoverableException: IOエラー: The Network Adapter could not establish the connection at com.google.common.base.Throwables.propagate(Throwables.java:160) at org.embulk.input.jdbc.AbstractJdbcInputPlugin.transaction(AbstractJdbcInputPlugin.java:203) at org.embulk.exec.PreviewExecutor.doPreview(PreviewExecutor.java:118) at org.embulk.exec.PreviewExecutor.doPreview(PreviewExecutor.java:106) at org.embulk.exec.PreviewExecutor.access$000(PreviewExecutor.java:29) at org.embulk.exec.PreviewExecutor$1.run(PreviewExecutor.java:73) at org.embulk.exec.PreviewExecutor$1.run(PreviewExecutor.java:70) at org.embulk.spi.Exec.doWith(Exec.java:22) at org.embulk.exec.PreviewExecutor.preview(PreviewExecutor.java:70) at org.embulk.EmbulkEmbed.preview(EmbulkEmbed.java:151) at org.embulk.EmbulkRunner.previewInternal(EmbulkRunner.java:215) at org.embulk.EmbulkRunner.preview(EmbulkRunner.java:107) at org.embulk.cli.EmbulkRun.runSubcommand(EmbulkRun.java:433) at org.embulk.cli.EmbulkRun.run(EmbulkRun.java:91) at org.embulk.cli.Main.main(Main.java:26) Caused by: java.sql.SQLRecoverableException: IOエラー: The Network Adapter could not establish the connection at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:743) at oracle.jdbc.driver.PhysicalConnection.connect(PhysicalConnection.java:666) at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:32) at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:566) at java.sql.DriverManager.getConnection(Unknown Source) at java.sql.DriverManager.getConnection(Unknown Source) at org.embulk.input.OracleInputPlugin.newConnection(OracleInputPlugin.java:125) at org.embulk.input.jdbc.AbstractJdbcInputPlugin.transaction(AbstractJdbcInputPlugin.java:197) ... 13 more Caused by: oracle.net.ns.NetException: The Network Adapter could not establish the connection at oracle.net.nt.ConnStrategy.execute(ConnStrategy.java:475) at oracle.net.resolver.AddrResolution.resolveAndExecute(AddrResolution.java:506) at oracle.net.ns.NSProtocol.establishConnection(NSProtocol.java:595) at oracle.net.ns.NSProtocol.connect(NSProtocol.java:230) at oracle.jdbc.driver.T4CConnection.connect(T4CConnection.java:1452) at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:496) ... 20 more Caused by: java.net.ConnectException: Connection timed out: connect at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method) at java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source) at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source) at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source) at java.net.AbstractPlainSocketImpl.connect(Unknown Source) at java.net.PlainSocketImpl.connect(Unknown Source) at java.net.SocksSocketImpl.connect(Unknown Source) at java.net.Socket.connect(Unknown Source) at oracle.net.nt.TcpNTAdapter.connect(TcpNTAdapter.java:161)
sazi

2018/11/06 02:44 編集

リスナーが起動してないとか、ポートがファイヤウォールで閉じているとか
raccoondog

2018/11/06 03:08

oracle listnerと、使用ポートの状態を確認したところ、正常となっておりました。 C:\WINDOWS\system32>netstat -anb | find "1521" TCP 0.0.0.0:1521 0.0.0.0:0 LISTENING TCP [::]:1521 [::]:0 LISTENING TCP [fe80::e57a:6987:8cfd:3580%13]:1521 [fe80::e57a:6987:8cfd:3580%13]:49740 ESTABLISHED TCP [fe80::e57a:6987:8cfd:3580%13]:49740 [fe80::e57a:6987:8cfd:3580%13]:1521 ESTABLISHED LSNRCTL> status (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=A0430-02396)(PORT=1521)))に接続中 リスナーのステータス ------------------------ 別名 LISTENER バージョン TNSLSNR for 64-bit Windows: Version 12.2.0.1.0 - Production 開始日 02-11月-2018 10:18:56 稼働時間 4 日 1 時間 25 分 4 秒 トレース・レベル off セキュリティ ON: Local OS Authentication SNMP OFF パラメータ・ファイル C:\Users\yazaki\Desktop\embulkDB\product\12.2.0\dbhome_1\network\admin\listener.ora ログ・ファイル C:\Users\yazaki\Desktop\embulkDB\diag\tnslsnr\A0430-02396\listener\alert\log.xml リスニング・エンドポイントのサマリー... (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=A0430-02396)(PORT=1521))) (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\.\pipe\EXTPROC1521ipc))) (DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(HOST=A0430-02396)(PORT=5500))(Security=(my_wallet_directory=C:\USERS\YAZAKI\DESKTOP\EMBULKDB\admin\orcl\xdb_wallet))(Presentation=HTTP)(Session=RAW)) サービスのサマリー... サービス"10148fbff24a47018e5060251af8a182"には、1件のインスタンスがあります。 インスタンス"orcl"、状態READYには、このサービスに対する1件のハンドラがあります... サービス"CLRExtProc"には、1件のインスタンスがあります。 インスタンス"CLRExtProc"、状態UNKNOWNには、このサービスに対する1件のハンドラがあります... サービス"orcl"には、1件のインスタンスがあります。 インスタンス"orcl"、状態READYには、このサービスに対する1件のハンドラがあります... サービス"orclXDB"には、1件のインスタンスがあります。 インスタンス"orcl"、状態READYには、このサービスに対する1件のハンドラがあります... サービス"orclpdb"には、1件のインスタンスがあります。 インスタンス"orcl"、状態READYには、このサービスに対する1件のハンドラがあります... コマンドは正常に終了しました。 LSNRCTL>
sazi

2018/11/06 03:10

環境の話ですし、質問に関してはもう関係ないですね。 必要でしたら、別質問の方が良いかと思います。
raccoondog

2018/11/06 03:15

ご回答有難うございました。 ymlファイルのhostパラメータ箇所をIPアドレスではなく、ホスト名に変更後、正常に動きました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問