正在捕获SQL EXCEPTION,说“java.sql.SQLException:[Microsoft] [ODBC驱动程序管理器]未找到数据源名称且未指定默认驱动程序”。我在swing中使用了相同的连接代码,其中代码执行完美,包括SQL语句执行。如果可以对代码进行任何更改,请帮助我。
import javax.servlet.*;
import java.io.*;
import java.sql.*;
import javax.servlet.http.*;
public class forwardeg23 extends HttpServlet
{
Statement st;
public void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException,IOException
{
PrintWriter out = res.getWriter();
out.println("this is from forwardeg23");
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con = DriverManager.getConnection("jdbc:odbc:mysqllatest","root","tiger");
out.println("Atleast Connection Established");
st = con.createStatement();
}
catch(Exception ef){out.println(ef+"\n Error in creating connection");}
try{
st.executeUpdate("INSERT INTO student(Name,Marks) VALUES ('ABC',85)");
}
catch(Exception af){out.println("Exception HERE");}
}
}
答案 0 :(得分:1)
问题非常简单java.sql.SQLException
java.sql.SQLException: [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified
这表示您尚未创建任何DSN。
您需要create DSN in windows 7使用以下步骤
另外,请注意,如果您的第一个try
块抛出异常,那么它将执行下一个try
块,这是不好的做法。
使用Type 4 Driver - Database-Protocol Driver(Pure Java Driver),因为它是100%纯Java。
有用的链接