Java を使用して SQL Server2000 データベースに接続するには、さまざまな方法があります。最も一般的に使用される 2 つの方法 (JDBC ドライバーを介したデータベースへの接続) を次に示します。
1. Microsoft の JDBC ドライバーを介して接続します。この JDBC ドライバーには、mssqlserver.jar、msutil.jar、msbase.jar という 3 つのファイルがあり、Microsoft の Web サイト (://www.microsoft.com/downloads/details.aspx?FamilyId=07287B11-0502 -461A) からダウンロードできます。 -B138-2AA54BFDC03A&displaylang=ja)、setup.exe をダウンロードした場合は、それもインストールする必要があります。インストール後、上記の 3 つの jar ファイルが生成されます。この JDBC ドライバーは JDBC 2.0 を実装しています。
ドライバー名: com.microsoft.jdbc.sqlserver.SQLServerDriver (つまり、以下の classforname)
データベース接続 URL: jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=dbname (つまり、次の URL)
2. JTDS JDBC ドライバーを介して SQL Server データベースに接続します。このドライバーのファイル名は jtds-1.2.jar で、ダウンロード パスは ( http://sourceforge.net/project/showfiles.php?group_id=33291)です。 ) このドライバーは Microsoft SQL Server (6.5、7.0、2000、2005) と Sybase をサポートしており、JDBC3.0 の実装は無料です。
ドライバー名: net.sourceforge.jtds.jdbc.Driver (つまり、以下のクラス名)
データベース接続 URL: jdbc:jtds:sqlserver://localhost:1433/dbname (つまり、次の URL)
インターネット上の SQL Server データベースに接続するための JDBC 用の Bean コードは多数あります。以下にその一部を抜粋します。(localhost と 1433 を実際のアプリケーションの SQL Server サーバーのアドレスとポート番号に変更してください。 dbname を実際のデータベース名に置き換えます)
インポート java.sql.*;
パブリック クラス DatabaseConn {
プライベート接続 conn;
プライベートステートメント文。
private String url = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=dbname";
private String classforname = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
プライベート文字列 uid = "sa";
プライベート文字列 pwd = "パスワード";
パブリック DatabaseConn(){}
/**
* <p>Microsoft JDBC ドライバーを介してデータベース接続を取得します</p>
* @return 接続
* @例外 ClassNotFoundException、SQLException
*/
パブリック接続 getConnection()
{
試す
{
Class.forName(クラス名);
if (conn == null || conn.isClosed())
conn = DriverManager.getConnection(url, uid, pwd);
}
catch (ClassNotFoundException ex)
キャッチ (SQLException 例)
コンを返します。
}
}
もちろん、上記の作業を行う前に、SQL Server の設定に問題がないかどうかを確認する必要があります。手順は次のとおりです。
まず、MS-Dos ウィンドウである「コマンド ライン ウィンドウ」を開き、次のように入力します。
telnet localhost 1433 (もちろん、localhost を SQL Server が配置されているサーバー アドレスに置き換え、ポートを SQL Server の実際のポートに変更します。デフォルトは 1433)
成功した場合は、SQL Server に接続できることを意味します。失敗した場合 (通常は Win2003 または WinXP SP2)、コントロール パネルに入り、「管理ツール」の「サービス」を開き、「SQLSERVERAGENT」サービスを開始してください。もちろん、SQL Server の SP3 パッチ パッケージを適用して、上記の操作を続行することもできます。これは成功するはずです。
次に、自分のユーザー名とパスワードで SQL Server サーバーにログインできるかどうかを確認します。もちろん、最も直接的な方法は、SQL Server の「クエリ アナライザー」を開き、ユーザー名とパスワードを入力して [OK] をクリックすることです。
成功した場合は、SQL Server のログイン設定が正常であることを意味します。失敗した場合は、SQL Server の「エンタープライズ マネージャー」を開き、登録した SQL Server サーバー (つまり、「SQL Server グループ」の下にあるもの) に移動してください。左東東) つまり、右クリックして「プロパティ」を選択し、「SQL Server (プロパティ) の構成」ダイアログボックスで「セキュリティ」を選択し、認証を「SQL Server と Windows(S)」に設定して、クエリ分析を使用する それでも接続できない場合は、サーバーを一度テストして、ユーザー名とパスワードが正しいかどうかを確認してください。成功するまでテストを繰り返します。
もちろん、JDBC を直接使用するだけでなく、JSP で接続を使用する場合、誰もが接続プール (プール) に最も興味を持ちます。ここでは、接続プールのいくつかの使用法に焦点を当てます。
便宜上、最初に JSP コンテナを Tomcat に設定します。これは、誰もがそれをよく使用するためです。
1. グローバル構成 (Tomcat のすべての Web アプリケーションは、構成された接続プールを使用できます):server.xml で接続プールを構成します。server.xml ファイルは、$TOMCAT_HOME$/conf/ ディレクトリーにあります。 GlobalNamingResources> を開き、この行の前に次のコードを挿入します。
<リソース
名前 = "jdbc/プール名"
auth="コンテナ"
type="javax.sql.DataSource"
maxActive="100"
maxIdle="30"
maxWait="10000"
ユーザー名=「さ」
パスワード="パスワード"
driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver"
url="jdbc:microsoft:sqlserver://127.0.0.1:1433;データベース名=dbname"/>
注: name は接続プールの完全なグローバル JNDI 名、username はデータベース接続のユーザー名とパスワード、driverClassName はデータベース ドライバー名、url はデータベース接続文字列です。実際の構成に応じて変更してください。
設定はまだ完了していません。次に、context.xml にグローバル アクセスの名前を設定する必要があります。設定は次のとおりです。
</Context> を見つけて、この行の前に次のコードを挿入します。
<ResourceLink global="jdbc/poolName" name="jdbc/poolName" type="javax.sql.DataSource"/>
2. 部分的な構成: $TOMCAT_HOME$/conf/Catalina/localhost/ ディレクトリに新しい xml ファイルを作成します。xml ファイルの名前は、公開する Web アプリケーション ディレクトリと同じである必要があります。webappname.xml の場合は、次の内容を追加します。コンテンツ (Tomcat の設定) 外部仮想ディレクトリもここで処理されます。
<Context path="/webappname" docBase="d:/webappname" debug="0" reloadable="true"crossContext="true">
<リソース
名前 = "jdbc/プール名"
auth="コンテナ"
type="javax.sql.DataSource"
maxActive="100"
maxIdle="30"
maxWait="10000"
ユーザー名=「さ」
パスワード="パスワード"
driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver"
url="jdbc:microsoft:sqlserver://127.0.0.1:1433;データベース名=dbname"/>
<ResourceLink global="jdbc/poolName" name="jdbc/poolName" type="javax.sql.DataSource"/>
</コンテキスト>
最初の 2 つのメソッドについて、接続プールを呼び出すコードは次のとおりです。 (com.yeno.util.Debug の Debug.log() メソッドは主にデバッグ情報を出力するために使用され、System.out.println で置き換えることができます。 ())
インポート java.sql.*;
インポートjavax.sql.DataSource;
javax.naming.* をインポートします。
com.yeno.util.Debugをインポートします。
/**
* <p>データベース運用管理クラスはデータベース接続、シャットダウン、トランザクション処理のみを実装します</p>
* @Aurhor Yeto.hhr
* 作成日 2005-12-9
*/
パブリック クラス データプール {
パブリック データプール(){}
/**
* <p>Tomcat 接続プールを介してデータベース接続を取得します</p>
* @パラメータいいえ
* @return 接続データベース接続
* @Exception NamingException,SQLException,Exception
*/
パブリック接続 getConnect()
{
接続 conn = null;
試す
{
コンテキスト intitCtx = 新しい InitialContext();
Context envCtx = (Context)intitCtx.lookup("java:comp/env");
DataSource ds = (DataSource)envCtx.lookup("jdbc/poolName");
conn = ds.getConnection();
}
catch(NamingException nex)
{
Debug.log(this,"getConnect()","正しい環境がありません!");
}
catch(SQLException sqlex)
{
Debug.log(this,"getConnect()","接続を取得できません!");
}
コンを返します。
}
}
上記のコードを使用する前に、JDBC ドライバーの関連 JAR ファイル (Microsoft の場合は mssqlserver.jar、msutil.jar、および msbase.jar、JTDS の場合は jtds-1.2.jar) が正しく構成されていることを確認する必要があります。関連する JAR ファイルを $TOMCAT_HOME $/common/lib/ ディレクトリにコピーするか、$WEB_ROOT$/WEB-INF/lib/ ディレクトリにコピーすることもできます
インジェクションを使用して接続プールを呼び出すこともできます。つまり、JSP コンテナーで接続プールを構成した後、Hibernate 構成ファイルのシステム接続プール設定を呼び出します。コードの抜粋は次のとおりです。
<セッションファクトリー>
<!--
<property name="jndi.class"></property>
<property name="jndi.url"></property>
-->
<property name="connection.datasource">java:comp/env/jdbc/poolName</property>
<property name="show_sql">false</property>
<property name="dialect">org.hibernate.dialect.SQLServerDialect</property>
</セッションファクトリー>
Hibernate の具体的な使用方法については、関連する詳細を確認してください。