説明 デバッグモードで、Android用のこのコードが次の行を処理するときにEclipseを使用する場合:con = DriverManager.getConnection(connectionUrl); Logcatで次のようなエラーが発生します。
エラー
Could not find class 'java.sql.SQLFeatureNotSupportedException', referenced from method com.microsoft.sqlserver.jdbc.SQLServerConnection.createArrayOf
02-09 08:15:46.325: W/dalvikvm(367): VFY: unable to resolve new-instance 828 (Ljava/sql/SQLFeatureNotSupportedException;) in Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
02-09 08:15:46.325: D/dalvikvm(367): VFY: replacing opcode 0x22 at 0x0003
02-09 08:15:46.325: D/dalvikvm(367): VFY: dead code 0x0005-000e in Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;.createArrayOf (Ljava/lang/String;[Ljava/lang/Object;)Ljava/sql/Array;
02-09 08:15:46.385: I/dalvikvm(367): Failed resolving Lcom/microsoft/sqlserver/jdbc/SQLServerNClob; interface 818 'Ljava/sql/NClob;'
02-09 08:15:46.385: W/dalvikvm(367): Link of class 'Lcom/microsoft/sqlserver/jdbc/SQLServerNClob;' failed
02-09 08:15:46.395: E/dalvikvm(367): Could not find class 'com.microsoft.sqlserver.jdbc.SQLServerNClob', referenced from method com.microsoft.sqlserver.jdbc.SQLServerConnection.createNClob
02-09 08:15:46.395: W/dalvikvm(367): VFY: unable to resolve new-instance 563 (Lcom/microsoft/sqlserver/jdbc/SQLServerNClob;) in Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
コード これは、このクラスの一部にすぎません。
import java.sql.*;
public class ConnectURL {
public static void main() {
// Create a variable for the connection string.
String connectionUrl = "jdbc:sqlserver://192.168.1.20:1433;" +
"databaseName=BD;user=sa;password=pass1;integratedSecurity=true;";
// Declare the JDBC objects.
Connection con = null;
Statement stmt = null;
ResultSet rs = null;
try {
// Establish the connection.
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
con = DriverManager.getConnection(connectionUrl);
....
注Microsoftsqlserverjdbc 4.0をフォルダーにダウンロードしました。このプロジェクトには、このルートのJavaビルドパスがあります。