質問者
Azure上にデプロイしたWebアプリからAzure SQL Databaseに接続できない

質問
-
初めて質問させていただきます。個人でAzureを使用してWebアプリ開発の勉強をしております。
JavaでWebアプリを開発しております。
Azureにデプロイした状態でAzure SQL Databaseに接続しようとすると接続できないという状態です。
自端末で実行し、同DBに接続することは可能ですが、Azureにデプロイすると接続することができなくなります。
7月あたりにデプロイした時は問題なく接続できたのですが、開発を進める中で接続できなくなってしまいました。
まだ始めたばかりでAzureにあげた後の不具合をログなどで確認する方法も分からなく、
行き詰まってしまったため、質問させていただきました。
(出来るだけお金をかけずにサービス利用をあまりしていないので分からないのかもしれませんが。。)後学のためにもAzure上にデプロイした後の不具合の確認方法も含めて、ご教授いただきたいです。
すべての返信
-
お早いご返信ありがとうございます、、!
以下、上記事象が起こった際にブラウザ上に表示された、例外と原因内容を記載します。
(個別でエラー用のページを用意していたことを忘れており、改めて確認してみました、、)ーーーーーーーーーーーーーーーー
例外:
javax.servlet.ServletException: Servlet execution threw an exception
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
com.microsoft.applicationinsights.web.internal.WebRequestTrackingFilter.doFilter(WebRequestTrackingFilter.java:138)原因:
java.lang.UnsupportedClassVersionError: com/microsoft/sqlserver/jdbc/SQLServerDriver has been compiled by a more recent version of the Java Runtime (class file version 55.0),
this version of the Java Runtime only recognizes class file versions up to 52.0 (unable to load class [com.microsoft.sqlserver.jdbc.SQLServerDriver])
ーーーーーーーーーーーーーーーー
原因の内容を見る限りJDBCのバージョンが適切でないのが原因でしょうか、、 -
Azure 上の Java Web アプリとか SQL Server とかは全く知らない自分がレスするのもなんですが・・・
エラーメッセージは「SQLServerDriver はバージョン 55 でコンパイルされているが、バージョン 52 までしか認識しないランタイムで実行したからロードできない」と言ってます。
エラーメッセージでググってみると java の世界では FAQ ようで、いろいろヒットします。例えば下記:
How to Fix java.lang.UnsupportedClassVersionError
https://www.baeldung.com/java-lang-unsupportedclassversionちなみに、上の記事によると 52 = Java 8、55 = Java 11 だそうです。
質問者さん、自分でググって調べてヒットする記事を読んで関係ありそうなところに対応を取った上で質問してますか? もしそうでなければ是非やってみましょう。
以下は単なる想像ですが、
> 7月あたりにデプロイした時は問題なく接続できたのですが、開発を進める中で接続できなくなってしまいました。
・・・だそうですので、質問者さんが何かしたのは間違いなさそうですが、ドライバーをアップデートしたとかいうことはないですか?
> バージョン:7.2.2.jre8
と書いてありましたが、mssql-jdbc-7.2.2.jre11.jar というのがあって、Requires a Java Runtime Environment (JRE) 11.0. Using JRE 10.0 or lower throws an exception. だそうです。
System requirements for the JDBC driver
https://docs.microsoft.com/ja-jp/sql/connect/jdbc/system-requirements-for-the-jdbc-driver?view=sql-server-2017- 編集済み SurferOnWww 2019年9月15日 2:54 誤字訂正