关于数据库连接的问题,请指点!谢谢! 也就是你的classpath能否找到你的驱动。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你是不是没有将Oracle的JDBC驱动包放到你的服务器的lib中? ?????也就是你的classpath能否找到你的驱动。小弟刚学,能不能说的具体点,并告诉我怎样找到这个驱动,小弟没装驱动! 你用的使什么应用服务器,把Oracle数据库的驱动(.jar)文件放在应用服务器的lib目录就OK了,驱动到http://otn.oracle.com下载 yuan_1980(lovestory) ,驱动不用另外装的,只要你装了Oracle,Oracle中就自动带了Oracle的JDBC驱动包,一般位于Oracle安装目录下的ora81\jdbc\lib目录下,初始扩展名为ZIP,需要手工把classes.zip改名为classes.jar,然后你只要把classes.jar放到你的服务器的common/lib下就可以了。 我用的是TOMCAT,ORACLE数据库驱动在哪儿?小弟刚学,真的不清楚,谢谢,我的机器也装了ORACLE, Oracle里就自带着他的驱动阿,你只要把它放到Tomcat\common\lib下就可以了。好好看看我上面给你写的东东吧。 把 盘符:\Oracle\Ora81\jdbc\lib\classes12.zip放在你的CLASSPATH里 oralce的驱动程序放置在oralce的安装目录\Orant\jdbc下,把他拷贝到tomcat的common\lib下就可以了。 哎!我在ORCLE目录下搜索CLASS12.JAR,怎么也没找到这个文件呀。为什么? 刚开始后缀名是.ZIP,是要你自己手动改为.jar的,你再找CLASS12.ZIP看看。 你的意思是把CLASS12.ZIP改为CLASS12.jar?我这样做了。可是还是出错呀! 然后你把CLASS12.jar放到tomcat\common\lib目录下,重新启动tomcat,运行看看。 如果还不行的话,你就把CLASS12.jar改为class12.jar放到tomcat\common\lib目录下,重新启动tomcat。因为java中对于大小写很敏感的。 fany_han(fany_han)你好!可能是好了,不过现在出现这样错误:Io 异常: Connection refused(DESCRIPTION=(TMP=)(VSNNUM=135294976)(ERR=12505)(ERROR_STACK=(ERROR=(CODE=12505)(EMFI=4))))请帮忙! conn = DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:clscdd","clscdd","clscb"); 这句话中的地址是你的ip地址,你把127.0.0.1改为你的ip试试看。 我改为本地地址后出现下面的错误:Io 异常: Invalid connection string format, a valid format is: "host:port:sid" 当然是本地数据库了,端口是:1521,这个错不了。说我的数据库连结串不对!怎么会呢!SID:CLSCDD,username:CLSCDD,password:clscb.帮小弟想想!谢谢! 文件名是:classes12.zip或者classes12.jar一般用classes12.zip即可。一定要放到服务器(你的web服务器)能找到目录里. 我把classes12.jar放在tomcat\common\lib下了。这样可以吗? 1、用文本编辑器打开你的oracle\ora90(或者ora80)\network\admin\tnsnames.ora看看里面的sid和端口号定义(如果没有就建立新的),host用你的机器名就行了。2、确定开启了数据库服务3、这里改成Class.forName("oracle.jdbc.driver.OracleDriver").newInstance() 别忘了声明实例Class.forName().newInstance() 帮我看一下tnsnames.ora,以下是其内容:##################################### TNSNAMES.ORA Configuration File:C:\OraHome1\NETWORK\ADMIN\tnsnames.ora# Generated by Oracle Enterprise Manager V2# Date..........: Sat Jun 14 16:09:27 CST 2003####################################CLSCDD_HQF_PC = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = hqf_pc)(PORT = 1521)) ) (CONNECT_DATA = (SID = clscdd)(SERVER = DEDICATED)) )CLSCDD = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521)) ) (CONNECT_DATA = (SID = ora8)) )ORA8 = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521)) ) (CONNECT_DATA = (SID = ora8)) )INST1_HTTP = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = hqf_pc)(PORT = 1521)) ) (CONNECT_DATA = (SERVER = SHARED)(SERVICE_NAME = ora8)(PRESENTATION = http://admin)) )# TNSNAMES.ORA Network Configuration File: C:\OraHome1\network\admin\tnsnames.oraEXTPROC_CONNECTION_DATA = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0)) ) (CONNECT_DATA = (SID = PLSExtProc)(PRESENTATION = RO)) )LOCAL_ORA = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521)) ) (CONNECT_DATA = (SID = ora8)(SERVER = DEDICATED)) )需要改动吗?如何确定开启数据库?如何声明实例Class.forName().newInstance()???小弟初学,见笑了。请指点,谢谢! 你用的是你自己机器上的Oracle吗?要是的话,看看有没有启动:在任务管理器->进程,应该有oracle的。或者查看系统服务,看看oracle服务是否启动,没有启动请启动。Class.forName().newInstance();不用也可以的,象你开始用的Class.forName();也行。 OracleOUIHomeHTTPServer,只有这一项没启动了。因其占用了80端口,故停了,为什么还提示这样的错呢?Io 异常: Invalid connection string format, a valid format is: "host:port:sid" 不会呀。我还用这个用户名、密码登录ORACLE了呢! String sql= "select * from jbdwb";改成String sql= "select * from clascdd.jbdwb";试试 对不起,不应提示这个错误,我在调试过程中把端口号给删掉了,我改过来后的错误是:Io 异常: Connection refused(DESCRIPTION=(TMP=)(VSNNUM=135294976)(ERR=12505)(ERROR_STACK=(ERROR=(CODE=12505)(EMFI=4))))请问这是怎么回事呀? to yuan_1980(lovestory):Class.forName("oracle.jdbc.driver.OracleDriver").newInstance(); CLSCDD = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521)) ) (CONNECT_DATA = (SID = ora8)) )你使用的这个吧?下面这个也可以ORA8 = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521)) ) (CONNECT_DATA = (SID = ora8)) )不用改动host改成你自己的机器名试试加newInstanceClass.forName("oracle.jdbc.driver.OracleDriver").newInstance(); conn = DriverManager.getConnection("jdbc:oracle:thin:@你机子的ip:1521:CLSCDD","CLSCDD","clscb"); 再试看看,因为大小写是有区分的 class12.jar使用在两处地方1、若你所有的数据库操作相关代码写在bean里,那么需要将class12.jar设置到编译环境2、在你的应用服务器的环境设置文件中设置CLASSPATH例如Weblogic7的setWLSEnv.cmd文件中设置了CLASSPATH=%WL_HOME%\server\lib\weblogic.jarweblogic.jar中已经包括了jdbc。lib里不加class12.jar也可以。Tomcat类似 楼主你url写错了conn = DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:clscdd","clscdd","clscb"); 改为conn = DriverManager.getConnection("jdbc:oracle:thin:clscdd/[email protected]:1521:clscdd"); clscdd=用户名clscb=密码clscdd=sid 说说你的Oracle的版本:你安装的,你要访问的。注意classes12.zip文件只能用高版本的。把你的错误提示列出来看看! 我装的是oracle8i,我在本地安装的,错误提示为:Io 异常: Connection refused(DESCRIPTION=(TMP=)(VSNNUM=135294976)(ERR=12505)(ERROR_STACK=(ERROR=(CODE=12505)(EMFI=4)))) 你要连接的Oracle是哪个版本的。把你连数据库的代码粘出来,报上面错误的代码。 谢谢各位,是我没有把SID的含义弄明白,下面我要散分了 一个奇怪的问题 String值转int hibernate中的内连接查询 Weblogic9上使用Struts文件上传组件上传文件速度很慢的问题. 对于系统高峰时间并发量几万的文档下载,系统在这个模块应该进行哪些设计啊? 一个有关Session的简单问题 关于错误500的问题 急,急,急!一个超链接传参数的问题 弹出对话框 关于Javabean和数组的问题。如何讲数组定义为javabean呢 [求助]JSP配置问题? java初学者的问题!
可能是好了,不过现在出现这样错误:Io 异常: Connection refused(DESCRIPTION=(TMP=)(VSNNUM=135294976)(ERR=12505)(ERROR_STACK=(ERROR=(CODE=12505)(EMFI=4))))请帮忙!
这句话中的地址是你的ip地址,你把127.0.0.1改为你的ip试试看。
Io 异常: Invalid connection string format, a valid format is: "host:port:sid"
一般用classes12.zip即可。
一定要放到服务器(你的web服务器)能找到目录里.
看看里面的sid和端口号定义(如果没有就建立新的),host用你的机器名就行了。
2、确定开启了数据库服务
3、这里改成Class.forName("oracle.jdbc.driver.OracleDriver").newInstance()
####################################
# TNSNAMES.ORA Configuration File:C:\OraHome1\NETWORK\ADMIN\tnsnames.ora
# Generated by Oracle Enterprise Manager V2
# Date..........: Sat Jun 14 16:09:27 CST 2003
####################################CLSCDD_HQF_PC =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = hqf_pc)(PORT = 1521))
)
(CONNECT_DATA = (SID = clscdd)(SERVER = DEDICATED))
)CLSCDD =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
)
(CONNECT_DATA = (SID = ora8))
)ORA8 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
)
(CONNECT_DATA = (SID = ora8))
)INST1_HTTP =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = hqf_pc)(PORT = 1521))
)
(CONNECT_DATA = (SERVER = SHARED)(SERVICE_NAME = ora8)(PRESENTATION = http://admin))
)# TNSNAMES.ORA Network Configuration File: C:\OraHome1\network\admin\tnsnames.oraEXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
)
(CONNECT_DATA = (SID = PLSExtProc)(PRESENTATION = RO))
)LOCAL_ORA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
)
(CONNECT_DATA = (SID = ora8)(SERVER = DEDICATED))
)需要改动吗?
如何确定开启数据库?
如何声明实例Class.forName().newInstance()???小弟初学,见笑了。请指点,谢谢!
Class.forName().newInstance();不用也可以的,象你开始用的Class.forName();也行。
Io 异常: Connection refused(DESCRIPTION=(TMP=)(VSNNUM=135294976)(ERR=12505)(ERROR_STACK=(ERROR=(CODE=12505)(EMFI=4))))请问这是怎么回事呀?
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
)
(CONNECT_DATA = (SID = ora8))
)
你使用的这个吧?
下面这个也可以
ORA8 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
)
(CONNECT_DATA = (SID = ora8))
)
不用改动
host改成你自己的机器名试试
加newInstance
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
再试看看,因为大小写是有区分的
1、若你所有的数据库操作相关代码写在bean里,那么需要将class12.jar设置到编译环境
2、在你的应用服务器的环境设置文件中设置CLASSPATH
例如Weblogic7的setWLSEnv.cmd文件中设置了CLASSPATH=%WL_HOME%\server\lib\weblogic.jar
weblogic.jar中已经包括了jdbc。
lib里不加class12.jar也可以。
Tomcat类似
conn = DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:clscdd","clscdd","clscb");
改为
conn = DriverManager.getConnection("jdbc:oracle:thin:clscdd/[email protected]:1521:clscdd");
clscdd=用户名
clscb=密码
clscdd=sid
把你的错误提示列出来看看!
把你连数据库的代码粘出来,报上面错误的代码。