2010-12-15 11 views
16

Android 2.3 JDBCがサポートされているため、アンドロイドでJDBC接続を試した人はいますか?AndroidでのJDBC接続

私はWebサービスなしでMysqlに接続する必要があります。

私は、アプリケーションを作っているが、それは私が私がのgetConnectionのエラーを取得しています

public class MysqlConnect extends Activity{ 
@Override 
public void onCreate(Bundle savedInstanceState) { 

super.onCreate(savedInstanceState); 
setContentView(R.layout.main); 
System.out.println("MySQL Connect Example."); 
Connection conn = null; 
String url = "jdbc:mysql://localhost:3306/"; 
String dbName = "jdbctutorial"; 
String driver = "com.mysql.jdbc.Driver"; 
String userName = "root"; 
String password = "root"; 
try { 
    Class.forName(driver).newInstance(); 
    conn = DriverManager.getConnection(url+dbName,userName,password); 
    System.out.println("Connected to the database"); 
    conn.close(); 
    System.out.println("Disconnected from database"); 
} catch (Exception e) { 
    e.printStackTrace(); 
} 
} 
} 

をエラー与えます。エラーはjava.lang.VerifyErrorと似ています。com.mysql.jdbc.MysqlIO

ありがとうございます。

+0

このスタックトレースを投稿できますか?$ – njzk2

+0

私の回答を読んでください。あなたはすべての痛みから解放されます。 – Behnam

答えて

3

VerifyErrorは、おそらくクラスファイルの署名が間違っているために発生します。ここ

チェック:

JDBCも同様に、以前のリリースに含まれていた - 重要な問題は、データベースのための適切なドライバクラスが含まれており、それを確認することですAndroidランタイムで動作することができます。

+0

こんにちは、お返事ありがとうございます。私はすでにアプリケーションにmysql-connector-javaを追加しています。 mysqlとjdbcの接続に成功した例はありますか? – djk

+0

"dx"プログラムからこのjarファイルを実行しましたか? –

+1

dxは必須ではありません。外部jarを追加すると、自動的に行われます。 – Monstieur

4

私はMySQLとOracleとSQL Serverに、JDBCとそれぞれのデータベースのデスクトップJavaアプリケーションに使用される通常のタイプ4ドライバを使用して、Androidデバイスから直接接続できました。

デスクトップJDBCサンプルを検索するだけです。同じコードはAndroidで何も変更せずに動作します。 Eclipseのプロジェクトにドライバの.jarファイルを追加してください。コンパイラは.jarドライバを自動的にDalvik互換パッケージに変換します。

+3

こんにちは、簡単に説明してください。多くの人がこれをやろうとしていますが、成功した結果は得られません。可能であれば、いくつかのコードスナップショットを使用して回答を編集してください。jarsはビルドなどに必要です。 – milind

+2

http:// pastebin。com/K42jvLJu ojdbc14.jarなどのそれぞれのタイプ4ドライバを外部JARとしてプロジェクトに追加するだけです。 – Monstieur

+0

私はまだ同じVerifyErrorを持っています。 ADT v22とAndroidプラットフォーム19を使用しました。ojdbc14(jtds.jarの有無にかかわらず試しました)を含めました。 3日間の痛みは今...任意のヘルプ@クリアン –

0

私は同様の問題がありました。メインではない新しいスレッドから接続コードを実行し、ローカルホストのサーバーアドレスを変更しようとしました。

1

私は同じ問題を持っていた、二つのことは、私の問題を解決しました:

  1. あなたはBURNのBURNを燃焼する 他の賢明な、AsyncTaskであなたのJDBC接続コードを入れて覚えておく必要があります!

  2. 「インターネットを使用する」許可の「インターネット」アクセス許可を誤ってはなりません。 JDBCを実行するには後者が必要です。

上記のいずれも問題が解決しない場合は、警告行の「原因」で始まるlogcat行を確認してください。そのラインをグーグルで調べれば、解決策を見つけ出すことができます。