java - 我们可以使用DSN方法连接Java EE中的MYSQL数据库吗

标签 java mysql servlets database-connection

捕获 SQL 异常,提示“java.sql.SQLException: [Microsoft][ODBC Driver Manager] 未找到数据源名称且未指定默认驱动程序”。我在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");}
         }


         }

最佳答案

问题非常简单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使用以下步骤

  1. 点击“开始”按钮 -> 点击“控制面板”
  2. 在控制面板中更改 View -> 查看方式:小图标
  3. 点击“管理工具”。
  4. 双击“数据源(ODBC)”
  5. 选择“用户 DSN”选项卡。 -> 选择“访问数据库”选项 -> 单击“添加”按钮 -> 点击“选择”按钮 -> 选择“Microsoft Access 驱动程序(*.mdb) -> 点击“完成”
  6. 新窗口打开。 -> 输入数据源名称 = CustomeDSN(注意:请输入相同的内容) -> 类型描述= CustomeDSN -> 点击“选择”按钮 (注:选择路径为:c:/程序文件/smart Solution/称重管理/system/WehinDB.mdb) (注意:如果 WehinDB.mdb 文件未出现,请将此位置和副本提供管理员权限并共享。 如果再次没有出现,则打开资源管理器,然后在桌面上剪切该文件,然后重新启动计算机并再次将其粘贴到 samr 位置。)
  7. 点击“完成”

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

Disavantages of Type1 driver

使用Type 4 Driver - Database-Protocol Driver(Pure Java Driver)因为它是 100% 纯 Java。

有用的链接

  1. Types of Drivers
  2. Type 4 driver with mysql database tutorial

关于java - 我们可以使用DSN方法连接Java EE中的MYSQL数据库吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19045785/

相关文章:

java - 如何正确设置匿名类中的字段并在主类中使用它们?

java - 在调用父类(super class)型之前无法引用 java

php - 在两个表上使用内连接后如何添加多行

php - 在选择查询mysql中使用嵌套IF

Java:将字符串变量与 "null"值进行比较时出现问题

html - 如何使用 <input type ="file"> 传递附加信息?

java - Mockito 使用 ArgumentCaptor 抛出 InvalidUseOfMatchersException

java - spring boot 启动后有问题

php - 如何在 php 中为每个循环调用多个表

java - 在 servlet 中关闭 http 连接后执行作业