0

一个 SQL 异常被捕获说“java.sql.SQLException: [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified”。我在 Swings 中使用了相同的连接代码,其中代码执行完美,包括 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");}
         }


         }
4

1 回答 1

1

问题很简单java.sql.SQLException

java.sql.SQLException: [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified  

这意味着您还没有创建任何 DSN。

您需要使用以下步骤在 Windows 7 中创建 DSN

  1. 点击“开始”按钮 -> 点击“控制面板”
  2. 在控制面板中更改视图 -> 查看方式:小图标
  3. 点击“管理工具”。
  4. 双击“数据源(ODBC)”
  5. 选择“用户 DSN”选项卡。-> 选择“Access database”选项 -> 点击“ADD”按钮 -> 点击“Select”按钮 -> 选择“Microsoft Access Driver(*.mdb) -> 点击“Finish”
  6. 新窗口打开。-> 输入数据源名称 = CustomeDSN(注意:请输入相同的内容)-> 输入描述= CustomeDSN -> 点击“选择”按钮(注意:从 :c:/程序文件/智能解决方案/称重管理/中选择路径system/WehingDB.mdb)(注意:如果 WehingDB.mdb 文件没有出现,那么请在这个位置复制并提供管理员权限并共享它。如果再次没有出现,则打开资源管理器,然后在桌面上剪切该文件,然后重新启动计算机并再次通过 samr地点。)
  7. 点击“完成”

另外,请注意,如果您的第一个try块引发异常,那么它将执行下一个try块,这是不好的做法。

Type1驱动的缺点

使用类型 4 驱动程序 - 数据库协议驱动程序(纯 Java 驱动程序),因为它是 100% 纯 Java。

有用的链接

  1. 驱动程序类型
  2. Type 4驱动带mysql数据库教程
于 2013-09-27T09:17:08.070 回答