将SQL Server数据库连接到Java
我没有在我的项目中使用任何IDE。 整个编码都是使用Textpad完成的。 所以我需要帮助连接sql server数据库和我的项目。 这是一个bean类,用于编写数据库连接的业务逻辑。 我已经安装了SQL server,并使用windows身份验证创建了一个名为“vt”和m的数据库。 我甚至为数据库创建了dsn,即vtdsn。但我仍然得到类未找到异常。 请帮忙。 我在这里结巴了。 早些时候,当我使用MS Access访问数据库时,它工作正常。 但是,在使用SQL server进行数据库连接时,需要做哪些更改将SQL Server数据库连接到Java,java,sql-server,jsp,Java,Sql Server,Jsp,我没有在我的项目中使用任何IDE。 整个编码都是使用Textpad完成的。 所以我需要帮助连接sql server数据库和我的项目。 这是一个bean类,用于编写数据库连接的业务逻辑。 我已经安装了SQL server,并使用windows身份验证创建了一个名为“vt”和m的数据库。 我甚至为数据库创建了dsn,即vtdsn。但我仍然得到类未找到异常。 请帮忙。 我在这里结巴了。 早些时候,当我使用MS Access访问数据库时,它工作正常。 但是,在使用SQL server进行数据库连接时,需
package ankit;
import java.sql.*;
public class RegisterBean {
private Connection con;
private PreparedStatement pst;
private ResultSet rs;
private String myfirstname, mylastname, myemail, mypassword, dateofbirth, gender, college, address;
//code for setter and getter method. removed to shorten the code//
public RegisterBean() {
System.out.println("Default constructor of RegisterBean is called");
}
public void makeConnection() {
try {
Class.forName("com.mysql.jdbc.Driver");
con = DriverManager.getConnection("jdbc:odbc:vtdsn");
} catch (Exception e) {
System.out.println("Error in making connection ");
e.printStackTrace();
}
}
public boolean checkRegistration(String fN, String lN, String email, String pwd, String dob, String gender, String coll, String addr) {
boolean flag;
makeConnection();
try {
pst = con.prepareStatement("insert into studentdetail values(?,?,?,?,?,?,?,?)");
pst.setString(1, fN);
pst.setString(2, lN);
pst.setString(3, email);
pst.setString(4, pwd);
pst.setString(5, dob);
pst.setString(6, gender);
pst.setString(7, coll);
pst.setString(8, addr);
int i = pst.executeUpdate();
System.out.println(i);
if (i >= 1) {
flag = true;
} else {
flag = false;
}
} catch (Exception e) {
flag = false;
e.printStackTrace();
}
return flag;
}
}
将驱动程序添加到Tomcat中的classes文件夹后,我的JavaBean类文件就位于该文件夹中
并将驱动程序添加到jre/lib和jre/lib/ext文件夹中。
现在我得到了这个错误
Error in making connection
java.sql.SQLException: No suitable driver found for jdbc:sqlserver://localhost/S
QLEXPRESS/Databases/vt:1433;
at java.sql.DriverManager.getConnection(DriverManager.java:604)
at java.sql.DriverManager.getConnection(DriverManager.java:243)
at ankit.RegisterBean.makeConnection(RegisterBean.java:113)
at ankit.RegisterBean.checkRegistration(RegisterBean.java:124)
at org.apache.jsp.components.jsp.RegisterDataBase_jsp._jspService(Regist
erDataBase_jsp.java:117)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper
.java:432)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:3
90)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV
alve.java:222)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextV
alve.java:123)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
ava:171)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
ava:99)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:
953)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
ve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.jav
a:408)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp
11Processor.java:1023)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(
AbstractProtocol.java:589)
at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoin
t.java:1852)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.
java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor
.java:603)
at java.lang.Thread.run(Thread.java:722)
java.lang.NullPointerException
at ankit.RegisterBean.checkRegistration(RegisterBean.java:127)
at org.apache.jsp.components.jsp.RegisterDataBase_jsp._jspService(Regist
erDataBase_jsp.java:117)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper
.java:432)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:3
90)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV
alve.java:222)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextV
alve.java:123)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
ava:171)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
ava:99)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:
953)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
ve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.jav
a:408)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp
11Processor.java:1023)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(
AbstractProtocol.java:589)
at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoin
t.java:1852)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.
java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor
.java:603)
at java.lang.Thread.run(Thread.java:722)
false
已解决: 我的问题的解决方案 我所做的只是下载sqljdbc4驱动程序并将其粘贴到TOMCAT lib文件夹中。(注意:下载驱动程序后,将其解压缩到某个位置,然后您将在该解压缩文件夹中找到原始驱动程序。将该文件粘贴到tomcat lib文件夹中。这就是我的错误所在,我只是从internet粘贴下载的rar文件,这就是tomcat无法找到驱动程序的原因)。
将驱动程序粘贴到lib文件夹后,只需将类路径设置为该驱动程序,即可完成。您必须为SQLServer导入驱动程序jar文件,然后编辑如下代码:
public void makeConnection() {
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
con = DriverManager.getConnection("jdbc:sqlserver://localhost:3306/DBName", "DBUsername", "DBPassword");
} catch (Exception e) {
System.out.println("Error in making connection ");
e.printStackTrace();
}
}
您需要将适当的驱动程序放置到位
创建一个lib目录,将所有jar放在那里(特别是jdbc连接器)
然后将其添加到您的类路径:祝您好运
摘自此帖:请发布stacktrace,您的项目中是否包含了驱动程序?查看更新的帖子plzz我在Tomcat中添加了stacktrace您可能没有下载并将驱动程序放置到位..实际上我不知道将驱动程序放置在何处??有人告诉我把它放在你的类文件所在的地方,还有人告诉我把它复制到java/jdkx.x.x/jre/lib和java/jdkx.x.x/jre/lib/ext folder中,如果我在SQL server中使用windows身份验证怎么办?我仍然收到上面的错误没有找到合适的驱动程序那么你的url是
jdbc:sqlserver://localhost;integratedSecurity=true代码>在这里阅读更多关于此的信息实际上tomcat无法找到用于连接的驱动程序。我到底需要在哪里粘贴驱动程序???C:\ProgramFiles(x86)\Microsoft SQL Server\JDBC Drver\lib\sqljdbc.jar
将驱动程序放在这个类路径中。更多
SQLException: No suitable driver found