Java接続SQL Server 2000の問題

5721 ワード


データベースの操作は今プロジェクトの開発の根本です。Javaを勉強してまずどのようにデータベースを接続するかを学ぶべきです。Javaを使ってデータベースを接続するのはDelphiのようにいくつかの属性を設定すればいいです。簡単だと言えば簡単です。複雑だと言えば複雑です。以下はSQL Server 2000を例にとって、Javaデータベースに接続する基本的な方法について説明します。
1、SQL Server 2000 driver for JDBC SQL Server 2000 Driver For JDBC Downloadsをダウンロードします。このドライバは現在4つのバージョンがあります。最新のSP 3版をダウンロードすることを提案します。ドライバのインストールが成功したら、インストールディレクトリの下のlibディレクトリの三つをCLASSPATHに添付してください。もしあなたがJBuilderまたはEclipseを使っているなら、この3つのファイルをIDEの提示に従ってプロジェクトに追加してもいいです。
2、SQL Server 2000をアップグレードして、最新のパッチを適用します。このステップは必要ではないかもしれませんが、オペレーティングシステムの環境によってはパッチを適用しない場合もあります。正常に接続できない場合もあります。最新のSQL Server 2000パッチ(SP 4)とJDBCドライバ(SP 3)をインストールすることをお勧めします。もしあなたのプログラムが実行されている時にヒントがあれば、Errer establishing socketは、一般的にSQL Server 2000のパッチを適用すれば解決できます。
3、駆動のロード方法は接続を確立する前に、まずSQL Server 2000 JDBCの駆動をロードします。コード形式は以下の通りです。Class.forName(「comp.microsoff.jdbc.sqlserver.SQLServerDriver」);ここで注意したいのですが、forNameメソッドのパラメータ文字列は、上記の内容と全く同じでなければなりません。大文字と小文字は区別されています。実はこの列は駆動類のフルネームです。パケット名+クラス名です。
4、データベースを操作する前に接続を取得するには、まずデータベースとの接続を獲得し、次のコードフォーマットを使用する。DriverManager.get Connection(文字列を接続し、ユーザー名を登録し、パスワードを登録する)。例:DriverManager.get Connection(「jdbc:microsoff」:sqlserver://localhost:1433;DatabaseName=pbs","sa","ここで重要なのは文字列の内容を接続するので、local host部分はサーバーの名前で、変更できます。1433部分はSQL Serverが使用するポート番号で、実際の状況によって修正すればいいです。DatabaseNameは接続するデータベースの名前です。DatabaseNameの前はコロンではなくセミコロンです。
5、コードの例// Java SQL , ;
import java.sql.*;

public class TestDB {
public static void main(String[] args) {
String driverName = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
String dbURL = "jdbc:microsoft:sqlserver://localhost:1433; DatabaseName=pubs";
String userName = "sa";
String userPwd = "";
Connection dbConn

try {
Class.forName(driverName);
dbConn = DriverManager.getConnection(dbURL, userName, userPwd);
System.out.println("Connection Successful!");
}
Catch (Exception e) {
e.printStackTrace();
}
}
}
6、発生する可能性のある問題は以上のコードが実行されたら、「Connection Success ful!」を出力し、それはすべての正常さを表します。データベースの接続に成功しました。Sttement、ResultSetの操作ができます。逆に言えば、きっとそれに対応する異常が出てきます。エラーが発生した場合は、「Err establishing socket」に対応するSQL Server 2000パッチをインストールしてください。「Class NotFoundException」を提示すれば、きっとClass.forNameです。このセグメントコードのスペルが間違っていたり、SQL Server 2000 Driver For JDBC Libディレクトリの下の3つ.jarファイルがCLAS SPATHに含まれていません。
 SQLSERVER 2000のjdbcドライバをダウンロードします。
マイクロソフト駅にこのドライバがあります。
Windowオペレーティングシステム
http://www.uncj.com/upload/files/ms_jdbc_setup.exe
http://download.microsoft.com/download/3/0/f/30ff65d3-a84b-4b8a-a570-27366b2271d8/setup.exe
 
UnixオペレーティングシステムMssqlserver.tar
http://download.microsoft.com/download/3/0/f/30ff65d3-a84b-4b8a-a570-27366b2271d8/mssqlserver.tar
二、JDBCの取り付け
実行ms_jdbc_setup.exeはファイルを実行できます。すべては次のステップをクリックして、finishボタンが現れるまで、インストールが完了します。
注:
(1)ms_JDBC_セットアップのデフォルトのインストール経路はc:/Program Files/Microsoft SQL Server 2000 Driver for JDBCです。
(2)本版はMicrosoft SQL Server 2000 Driver for JDBCのみ対応しています。
(3)カタログ/lib/下の三つのjarファイルは私達が欲しいJDBCドライバの核心です。
msbase.jar
mssqlserver.jar
msutil.jar
 
三、上記(3)の三つのjarファイルを環境変数に追加する。
クラスパス:
d:/webserver/lib/msbase.jar;d:/webserver/lib/mssqlserver.jar;d:/webserver/lib/msutil.jar
注:上記3つのファイルをあなたのjvm機のあるJAVA_にコピーすることも省けます。ホーム/jre/lib/extディレクトリの下ですが、このようにすることは勧められません。
 
四、テスト
jspファイル:
 
 
最初のフィールドの内容は以下の通りです。
2番目のフィールドの内容は以下の通りです。
 
 
 
五、注意事項
1.Sqlサービスは起動状態であることを保証する。
2.SqlのマネージャでSAまたは他のユーザを使用して正常にログインできます。sqlをインストールする時にユーザー管理モードを使った人がいますが、ここで問題があるかもしれません。
3.初めて環境変数を配置したら、パソコンを再起動したほうがいいです。
4.JVMとDataBaseの起動順序に注意する:まずDataBaseを起動し、またJVM機を起動する。
注:Webサーバを停止した後、再起動します。中には10秒以上の間隔があることが望ましいです。
5.オペレーティングシステムのネットワーク接続性に注意する
A.Tcp/IPサービスを開始しました。
B.関連IPアドレスを配置していますが、自動的にIPを割り当てたり、IPを配置したりしている人がいますが、ネットワークが通じなくてもIPが見つけられないかもしれません。
6.一部のマシンがデバッグしているので、(4)の接続先のlocalhostをデータベースサーバのIPに変更したほうがいいです。これも5の原因に注意したいです。
パッチのインストール中によくある問題
パッチをインストールする時に以下のようなエラーが発生した場合:
1、インストール中に「以前行ったプログラムはファイルを作成しました。インストールプログラムを実行する前に、再起動しなければなりません。」
a、マシンを再起動して、またインストールします。もしこのエラーが発見されたら、次のステップb、スタート->運転中にレゲットc、HKEY_を入力してください。LOCAL_MACHINE/SYSTEM/CurrenntControlSet/Control/Session Manager位置d、選択ファイル->を逆さまにしてeを保存し、右のウィンドウでPendingFilenameOperationを右クリックし、削除を選択してf、再インストールを確認し、問題解決
もし同じ問題があるなら、他のレジストリにその値があるかどうか確認してください。削除してください。
2、SQL Server SP 3をインストールすると、Windowsで認証しても、ミックス認証しても、パスワードが間違っている場合があります。この時、臨時ディレクトリのsqlsp.outを確認すると、以下の説明があります。sp 3をインストールする時、tcp/ipポートをモニターしていません。以下の手順で進めます。
1、SQL serverクライアントネットワークユーティリティとサーバネットワークツールを開いて、有効化されたプロトコルにname pipeが含まれていることを確認し、第一位に位置します。2、[HKEY_]を確保します。LOCAL_MACHINE/SOFTWARE/Microsoft/MSSQLServer/Client/Connectot)「DSQUERY」=「DBNETLIB」がない場合は、自分で3つを作って、mssql.4を停止し、インストールしてください。
これで正しく取り付けることができます。
二、SQL Serverパッチバージョンの検査
SQL Serverのパッチバージョンの検査はWindowsパッチバージョンの検査に比べて直接で、システム管理者がSQL Serverバージョンに対応するパッチ番号を知らないと、トラブルも発生する可能性があるので、ここで説明します。このような方法でマシンが安全な办法であることを判別しても、システムには何の影響もありません。1、IsqlまたはSQLクエリアナライザでSQL Serverに登録し、Isqlを使うなら、cmdウィンドウでisql-U saを入力してパスワードを入力してください。SQLでアナライザを検索する場合は、プログラムから起動して、saとパスワードを入力してください。2、ISQLに入力:Select@Version;go
またはSQLクエリアナライザに入力してください(入力したくないなら、ヘルプの関連を開けばいいです。)Select@Version;を押して実行しますこの時はSQLのバージョン情報に戻ります。Microsoft SQL Server 2000-8.00.760(Intel X 86)Dec 17 2002:22:05 Copyright(c)1988-2003 Microsoft Corporation Edition Windows NT 5.0(Build 2195:Service Pack 3)の中の8..060パッチです。対応関係は以下の通りです。
8.00.194.——————SQL Server 2000 RTM 8.00.3.84.————(SP 1)8.00.534-——————(SP 2)8.00.760-————————(SP 3)
これでSQL Serverの正しいバージョンとパッチ番号が見えます。私達もxp_を使ってもいいです。msverより詳細な情報を見ました。