我没有找到数据源名称并且没有指定默认驱动程序

Posted

技术标签:

【中文标题】我没有找到数据源名称并且没有指定默认驱动程序【英文标题】:I got Data source name not found and no default driver specified 【发布时间】:2011-06-03 09:31:48 【问题描述】:

当我使用 Connection 连接到 MS Access 时,出现“未找到数据源名称且未指定默认驱动程序”的异常。我的代码是

   String dsn = "judydriver";
   String url = "jdbc:odbc:" + dsn;
    try 
       con = DriverManager.getConnection("jdbc:odbc:judydriver", "", "");
    
    catch(SQLException ex) 
        System.err.println("database connection: " + ex.getMessage());
        ex.printStackTrace();

我在 SYSTEMDNS 中创建了名为“judydriver”的数据源。有没有人消除异常

【问题讨论】:

【参考方案1】:

您忘记指定驱动程序。做这样的事情:

String driver = "sun.jdbc.odbc.JdbcOdbcDriver";
Class.forName(driver);
con = DriverManager.getConnection("jdbc:odbc:judydriver", "", "");

更多参考请见this。

【讨论】:

@srikanth:你能粘贴完整的异常堆栈跟踪吗? @srikanth:将堆栈跟踪粘贴到您的问题中,而不是 Harry 的答案中! @srikanth:尝试从我的答案中的链接运行程序,如果运行,则意味着您在代码中做错了。在该程序中不要忘记更改数据库连接的 url。

以上是关于我没有找到数据源名称并且没有指定默认驱动程序的主要内容,如果未能解决你的问题,请参考以下文章

[Microsoft][ODBC驱动程序管理器]未发现数据源名称并且未指定默认驱动器

ODBC连接发生错误:未发现数据源名称并且未指定默认驱动程序

[Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序

未发现数据源名称并且未指定默认驱动程序怎么解决

数据库-Navicat连接SQLserver报错:未发现数据源名称并且未指定默认驱动程序

Navicat连接SQLServer未发现数据源名并且未指定默认驱动程序