• ベストアンサー

【SQLServer接続のJSPの記述を教えて下さい!】

いつもありがとうござます。 今回、SQLServerのテーブルを使用したjspを作成しているのですが MS ACCESSしか使用した事がなく設定が分からなく困っています。 ソースはこんな感じです。 <%@ page contentType="text/html;charset=Windows-31J" %> <HTML> <HEAD> <TITLE>一覧</TITLE> </HEAD> <BODY bgcolor="#ffffcc"> <CENTER> <%@page import="java.sql.*"%> <% class.forName("sun.jdbc.odbc.JbdcOdbcDriver"); Connection con = DriverManager.getConnection(test,no,nono); string sql = "select * from T_Transfer"; Statement stmt = con.createStatement(); ResultSet rs = stmt.executeQuery(sql); while (rs.next()){ out.print(rs.getString("F1")); out.print(rs.getString("F2")); out.print(rs.getString("F3")); out.print(rs.getString("F4")); out.print(rs.getString("F5")); out.print(rs.getString("F6")); out.print(rs.getString("F7")); } con.close(); %> </CENTER> </BODY> </HTML> コンパイルできないとのエラーがでます。 xmlは記述が分からないので一切触っていません。 上記ソースの場合のxmlの記述もご教授下さい。 宜しくお願い致します!

質問者が選んだベストアンサー

  • ベストアンサー
  • fortranxp
  • ベストアンサー率26% (181/684)
回答No.5

class.forName>Class.forName string sql>String sql あれれっ。

earlgyreprince
質問者

お礼

fortranxpさん class.forNameとstring sqlはそのままでマイクロソフトのHPで 調べたらURLが違っていました・・・ Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); Connection con = DriverManager.getConnection ("jdbc:microsoft:sqlserver://192.168.100.103:1433?useUnicode=true&characterEncoding=Shift_JIS","ID","PW");にしたら解決しました!ほんとにありがとうございました☆

earlgyreprince
質問者

補足

class.forName→Class.forName string sql→String sqlであってました。 すみません。ありがとうござました♪

その他の回答 (4)

  • fortranxp
  • ベストアンサー率26% (181/684)
回答No.4

訂正。try{}catch(){}を挿入。 <%= %>とは式タグと言います。 <%@ page contentType="text/html;charset=Shift_JIS" %> <HTML> <HEAD> <TITLE>一覧</TITLE> </HEAD> <BODY bgcolor="#ffffcc"> <CENTER> <%@page import="java.sql.*"%> <% try{ class.forName("sun.jdbc.odbc.JbdcOdbcDriver"); Connection con = DriverManager.getConnection(test,no,nono); string sql = "select * from T_Transfer"; Statement stmt = con.createStatement(); ResultSet rs = stmt.executeQuery(sql); while (rs.next()){ %> <%=rs.getString("F1") %><BR> <%=rs.getString("F2") %><BR> <%=rs.getString("F3") %><BR> <%=rs.getString("F4") %><BR> <%=rs.getString("F5") %><BR> <%=rs.getString("F6") %><BR> <%=rs.getString("F7") %><BR> <% } stmt.close(); con.close(); } catch (Exception e) { e.printStackTrace(); } %> </CENTER> </BODY> </HTML>

earlgyreprince
質問者

お礼

やはりエラーがでてしまいます。 class.forNameの所です。 org.apache.jasper.JasperException: JSPのクラスをコンパイルできません JSPファイル: /Data/JSPsample.jsp の中の9行目でエラーが発生しました 生成されたサーブレットのエラーです: \org\apache\jsp\Data\JSPsample_jsp.java:53: <identifier> がありません。 class.forName("sun.jdbc.odbc.JbdcOdbcDriver"); ^ JSPファイル: /Data/JSPsample.jsp の中の9行目でエラーが発生しました 生成されたサーブレットのエラーです: org\apache\jsp\Data\JSPsample_jsp.java:53: '{' がありません。 class.forName("sun.jdbc.odbc.JbdcOdbcDriver"); ^ JSPファイル: /Data/JSPsample.jsp の中の9行目でエラーが発生しました 生成されたサーブレットのエラーです: org\apache\jsp\Data\JSPsample_jsp.java:58: 型の開始が不正です。 while (rs.next()){ ^ JSPファイル: /Data/JSPsample.jsp の中の26行目でエラーが発生しました 生成されたサーブレットのエラーです: org\apache\jsp\Data\JSPsample_jsp.java:79: <identifier> がありません。 stmt.close(); ^ JSPファイル: /Data/JSPsample.jsp の中の26行目でエラーが発生しました 生成されたサーブレットのエラーです: org\apache\jsp\Data\JSPsample_jsp.java:80: <identifier> がありません。 con.close(); ^ JSPファイル: /Data/JSPsample.jsp の中の26行目でエラーが発生しました 生成されたサーブレットのエラーです: org\apache\jsp\Data\JSPsample_jsp.java:81: 'catch' への 'try' がありません。 } catch (Exception e) { ^ 生成されたサーブレットのエラーです: org\apache\jsp\Data\JSPsample_jsp.java:31: 'try' への 'catch' または 'finally' がありません。 try { ^ 生成されたサーブレットのエラーです: org\apache\jsp\Data\JSPsample_jsp.java:101: '}' がありません。 ^ エラー 8 個

earlgyreprince
質問者

補足

fortranxpさん ご丁寧なご回答ありがとうございます☆ 明日、試してみます!! できる限りは自分でやりたいとは思いますがまた質問があればどうぞ宜しくお願い致します♪

  • fortranxp
  • ベストアンサー率26% (181/684)
回答No.3

こうしてみれば。JSPなのでweb.xmlは不要です。 <%@ page contentType="text/html;charset=Shift_JIS" %> <HTML> <HEAD> <TITLE>一覧</TITLE> </HEAD> <BODY bgcolor="#ffffcc"> <CENTER> <%@page import="java.sql.*"%> <% class.forName("sun.jdbc.odbc.JbdcOdbcDriver"); Connection con = DriverManager.getConnection(test,no,nono); string sql = "select * from T_Transfer"; Statement stmt = con.createStatement(); ResultSet rs = stmt.executeQuery(sql); while (rs.next()){ %> <%=rs.getString("F1") %> <%=rs.getString("F2") %> <%=rs.getString("F3") %> <%=rs.getString("F4") %> <%=rs.getString("F5") %> <%=rs.getString("F6") %> <%=rs.getString("F7") %> <% } con.close(); %> </CENTER> </BODY> </HTML>

earlgyreprince
質問者

補足

ご回答ありがとうございます。 修正したのですがどうしても1つだけエラーが出てしまいます。 <%@ page contentType="text/html;charset=Windows-31J" %> <HTML> <HEAD> <TITLE>検索結果一覧</TITLE> </HEAD> <BODY bgcolor="#ffffcc"> <CENTER> <%@page import="java.sql.*"%> <% Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); Connection con = DriverManager.getConnection("Name","ID","PW"); String sql = "select * from T_Transfer"; Statement stmt = con.createStatement(); ResultSet rs = stmt.executeQuery(sql); while (rs.next()){ out.print(rs.getString("F1")); out.print(rs.getString("F2")); out.print(rs.getString("F3")); out.print(rs.getString("F4")); out.print(rs.getString("F5")); out.print(rs.getString("F6")); out.print(rs.getString("F7")); } con.close(); %> </CENTER> </BODY> </HTML> Class.forNameの部分でエラーがでます。 どうしてもここだけ分からないのでどの様に記述すればよいのか教えて下さい!お願いします。

回答No.2

#1です。 コンパイルエラーが出たんですから、 少しは自分で考えてみましょうよ。 それが「教えてクン」を脱する第一歩ですよ! なので、ヒントだけ。 ・「class」というclassは存在しません ・「out.print(rs.getString("F1"));」などの「out」はなんですか? ※これは先ほども書きました。 whileとかconはあってそうだけどな~・・・ この辺は「class」とかを直せば、消えるかも・・・

earlgyreprince
質問者

お礼

susumufireさん ありがとうございます! そうですね!自分で探さないと身につかないですもんね? 再度、チャレンジしてみます☆ ありがとうございました!

回答No.1

コンパイルエラーが出たのならば、 それをそっくりそのまま記述してください。 とりあえず、コンパイルエラーが書かれていないので補足要求ならびに憶測で回答です。 【補足要求】 ・ODBCDriverに対して、CLASSPATHは記述していますか? ・「out.print(rs.getString("F1"));」などの「out」はなんていうclassですか? 【憶測】 ・「class.forName」は「ClassNotFoundException」をスローします。 「try~catch」で囲みましょう ・SQL文の発行は「SQLException」をすろーします。 「try~catch」で囲みましょう ・Connection、Statement、ResultSetクラスをimportしていません。 import文を書きましょう

earlgyreprince
質問者

補足

2007-04-04 11:09:36 StandardWrapperValve[jsp]: サーブレット jsp のServlet.service()が例外を投げました org.apache.jasper.JasperException: JSPのクラスをコンパイルできません JSPファイル: /F_Data/A_serch.jsp の中の9行目でエラーが発生しました 生成されたサーブレットのエラーです: C:\Program Files\Apache Software Foundation\Tomcat 5.0\work\Catalina\localhost\wl_jsp\org\apache\jsp\F_005fData\A_005fserch_jsp.java:52: <identifier> がありません。 class.forName("sun.jdbc.odbc.JbdcOdbcDriver"); ^ JSPファイル: /F_Data/A_serch.jsp の中の9行目でエラーが発生しました 生成されたサーブレットのエラーです: C:\Program Files\Apache Software Foundation\Tomcat 5.0\work\Catalina\localhost\wl_jsp\org\apache\jsp\F_005fData\A_005fserch_jsp.java:52: '{' がありません。 class.forName("sun.jdbc.odbc.JbdcOdbcDriver"); ^ JSPファイル: /F_Data/A_serch.jsp の中の9行目でエラーが発生しました 生成されたサーブレットのエラーです: C:\Program Files\Apache Software Foundation\Tomcat 5.0\work\Catalina\localhost\wl_jsp\org\apache\jsp\F_005fData\A_005fserch_jsp.java:57: 型の開始が不正です。 while (rs.next()){ ^ JSPファイル: /F_Data/A_serch.jsp の中の9行目でエラーが発生しました 生成されたサーブレットのエラーです: C:\Program Files\Apache Software Foundation\Tomcat 5.0\work\Catalina\localhost\wl_jsp\org\apache\jsp\F_005fData\A_005fserch_jsp.java:67: <identifier> がありません。 con.close(); ^ JSPファイル: /F_Data/A_serch.jsp の中の26行目でエラーが発生しました 生成されたサーブレットのエラーです: C:\Program Files\Apache Software Foundation\Tomcat 5.0\work\Catalina\localhost\wl_jsp\org\apache\jsp\F_005fData\A_005fserch_jsp.java:69: <identifier> がありません。 out.write("\r\n"); ^ JSPファイル: /F_Data/A_serch.jsp の中の26行目でエラーが発生しました 生成されたサーブレットのエラーです: C:\Program Files\Apache Software Foundation\Tomcat 5.0\work\Catalina\localhost\wl_jsp\org\apache\jsp\F_005fData\A_005fserch_jsp.java:70: <identifier> がありません。 out.write("</CENTER>\r\n"); ^ JSPファイル: /F_Data/A_serch.jsp の中の26行目でエラーが発生しました 生成されたサーブレットのエラーです: C:\Program Files\Apache Software Foundation\Tomcat 5.0\work\Catalina\localhost\wl_jsp\org\apache\jsp\F_005fData\A_005fserch_jsp.java:71: <identifier> がありません。 out.write("</BODY>\r\n"); ^ JSPファイル: /F_Data/A_serch.jsp の中の26行目でエラーが発生しました 生成されたサーブレットのエラーです: C:\Program Files\Apache Software Foundation\Tomcat 5.0\work\Catalina\localhost\wl_jsp\org\apache\jsp\F_005fData\A_005fserch_jsp.java:72: <identifier> がありません。 out.write("</HTML>\r\n"); ^ 生成されたサーブレットのエラーです: C:\Program Files\Apache Software Foundation\Tomcat 5.0\work\Catalina\localhost\wl_jsp\org\apache\jsp\F_005fData\A_005fserch_jsp.java:73: 'catch' への 'try' がありません。 } catch (Throwable t) { ^ 生成されたサーブレットのエラーです: C:\Program Files\Apache Software Foundation\Tomcat 5.0\work\Catalina\localhost\wl_jsp\org\apache\jsp\F_005fData\A_005fserch_jsp.java:31: 'try' への 'catch' または 'finally' がありません。 try { ^ 生成されたサーブレットのエラーです: C:\Program Files\Apache Software Foundation\Tomcat 5.0\work\Catalina\localhost\wl_jsp\org\apache\jsp\F_005fData\A_005fserch_jsp.java:85: '}' がありません。 ^ エラー 11 個 おっしゃっていた「try~catch」の部分はエラーに出てるので分かります。

関連するQ&A

専門家に質問してみよう