JavaサーブレットからMS SQLはストアドプロシージャを実行する - Microsoft SQL Serverが応答
| 私は、フォームを処理するサーブレットを使用して、そのデータを送信しようとしている SQLサーバーストアドプロシージャを。私は、WebLogic 8アプリケーションを使用しています。サーバー。 私はデータベースの情報を取得することができるので、私は自分のアプリケーションを知っている サーバーはデータベースに話すことができます。 私は失敗を決定したときに次のステートメントは、発生 実行:cstmt.execute();(printlnのステートメントの障害のために その後)配置されます。私が実行しようとした後、次のエラーを取得する ストアドプロシージャの呼び出し: の[Microsoft] [ODBC SQL Serverのドライバ] [SQL Server]のは、ストアドが見つかりませんでした プロシージャ'insertTheForm' ユーザー名とパスワードは私が接続するために使用しているWindowsユーザです 管理者権限。また、ODBC接続に関連付けられて - と コースは完全な権限を持つデータベースユーザー..です。私は実行可能 ストアドプロシージャのアクセス許可も設定します。私は、マイクロソフトをした 推奨されるレジストリなど(の修正前の エラー: http://support.microsoft.com/default...en-us; Q238971) 。 私は何かが欠けかな?私は以下の私のサーブレットのコードを掲載した。 任意のヘルプをありがとう! ディネッシュ formHandlingServlet.class ------------------------- パッケージショーミ; / * * formHandlingServlet.java * * 2003年7月6日、7時01時作成 * / インポートのjavax.servlet .*; 輸入javax.servlet.http .*; なります。import java.io. *; インポートjava.sqlの.*; 輸入java.text.DateFormatに。 / ** * * @著者管理者 * / パブリッククラスformHandlingServletはHttpServletを(拡張 プライベート静的最終列email1 ="電子メール"; プライベート静的最終列password1 ="password1"; プライベート静的最終列password2は="パスワード2"; プライベート静的最後の文字列のdisplayname ="displaynameは"; 接続dbConn = nullを。 / / SQLサーバーへの持続的connecitonを作成する ボイドのinit()を公開ServletExceptionががスローされます ( 文字列jdbcDriver ="sun.jdbc.odbc.JdbcOdbcDriver"; 文字列dbURL =は"jdbc:odbcで:Con2"; 文字列usernameDbConn ="ディネッシュ"; 文字列passwordDbConn ="werty6969"; 試みる ( Class.forNameの(jdbcDriver)のnewInstance(); dbConn =したDriverManager.getConnection(usernameDbConn dbURL、 passwordDbConn); ) (ClassNotFoundExceptionが電子)キャッチ ( ("JDBCドライバの新しいUnavailableExceptionを投げるが見つかりません:"+ dbURL); ) (例外:SQLException e)のキャッチ ( ("エラー:"+新規UnavailableExceptionを投げる電子); ) (例外e)のキャッチ ( ("エラー:"+新規UnavailableExceptionを投げる電子); ) ) します。public void doPostメソッド(HttpServletRequestを要求、をHttpServletResponse 応答は)ServletExceptionが、IOExceptionがスローされます ( response.setContentType("テキスト/プレーン"); PrintWriterを出力= response.getWriter(); / / register.jspからパラメータ情報を抽出する 文字列email1 = request.getParameter("email1"); 文字列password1 = request.getParameter("password1"); 文字列password2は= request.getParameter("password2は"); 文字列のdisplayname = request.getParameter("displaynameは"); 試みる ( / /ストアドプロシージャの呼び出し可能なステートメントを確認します。 / /これは、4つのパラメータを持つ のCallableStatement cstmt = dbConn.prepareCall( "(コードinsertTheForm(?、?、?、?)}"); /ストアドプロシージャの入力パラメータの値を設定/ out.println(以下、"ストアドプロシージャを呼び出す。。。。"); (1、email1)cstmt.setString; (2、password1)がcstmt.setString; (3、password2)をcstmt.setString; (4、displaynameは)cstmt.setString; / /ここでは、入力パラメータが設定されて、我々は実行するために進むことができます ストアドプロシージャをinsertTheForm ()cstmt.execute; out.println("ストアドプロシージャ")が実行される。 ) (例外:SQLException e)のキャッチ ( ("エラー:"+新規UnavailableExceptionを投げる電子); ) ) ) |
0 Replies