当前位置:  技术问答>java相关

头都大了,高手请指教,参与都有分!

    来源: 互联网  发布时间:2015-09-12

    本文导语:  为什么这个连接池不能连 SQL server2000的数据库,设jdbc-odbc不行,mssqlserver2000 for jdbc也不行,我原来连oracle都没问题.而且用jdbc_odbc 桥,我改为普通的连接语句又连得上,真是搞不懂,是不是这个连接池不支持sqlserver...

为什么这个连接池不能连 SQL server2000的数据库,设jdbc-odbc不行,mssqlserver2000 for jdbc也不行,我原来连oracle都没问题.而且用jdbc_odbc
桥,我改为普通的连接语句又连得上,真是搞不懂,是不是这个连接池不支持sqlserver2000!
报错为:
Mon Sep 23 15:53:17 CST 2002: 成功注册JDBC驱动程序sun.jdbc.odbc.JdbcOdbcDriver
Mon Sep 23 15:53:18 CST 2002: 成功创建连接池j2
Mon Sep 23 15:53:18 CST 2002: 成功创建连接池j1
Mon Sep 23 15:53:18 CST 2002: 无法创建下列URL的连接: jdbc:odbc:xx
java.sql.SQLException: [Microsoft][ODBC SQL Server Driver][SQL Server]用户 'sa ' 登录失败。
at sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6031)
at sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:6188)
package sysmanager;

import java.io.*;
import java.sql.*;
import java.util.*;
import java.util.Date;

/**
* 类Dataconn支持对一个或多个由属性文件定义的数据库连接
* 池的访问.客户程序可以调用getSql()方法访问本类的唯一实例.
*/

public class Dataconn
{
        static private Dataconn instance; // 唯一实例
        static private int clients;

        private Vector drivers = new Vector();
        private PrintWriter log;
        private Hashtable pools = new Hashtable();

        /**
        * 返回唯一实例.如果是第一次调用此方法,则创建实例
        *
        * @return Dataconn 唯一实例
        */
        static synchronized public  Dataconn getSql()
        {
            if (instance == null)
                {
                instance = new Dataconn();
                }
            clients++;
            return instance;
        }

        /**
        * 建构函数私有以防止其它对象创建本类实例
        */

        private Dataconn()
        {
            init();
        }

        /**
        * 将连接对象返回给由名字指定的连接池
        *
        * @param name 在属性文件中定义的连接池名字
        * @param con 连接对象
        */
        public void freeConnection(String name, Connection con)
        {
                DBConnectionPool pool = (DBConnectionPool) pools.get(name);
                if (pool != null)
                {
                    pool.freeConnection(con);
                }
        }

        /**
        * 获得一个可用的(空闲的)连接.如果没有可用连接,且已有连接数小于最大连接数
        * 限制,则创建并返回新连接
        *
        * @param name 在属性文件中定义的连接池名字
        * @return Connection 可用连接或null
        */
        public Connection getConnection(String name)
        {
                DBConnectionPool pool = (DBConnectionPool) pools.get(name);
                if (pool != null)
                {
                    return pool.getConnection();
                }
                return null;
        }

        /**
        * 获得一个可用连接.若没有可用连接,且已有连接数小于最大连接数限制,
        * 则创建并返回新连接.否则,在指定的时间内等待其它线程释放连接.
        *
        * @param name 连接池名字
        * @param time 以毫秒计的等待时间
        * @return Connection 可用连接或null
        */
        public Connection getConnection(String name, long time)
        {
            DBConnectionPool pool = (DBConnectionPool) pools.get(name);
                if (pool != null)
                {
                    return pool.getConnection(time);
                }
                return null;
        }

        /**
        * 关闭所有连接,撤销驱动程序的注册
        */
        public synchronized void closeSql()
        {
                // 等待直到最后一个客户程序调用
                if (--clients != 0)
                {
                    return;
                }

                Enumeration allPools = pools.elements();
                while (allPools.hasMoreElements())
                {
                    DBConnectionPool pool = (DBConnectionPool) allPools.nextElement();
                    pool.closeSql();
                }
                Enumeration allDrivers = drivers.elements();
                while (allDrivers.hasMoreElements())
                {
                    Driver driver = (Driver) allDrivers.nextElement();
                    try
                        {
                                DriverManager.deregisterDriver(driver);
                                log("撤销JDBC驱动程序 " + driver.getClass().getName()+"的注册");
                        }
                    catch (SQLException e)
                        {
                                log(e, "无法撤销下列JDBC驱动程序的注册: " + driver.getClass().getName());
                    }
                }
        }

                
}

|
sa后面有空格?

|
你新建个用户试一下,密码一定要有的。

|
肯定是用户问题

|
应该是用户问题或者

输入法未切换到en

|
应该是用户问题

|
sql server 里服务器,属性,security(安全),如果选的是windows only,那就是你数据库配置问题。该为 sql server and windows 即可。若不是这的问题,呵呵,你的源程序太长,我没看完,也就不知道了 :)

|
????

|
up

|
user=sa
password=
port=1433

    
 
 

您可能感兴趣的文章:

  • 逻辑地址、物理地址、线性空间、全局段、局部段 问题请教,高手指教了!!!!在线等,高手指教了!!!在线等!!!!!!!!
  • 各位高手:光盘安装Linux9出现问题,请指教!
  • 怎么设置在Linux上面设置WEB服务器?请各位高手指教!!!
  • 高手指教:solaris硬盘分区问题
  • JMF中如何实现多路音频的混合输出?期待高手指教!
  • turbolinux 的安装问题,请高手指教!!!!!!!
  • LINUX 安装进不去图形模式!请高手指教!
  • crontab的问题,希望高手指教!谢谢!
  • 请教高手,如何在VMware下安装suse10.0??请指教,谢谢。
  • kppp拨号上网的问题,请高手指教
  • 386的保护机制为何与这个有点冲突,高手请指教
  • 望高手指教
  • 请高手指教
  • linux ftp 配置 望高手指教,感激不尽
  • linux 下,doxygen生成的html文件中文注释为乱码,请高手指教!
  • cacti监控不到磁盘数据,请高手指教!
  • !!!java 中如何执行FTP命令?请高手指教。100分相赠
  • 高手指教:怎样在LINUX下运行WIN98程序?
  • 那位高手能指教在java里string类如何转化成date型?
  • jsp中找不到表的错误,急!!!请高手指教。
  • 请java图形设计的高手帮助!!(参与即送分)
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 高手,高手,高高手请进!
  • 有熟悉EXIM的高手高手么??
  • to 高手:学java应该怎样一步步学习,从菜鸟到高手.
  • 高分请高手,高手定能解决
  • 请问高手在linux中用什么命令可以做linux的启动盘???在等待高手??
  • 有高手研究Agent++麽?里面有个thread.h,蛮难读的,请高手指点
  • 难道高手区里的人就是高手?
  • 在dos下用bc31挑战高手******开发mssql程序,连接时报link err:undefined symbol GETNOTE in module DBEXTERN?(挑战高手)
  • 真正的linux高手,请看过来,看你符合高手标准不?
  • 难道这没有高手吗?难道这没有乐于助人的高手?(高分酬谢62+50+50)
  • 关于我对linux高手用yum,非高手用源码的理由
  • 高手救命,很急——ORACLE817安装在UNIXWARE711上,手工启动数据库后在netasst中连接错误,高手帮我看看?
  • 请教高手lvs的奇怪问题,我挺着急,希望高手别潜水,就就我,先谢谢了
  • 各个高手看看这个问题!本人第一次学习java所以要各位高手的帮助。。
  • :请教高手,小弟打印width=1500,height=600(A3纸)的Applet,在预览中是该区域是黑的,打印出来也是黑的,请教高手解决一下
  • 请教高手,小弟打印width=1500,height=600(A3纸)的Applet,在预览中是该区域是黑的,打印出来也是黑的,请教高手解决一下
  • 我是新手,高手,高手,快来救我
  • EJB问题,请教高手(非高手莫进)
  • 请各位JAVA高手,网业高手看过来,我把能给的分都送出!!!只能给37分,哎!!
  • eWEEK沙龙征集高手座谈


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3