各製品の資料を入手。
詳細はこちら →Jetty コネクションプールからSybase のデータに連携。
CData JDBC Driver は、コネクションプーリングをサポートします:本記事では、Jetty のWeb アプリからSybase のデータに連携する手順を説明します。
最終更新日:2023-06-18
この記事で実現できるSybase 連携のシナリオ
こんにちは!ウェブ担当の加藤です。マーケ関連のデータ分析や整備もやっています。
CData JDBC Driver for Sybase は、Java Web アプリケーションに簡単に統合して利用することができます。本記事では、Jetty でドライバーをコネクションプールとして設定することで、効率的にSybase のデータをアプリケーションで連携利用する方法を説明します。Jetty でJNDI resource for Sybase を設定します。
DBC Driver for Sybase を JNDI Data Source として設定
次の手順で、Jetty とSybase の接続を確立します。
Jetty ベースでJNDI モジュールを有効化します。JNDI を有効化するコマンドラインは以下の通り:
java -jar ../start.jar --add-to-startd=jndi
- JDBC Driver の.jar ファイルと.lic ファイル(インストールディレクトリのlib フォルダ下)をcontext path のlib フォルダに配置します。
-
リソースおよびスコープを宣言します。リソース宣言で必要な接続プロパティを入力します。この例では、Sybase のデータソースをWeb アプリケーションのWEB-INF\jetty-env.xml レベルにdeclare しています。
<Configure id='sybasedemo' class="org.eclipse.jetty.webapp.WebAppContext"> <New id="sybasedemo" class="org.eclipse.jetty.plus.jndi.Resource"> <Arg><Ref refid="sybasedemo"/></Arg> <Arg>jdbc/sybasedb</Arg> <Arg> <New class="cdata.jdbc.sybase.SybaseDriver"> <Set name="url">jdbc:sybase:</Set> <Set name="User">myuser</Set> <Set name="Password">mypassword</Set> <Set name="Server">localhost</Set> <Set name="Database">mydatabase</Set> <Set name="Charset">iso_1</Set> </New> </Arg> </New> </Configure>
Sybase は、Basic 認証、Kerberos 認証、LDAP 認証などの認証方法をいくつかサポートしています。
Basic 認証を使用した接続
次を設定してデータを認証し接続します。User およびPassword を設定してSybaseIQ 認証を使用します。
- User:認証Sybase ユーザーのユーザー名に設定。
- Password:認証Sybase ユーザーのパスワードに設定。
- Server:SybaseIQ またはSAP SQL Anywhere データベースインスタンスの名前またはネットワークアドレスに設定。
- Database:指定されたサーバーで実行されているSybaseIQ またはSAP SQL Anywhere データベースの名前に設定。
オプションで、UseSSL をtrue に設定することにより、TLS/SSL で接続を保護できます。
Note: 上記のCData 製品 設定でSAP SQL Anywhere のインスタンスに接続することもできます。
Kerberos 認証を使用した接続
Kerberos 認証を活用するには、次の接続プロパティを使用してそれを有効にすることから始めます。
- AuthScheme:Kerberos に設定すると、Sybase への認証に使用されます。
Kerberos 認証用に設定する必要がある接続プロパティに関しては、Kerberos の使用 情報を参照してください。
以下は接続文字列の例です。
Server=MyServer;Port=MyPort;User=SampleUser;Password=SamplePassword;Database=MyDB;Kerberos=true;KerberosKDC=MyKDC;KerberosRealm=MYREALM.COM;KerberosSPN=server-name
LDAP 認証を使用した接続
LDAP 認証で接続するには、LDAP 認証メカニズムを使用するようにSybase サーバーサイドを設定する必要があります。
LDAP 用にSybase を設定したら、Basic 認証と同じクレデンシャルを使用して接続できます。
-
Web xml でリソースを設定します:
jdbc/sybasedb javax.sql.DataSource Container -
これで、java:comp/env/jdbc/sybasedb へのルックアップでSybase のデータにアクセスできます:
InitialContext ctx = new InitialContext(); DataSource mysybase = (DataSource)ctx.lookup("java:comp/env/jdbc/sybasedb");
Jetty にさらに統合
ここでは、シンプルなコネクションプーリングシナリオでのドライバーの接続について説明しました。追加での連携ケースについては、Jetty ドキュメントのWorking with Jetty JNDI 参照してください。