这是我连接到存储在不同服务器中的MS服务器的代码。它给出了一个名为“找不到类异常”的错误。我添加了sqljdbc4.jar和sqlserver.jar。请为我提供相同的解决方案。
<html>
<head>
<%@ page import="java.util.*" %>
<%@ page import="javax.sql.*;"
%>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<%java.sql.Connection con;
java.sql.Statement s;
java.sql.ResultSet rs;
java.sql.PreparedStatement pst;
String username=request.getParameter("username");
String Password=request.getParameter("password");
final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
final String DB_URL = "jdbc:microsoft:sqlserver://10.5.5.205:0;databaseName=JavaUsecase";
final String USER = "sqljob";
final String PASS = "sqljob";
con = null;
s = null;
try{
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
// System.out.println("Connecting to a selected database...");
con =java.sql.DriverManager.getConnection(DB_URL, USER, PASS);
//System.out.println("Connected database successfully...");
//STEP 4: Execute a query
//System.out.println("Inserting records into the table...");
s = con.createStatement();
String sql = "INSERT INTO account " +
"VALUES ("+username+","+Password+")";
s.executeUpdate(sql);
}
catch(Exception se){
//Handle errors for JDBC
se.printStackTrace();
}
%>
</body>
</html>
我得到的错误是:-
2015-05-18 15:22:47.159:INFO:oejs.Server:jetty-8.1.14.v20131031
2015-05-18 15:22:49.394:INFO:oejs.AbstractConnector:Started SelectChannelConnector@0.0.0.0:8080
java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
at org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:424)
at org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:377)
at org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:187)
at org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:125)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:190)
at org.apache.jsp.Logdatabse_jsp._jspService(Logdatabse_jsp.java:71)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:111)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:403)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:492)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:378)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:684)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:501)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137)
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:557)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1086)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:428)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1020)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)
at org.eclipse.jetty.server.handler.HandlerList.handle(HandlerList.java:52)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
at org.eclipse.jetty.server.Server.handle(Server.java:370)
at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:494)
at org.eclipse.jetty.server.AbstractHttpConnection.content(AbstractHttpConnection.java:982)
at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.content(AbstractHttpConnection.java:1043)
at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:865)
at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:240)
at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82)
at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:667)
at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608)
at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543)
at java.lang.Thread.run(Thread.java:744)
最佳答案
确保 WebApps\yourProject\WEB-INF\lib 文件夹下有 sqljdbc4.jar 和 sqlserver.jar。如果您使用 Tomcat,那就是这样,否则就是在 TOMCAT_HOME\lib 文件夹中添加 jar。
关于java - 与存储在不同计算机上的MS Server连接的JDBC程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30296029/