package sqlselection;
import Java.sql.Connection;
import Java.sql.DriverManager;
import Java.sql.ResultSet;
import Java.sql.Statement;
public class Sqlselection
{
public static void main(String[] args)
{
try
{
Class.forName("com.Microsoft.jdbc.sqlserver.SQLServerDriver");
String userName = "sa";
String password = "password";
String url = "jdbc:Microsoft:sqlserver://localhost:1433"+";databaseName=AdventureWorks2008R2";
Connection con = DriverManager.getConnection(url, userName, password);
Statement s1 = con.createStatement();
ResultSet rs = s1.executeQuery("SELECT TOP 1 * FROM HumanResources.Employee");
String[] result = new String[20];
if(rs!=null){
while (rs.next()){
for(int i = 0; i <result.length ;i++)
{
for(int j = 0; j <result.length;j++)
{
result[j]=rs.getString(i);
System.out.println(result[j]);
}
}
}
}
//String result = new result[20];
} catch (Exception e)
{
e.printStackTrace();
}
}
}
enter code here
上記は、Eclipseからサンプル選択クエリを実行するためにSqlサーバーに接続するための私のサンプルプログラムです。
以下のエラーが表示されます。
Java.lang.ClassNotFoundException: com.Microsoft.jdbc.sqlserver.SQLServerDriver
at Java.net.URLClassLoader$1.run(Unknown Source)
at Java.net.URLClassLoader$1.run(Unknown Source)
at Java.security.AccessController.doPrivileged(Native Method)
at Java.net.URLClassLoader.findClass(Unknown Source)
at Java.lang.ClassLoader.loadClass(Unknown Source)
at Sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at Java.lang.ClassLoader.loadClass(Unknown Source)
at Java.lang.Class.forName0(Native Method)
at Java.lang.Class.forName(Unknown Source)
at sqlselection.Sqlselection.main(Sqlselection.Java:13)
ライブラリにsqljdbc.jar、sqljdbc4.jarを追加しました。これを修正するのに役立ちます
問題はClass.forName("com.Microsoft.jdbc.sqlserver.SQLServerDriver");
この行にあります。クラス修飾名が間違っています
sqlserver.jdbc
not jdbc.sqlserver
eclipse外部ライブラリにsqlserver.jar
を追加するのを忘れた場合、プロセスに従ってjarファイルを追加します
以下のリンクを参照してください。
2つの重要な変更を行う必要があります
「com.Microsoft.sqlserver.jdbc.SQLServerDriver」としてのドライバー名
URL "jdbc:sqlserver:// localhost:1433" + "; databaseName = AdventureWorks2008R2"
sqlserver.jar
を追加-ここに link
名前が示唆するように、JavaのClassNotFoundException
はJava.lang.Exception
のサブクラスであり、Java Virtual Machineが特定のクラスをロードしようとするとクラスパスで要求されたクラスが見つかりません。
この例外に関するもう1つの重要な点は、チェック済み例外であり、JavaでClassNotFoundException
をスローする可能性のあるメソッドを使用しながら、明示的に例外処理を提供する必要があることです。 try-catchブロックを使用するか、throws句を使用します。
public class ClassNotFoundException
extends ReflectiveOperationException
アプリケーションが、次を使用して文字列名でクラスをロードしようとするとスローされます。
ただし、指定された名前のクラスの定義は見つかりませんでした。
link にはsqlserver
のドライバーがあり、ダウンロードしてEclipse
ビルドパスに追加します。
プロジェクトを右クリック--->ビルドパス---->ビルドパスの構成---->ライブラリタブ--->外部jarの追加--->(SQLドライバーjarを保存した場所に移動します) ---> OK
以下をサポートするSQL Server用Microsoft JDBC Driver 4.0をダウンロードします。
SQL Server versions: 2005, 2008, 2008 R2, and 2012.
JDK version: 5.0 and 6.0.
ダウンロードしたプログラムsqljdbc __。exeを実行します。指定されたディレクトリにファイルを抽出します(デフォルトはSQL Server用のMicrosoft JDBC Driver 4.0です)。 2つのjarファイルsqljdbc.jar(JDBC 3.0の場合)およびsqljdbc4.jar(JDBC 4.0の場合)に加えて、いくつかの.dllファイルとHTMLヘルプファイルがあります。
JDK 4.0以降を使用している場合、JDK 4.0またはsqljdbc4.1.jarファイルを使用している場合は、アプリケーションのクラスパスの下にsqljdbc4.jarファイルを配置します。