2

AndroidでSqlServer2008 r2接続を行っています。

私のコードは次のとおりです。

public class MainActivity extends Activity {


    String url="jdbc:sqlserver://localhost;instance=14GRAFICALI\\MSSQLSERVER2008;databaseName=AndroidDB;integrated security=true";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);


        TextView tvData=(TextView)findViewById(R.id.tvSelectedData);

        try {
            Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance();
            Connection conn =DriverManager.getConnection(url);                   

            System.out.println("connected");
            Statement statement=conn.createStatement();
            ResultSet resultSet=statement.executeQuery("select * from AndroidDB");
            while(resultSet.next()){
                tvData.setText(" Data1 : "+resultSet.getString(1)+"  Data 2 : "+resultSet.getNString(2));
            }

        } catch (Exception e) {
            e.printStackTrace();
        }
    }

このコードは機能せず、オンラインでエラーが発生します:

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance();

エラー:

java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver

しかし、このパスを確認すると、上記のパスにファイルがありました。

それを見てください:

ここに画像の説明を入力

何が問題になる可能性がありますか?

私を助けてください。

編集

Javaビルドパス:ここに画像の説明を入力

ライブラリ:

ここに画像の説明を入力

4

4 に答える 4

1

Microsoft msdn フォーラムのこのスレッドによると、別の JDBC ドライバーを使用しても機能するはずです。私はそれを自分でテストしていません。

于 2013-09-06T10:42:23.997 に答える
1

here で説明されているように、クラスパスに SQLServerDriver クラスを含む jar があることを確認してください。

Eclipse を使用している場合は、プロジェクトを右クリックし、[Java ビルド パス] の [ライブラリ] タブで、jar が存在し、同じ jar の他のバージョンが存在しないかどうかを確認します。

于 2013-09-06T10:37:55.630 に答える
1

CLASSPATH 変数は、Java 仮想マシン (JVM) がコンピューター上の JDBC ドライバーを見つけるために使用する検索文字列です。ドライバーが CLASSPATH 変数にリストされていない場合、ドライバーをロードしようとすると、次のエラー メッセージが表示されます。 java.lang.ClassNotFoundException: com/microsoft/jdbc/sqlserver/SQLServerDriver

JDBC ドライバーは Java SDK の一部ではありません。これを使用する場合は、sqljdbc.jar ファイルまたは sqljdbc4.jar ファイルを含めるようにクラスパスを設定する必要があります。クラスパスに sqljdbc.jar または sqljdbc4.jar のエントリがない場合、アプリケーションは一般的な「クラスが見つかりません」例外をスローします。

sqljdbc.jar ファイルと sqljdbc4.jar ファイルは、次の場所にインストールされます。

<installation directory>\sqljdbc_<version>\<language>\sqljdbc.jar
<installation directory>\sqljdbc_<version>\<language>\sqljdbc4.jar

以下は、Windows アプリケーションに使用される CLASSPATH ステートメントの例です。

CLASSPATH =.;C:\Program Files\Microsoft JDBC Driver 4.0 for SQL Server\sqljdbc_4.0\enu\sqljdbc.jar 

以下は、Unix/Linux アプリケーションに使用される CLASSPATH ステートメントの例です。

CLASSPATH =.:/home/usr1/mssqlserverjdbc/Driver/sqljdbc_4.0/enu/sqljdbc.jar 

CLASSPATH ステートメントに含まれる Microsoft JDBC Driver for SQL Server (sqljdbc.jar または sqljdbc4.jar など) が 1 つだけであることを確認する必要があります。

于 2013-09-06T10:48:03.263 に答える