1

サーバー上のデータベースに接続するためのアプリを作成しています(データベースと通信するためにSQLを使用するAS400サーバー)。IBMは、jt400androidと呼ばれるjar内のサーバーにアクセスするためのJavaツールボックスを提供しています。

私はテスト機能を持っています:

protected void ConnectionTest()
{
      AS400 system = new AS400("jc400"); 
      try
      {
        system.connectService(AS400.RECORDACCESS);
      }
      catch(Exception e)
      {
        e.printStackTrace();
        System.exit(0);
      }
}

AS400は、com.ibm.as400.access。*のjt400android.jarに含まれている機能であり、ソケットプロトコル、接続、およびAS400マシンへの認証を処理します。(JDBCは明らかに良い方法ではないため、この方法を使用しました)。

コードは問題なくコンパイルされ、エラーや警告はありませんが、AVDでapkを実行すると、このエラーが発生します

03-12 22:44:30.300: E/dalvikvm(484): Could not find class 'com.ibm.as400.access.AS400', referenced from method jcpaper.android.jc400droid.MainActivity.ConnectionTest

フォーラムを検索して、次の提案を試しました。

  1. jarをJavaビルドパス>ライブラリに追加しました(これはコードをコンパイルするために行いました)
  2. Javaビルドパス>注文とエクスポートでjarをチェック
  3. [プロジェクトフォルダ]/libsにjarのコピーが含まれていました

私が同じ結果になるたびに、クラスエラーを見つけることができませんでした。

Eclipse for mobile(Juno v1)をWindows XPで実行しており、Android2.3.3用にビルドしています。

ここで何が起こっているかについての提案はありますか?

4

1 に答える 1

1

JTOpen Lite / JTLiteライブラリは、サーバーに接続するためのより良い方法を提供する場合があります。これらのライブラリーはIBMの新製品であり、Androidデバイスでの特定の使用のために設計されています。

JTOpen Lite-IBM Developer Works

JTOpen Lite Javadoc

ビルドパスに.jarを追加し、ライブラリを適切にエクスポートするようにしてください。

使用しようとしているレコードレベルのアクセス方法は、アプリケーションをDB2データベースに接続するための古い方法であるため、おそらくそれに関する情報を見つけるのに苦労するでしょう。

于 2013-03-21T03:54:34.650 に答える