sql server-JDBC-ODBC桥连接时出现空指针异常

问题描述

JDBC-ODBC桥连接时出现空指针异常

我在用 jdbc-odbc 桥连方式操作 sql server 数据库时出现空指针异常
Connection ct = null;
Statement sm = null;

    try {
        //(1)加载驱动(作用是把需要的驱动程序加入内存)
        Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
        //(2)得到连接(指定连接到哪个数据库)
        ct = DriverManager.getConnection("jdbc:odbc:mytest");
        System.out.println("数据库成功连接");
        //(3)创建Statement或者preparedStatement
        sm = ct.createStatement();
        //(4)执行CRUD
        //添加一条数据到dept表
        int i = sm.executeUpdate("insert into dept values('50','security','beijing')");
        if(i==1){
            System.out.println("添加成功");
        }else{
            System.out.println("添加失败");
        }

    } catch (Exception e) {
        e.printStackTrace();
    }finally{
        //以上的语句执行完成之后需要关闭数据源
        //关闭的顺序:谁先创建谁后关闭

        try{
            if(sm != null){
                sm.close();
            }
            if(ct != null){
                ct.close();
            }
        }catch (SQLException e){
            e.printStackTrace();
        }
    }

出现异常描述如下:
java.lang.NullPointerException
at sun.jdbc.odbc.JdbcOdbcDriver.initialize(JdbcOdbcDriver.java:436)
at sun.jdbc.odbc.JdbcOdbcDriver.connect(JdbcOdbcDriver.java:153)
at java.sql.DriverManager.getConnection(DriverManager.java:664)
at java.sql.DriverManager.getConnection(DriverManager.java:270)
at JDBC_ODBC.main(JDBC_ODBC.java:28)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:140)

解决方案

ct = DriverManager.getConnection("jdbc:odbc:mytest");
看下这个mytest是否存在

解决方案二:

连接时候 出问题了 你看一下 链接

解决方案三:

用户名跟密码都没有输入,还有查看下你要访问的数据库名称是不是mytest这个名字

解决方案四:

mytest 是不是数据源的名称而不是数据库的名称,如果这里没有就看看有没有jar包了

解决方案五:

at JDBC_ODBC.main(JDBC_ODBC.java:28)

数据库链接异常,看看数据库用户名,密码,数据库名字对么

解决方案六:

先定位到你具体异常的语句。然后看哪个变量是空指针等。

解决方案七:

ODBC连接异常,说明你在ODBC上配置的数据库链接不对,你检查一下

时间: 2024-12-22 10:16:00

sql server-JDBC-ODBC桥连接时出现空指针异常的相关文章

SQL Server中多表连接时驱动顺序对性能的影响

原文:SQL Server中多表连接时驱动顺序对性能的影响   本文出处:http://www.cnblogs.com/wy123/p/7106861.html (保留出处并非什么原创作品权利,本人拙作还远远达不到,仅仅是为了链接到原文,因为后续对可能存在的一些错误进行修正或补充,无他)   最近在SQL Server中多次遇到开发人员提交过来的有性能问题的SQL,其表面的原因是表之间去的驱动顺序造成的性能问题,具体表现在(已排除其他因素影响的情况下),存储过程偶发性的执行时间超出预期,甚至在调

如何解决 SQL Server 2000 中的连接问题

server|解决|问题 如何解决 SQL Server 2000 中的连接问题适用于 重要说明:本文包含有关修改注册表的信息.修改注册表之前,一定要备份注册表,并且一定要知道在发生问题时如何还原注册表.有关如何备份.还原和编辑注册表的信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章: 256986 Microsoft Windows 注册表说明 本任务的内容概要 解决连接问题 验证 DNS 设置 验证启用的协议和别名 验证 SQL Server 实例正在正确地侦听 解

SQL Server 2005无法远程连接的解决方法

  有时候我们需要链接某一台服务器上的数据库,我们一下的操作都是在该台服务器上操作的:   一.为 SQL Server 2005 启用远程连接 1. 单击"开始",依次选择"程序"."Microsoft SQL Server 2005"."配置工具",然后单击"SQL Server 外围应用配置器". 2. 在"SQL Server 外围应用配置器"页上,单击"服务和连接的外

SQL Server事务遭遇网络异常时的处理机制浅析

SQL Server数据库中,如果应用程序正在执行一个事务的时候突然遭遇了网络异常,例如网络掉包,网络中断等,那么这个事务会怎么样? SQL Server数据库是通过什么机制来判断处理呢? 估计很多人跟我一样都有不少疑问, 我们下面构造一个测试实验来测试验证一下.如下所示:     步骤1:在客户端连使用SSMS工具连接到测试数据库,执行下面脚本,显性事务既不提交也不回滚.模拟事务正在执行当中.   USE AdventureWorks2012; GO SELECT@@SPID;     BEG

利用Ring Buffer在SQL Server 2008中进行连接故障排除

原文:利用Ring Buffer在SQL Server 2008中进行连接故障排除 出自:http://blogs.msdn.com/b/apgcdsd/archive/2011/11/21/ring-buffer-sql-server-2008.aspx SQL Server 2008中包含一个新功能,旨在帮助解决特别棘手的连接问题.这个新功能是Connectivity Ring Buffer,它可以捕捉每一个由服务器发起的连接关闭记录(server-initiated connection

【技术贴】安装sql server 2005后不能连接服务器,没有studio express以及安

我自己重装了六次sql server 2005,算是经验人士了,网上资料一大堆,都他妈错的! 如何安装sql server 2005,安装sql server 2005后没有SQL Server management studio express安装SQL Server management studio express时提示已经安装SQL Server management studio 请卸载,以及安装SQL Server management studio express后是英文界面解决办

Sql Server 2005 专用管理员连接 (DAC) 使用技巧

                                        Sql Server 2005 专用管理员连接 (DAC) 使用技巧     1 什么是专用管理员连接?SQL Server 2005 为管理员提供了一种特殊的诊断连接,以供在无法与服务器建立标准连接时使用. 2 专用管理员连接有什么用?即使在 SQL Server 不响应标准连接请求时,管理员也可以使用这种连接访问 SQL Server,以便执行诊断查询并解决问题.管理员可以通过 DAC 访问正在运行的 SQL S

SQL Server 身份验证标准连接:

SQL Server 身份验证标准连接: Data Source = myServerAddress; Initial Catalog = myDataBase; User Id = myUsername; Password = myPassword; server=.sqlexpress; database=testDB; uid=sa; pwd=123456 使用本地的SQL Server(localhost),如果想要使用远程服务器运行,应该在示例对象中把正确的服务器赋给Data Sour

解决SQL SERVER 2005无法远程连接的问题

server|解决|问题 问题 使用SQL Server Management Studio无法连接远程服务器,提示以下错误: 使用telnet 连接1433端口,报告连接失败,应该是网管封了1433端口. 解决 使用其它可用端口,方法是 1.在服务器上打开SQL Server Configuration Manager.选择SQL Server配置管理器->SQL Server 2005网络配置->MSSQLSERVER的协议->TCP/IP,在弹出对话框中选择IP地址->IPA