私の構成:
私は試した:
try {
Class.forName("com.Microsoft.sqlserver.jdbc.SQLServerDriver").newInstance();
con = DriverManager.getConnection("jdbc:Microsoft:sqlserver://localhost:1433/SQLEXPRESS2008;databaseName=Test;selectMethod=cursor", "sa", "");
}
catch (Exception e) {
e.printStackTrace();
}
ただし、常に例外がスローされます。
Java.sql.SQLException: No suitable driver
次のURLも試しました。
localhost:1433/SQLEXPRESS2008
localhost/SQLEXPRESS2008
localhost
同じ結果。何か助けは?
URLが間違っています。
「JDBC 2005」の意味がわかりません。 Microsoftのサイトを調べたところ、 Microsoft SQL Server JDBC Driver 2. という名前のものが見つかりました。 あなたはそれを望んでいるでしょう-それは多くの修正といくつかのパフォーマンスの改善を含んでいます。 [編集:おそらく最新のドライバーが必要になるでしょう。 2012年3月現在、Microsoftの最新のJDBCドライバーは JDBC 4.0] です。
リリースノートを確認してください。このドライバーには、次のものが必要です。
URL: jdbc:sqlserver://server:port;DatabaseName=dbname
Class name: com.Microsoft.sqlserver.jdbc.SQLServerDriver
クラス名は正しいようですが、URLが間違っています。
Microsoftは、JDBCドライバーの最初のリリース後にクラス名とURLを変更しました。使用しているURLは、MicrosoftのオリジナルのJDBCドライバーに対応しており、MSが「SQL Server 2000バージョン」と呼んでいます。ただし、そのドライバーは別のクラス名を使用します。
以降のすべてのドライバーについて、URLはここにある形式に変更されました。
これは、JDBCドライバーのリリースノートにあります。
databaseName
値が正しい場合は、これを使用します:DriverManger.getconnection("jdbc:sqlserver://ServerIp:1433;user=myuser;password=mypassword;databaseName=databaseName;")
sqljdbc4.0
_)をダウンロードします。次のようにプログラムを記述します。
_import Java.sql.*;
class testmssql
{
public static void main(String args[]) throws Exception
{
Class.forName("com.Microsoft.sqlserver.jdbc.SQLServerDriver");
Connection con=DriverManager.getConnection("jdbc:sqlserver://localhost:1433;
databaseName=chapter16","sa","123");//repalce your databse name and user name
Statement st=con.createStatement();
ResultSet rs=st.executeQuery("Select * from login");//replace your table name
while(rs.next())
{
String s1=rs.getString(1);
String s2=rs.getString(2);
System.out.println("UserID:"+s1+"Password:"+s2);
}
con.close();
}
}
_
プログラムをコンパイルし、jarクラスパスvizを設定します。_set classpath=C:\jdbc\sqljdbc4.jar;.;
_ダウンロードして解凍した後にjar
ファイルを_C:\jdbc
_に保存した場合。
最新のJDBC MSSQL接続ドライバーは JDBC 4. にあります。
クラスファイルはクラスパスにある必要があります。 Eclipseを使用している場合は、次の操作を行うことで簡単に同じことができます->
プロジェクト名を右クリック->プロパティ-> Javaビルドパス->ライブラリ->外部jarを追加
また、@ Cheesoによってすでに指摘されているように、正しいアクセス方法はjdbc:sqlserver:// server:port; DatabaseName = dbnameです。
一方、MSSQL DB(私の場合は2008)にアクセスするためのサンプルクラスを見つけてください。
import Java.sql.Connection;
import Java.sql.DriverManager;
import Java.sql.ResultSet;
import Java.sql.Statement;
public class ConnectMSSQLServer
{
public void dbConnect(String db_connect_string,
String db_userid,
String db_password)
{
try {
Class.forName("com.Microsoft.sqlserver.jdbc.SQLServerDriver");
Connection conn = DriverManager.getConnection(db_connect_string,
db_userid, db_password);
System.out.println("connected");
Statement statement = conn.createStatement();
String queryString = "select * from SampleTable";
ResultSet rs = statement.executeQuery(queryString);
while (rs.next()) {
System.out.println(rs.getString(1));
}
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args)
{
ConnectMSSQLServer connServer = new ConnectMSSQLServer();
connServer.dbConnect("jdbc:sqlserver://xx.xx.xx.xxxx:1433;databaseName=MyDBName", "DB_USER","DB_PASSWORD");
}
}
お役に立てれば。
名前付きインスタンス?
URL:jdbc:sqlserver:// [serverName] [\ instanceName] [:portNumber] [; property = value]
注:バックスラッシュ