ORACLE数据连接报错无法从套接字读取更多的数据怎么解决

ORACLE数据连接报错无法从套接字读取更多的数据怎么解决,第1张

ORACLE数据连接报错无法从套接字读取更多的数据怎么解决

程序通过JDBC访问10201数据库时,碰到了一个ORA-17410错误。

详细错误信息为:

这个错误信息很难看出是Oracle的错误信息,在网上查询这个

错误的相关信息的时候才发现这个错误实际上就是ORA-17410。

ORA-17410: No more data to read from socket

如下方法Windows XP Vista Win7中安装Oracle客户端1从Oracle官方下载“Instant Client Package”的软件,较好的实现了Oracle客户端绿化的解决方案。下载地址为:可下载的程序包有:下载程序包:instantclient-basic-win32-1110x0zip (目前有版本: 111060 和 111070)或instantclient-basic-win32-1020xzip (目前有版本: 10203 和 10204)或instantclient-basic-win32-10105-20060419zip2解压到安装目录,例如:D:\ORA10 下,然后在这个目录下建立network/admin 两层文件夹,然后在admin内建立 tnsnamesora文件,输入格式如下:ZTRIOA_192168017 =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 192168017)(PORT = 1521)))(CONNECT_DATA = (SID = ZTRIOA)(SERVER = DEDICATED))) 这里根据自己的实际情况进行修改,注意中间的空格问题,如果空格多了或少了都会出现错误的。3配置系统的环境变量在 Path 变量值最前面写上: D:\ORA10;并新建变量:变量名为:oracle_home 变量值为:D:\ORA104安装 PLSQL Developer 71或其它版本吧。注意安装时不要安装在带“(x86)”的目录内,容易出错。5运行“PLSQL Developer”吧,连接一下试试,正常情况下就可以连接成功了。处理PLSQL Developer连接后出现乱码情况问题描述:使用Oracle绿色版客户端连接到其它Oracle数据库后,查询出来的信息出现乱码情况。解决方法:6打开 PLSQL Developer 安装目录下,看到有PLSQLDevexe的目录,在PLSQL Developer文件夹内新建“PLSql_runbat”文件,在该文件中输入下面内容:---------------------------------------------------------------------------------------------set nls_lang=SIMPLIFIED CHINESE_CHINAZHS16GBKPLSQLDevexe---------------------------------------------------------------------------------------------7每次启动时请使用"PLSql_runbat"文件进行启动PLSQL Developer工具,否则出现乱码。8结束,祝君好运!运行不成功的检查方法:1连接不成功,请查网络和服务器防火墙之类的。2打开“PLSQL Developer”后,点“取消”,进入到PLSQL Developer软件的Tools/preferences窗口内,再进入 Oracle/Connection中,修改内容如下:Oracle Home 中输入:D:\ORA10OCI library 中输入:D:\ORA10\ocidll再连接的试试吧。/ 下面信息来自网络/方法一---------------------------------------------------------------------------------------------------------我们项目中主要使用Oracle数据库,但每次重装自己的系统之后,都必须安装100多兆Oracle客户端工具,而项目组中多数人需要的仅仅只是用PL/SQL Developer 或TODA之类工具连接Oracle功能而已,既浪费时间又浪费磁盘。今天忽发奇想,有没有办法弄一个绿色版的Oracle出来呢?经过参考网上相关资料及自己的N(N>10)次试验,终于搞出来一个山寨版的Oracle客户端(见附件)。已经做成自解压安装包,下载后把扩展名改为exe然后执行一下,然后用 PL/SQL Developer连接数据库试试,如果连不上,那就重启一下 *** 作系统再试。另外,今天也因这而学到了如何通过注册来配置系统环境变量和用户环境变量,呵呵。今天网上搜到了Oracle官方的解决方案:Oracle官方提供了名为“Instant Client Package”的软件,较好的实现了Oracle客户端绿化的解决方案。首先从:下载程序包:instantclient-basic-win32-1110x0zip (目前有版本: 111060 和 111070)或instantclient-basic-win32-1020xzip (目前有版本: 10203 和 10204)或instantclient-basic-win32-10105-20060419zip然后解压到一个目录,例如:c:\ora92,然后在这个目录下建立NETWORK文件夹,接着再这个文件夹下再建立ADMIN文件夹,然后在ADMIN内建立tnsnamesora文件,格式如下:yourDataBaseName =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = yourhostIp )(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = yourSID )))例如:# TNSNAMESORA Network Configuration File: C:\oracle\ora90\NETWORK\ADMIN\tnsnamesora# Generated by Oracle configuration toolsXMDS =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 1452416181)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = XMDS)))这里根据自己的实际情况配置。接着打开PL/SQL,在“Tools-->perference”里面设置OCI Library和Oracle_home,我的设置是Oracle_home=c:\orac9iOCI Library=c:\ora9i\ocidll,。上面的配置工作完成后,还需要做一点来解决中文乱码的问题:写一个批处理PLSql_runbat放到Pplsqldeveloper安装目录下,内容如下:set nls_lang=SIMPLIFIED CHINESE_CHINAZHS16GBKPLSQLDevexe这个脚本的作用是告诉PLSqlDev服务器端的字符集,以便于在客户端进行正确处理,如果服务端字符集不是ZHS16GBK,则上面的脚本文件也要相应改动,常用几个中文字符集如下:set nls_lang=simplified chinese_chinazhs16cgb231280 set nls_lang=simplified chinese_chinaZHS16GBK set nls_lang=simplified chinese_chinaUtf8 #########另外,网上有些说法是不同版本的包支持不同的Oracle服务器版本:instantclient-basic-win32-1110x0zip -这个是支持Oracle 9i 以上的版(不包括Oracle9i)instantclient-basic-win32-1020xzip -这个是支持Oracle8i 和Oracle9i 的。但在官网上我还没看到相关说明,我自己也没作测试,如果谁做过测试,不妨告知一下。-----------------------------------------------------------------------------------------方法二1下载Oracle Client Package 从下载Instant Client Package – Basic包( 标注:All files required to run OCI, OCCI, and JDBC-OCI applications)这里下载的是Version 111072本地保存Oracle Client Package:创建文件夹,比如oracle_client,将下载的文件加压缩到此文件夹里(笔者目录: D:\oracle_client\instantclient_10_2)3在当前目录下,新建立两个文件,sqlnetora和tnsnamesora然后再手动配置sqlnetora和tnsnamesora比如这里是:sqlnetora文件内容:SQLNETAUTHENTICATION_SERVICES= (NTS)NAMESDIRECTORY_PATH= (TNSNAMES, EZCONNECT)tnsnamesora文件内容(斜体表示需要替换的内容):orcl=(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 1921681103)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = orcl))) 4配置环境变量变量名: TNS_ADMIN变量值: D:\oracle_client\instantclient_10_2否则出现:ORA-12154: TNS:could not resolve the connect identifier specified错误如果之前安装了Oracle 又卸载,会遗留NLS_LANG=NA的键值输入RegEdit打开注册表HKEY_LOCAL_MACHINE/SOFTWARE/ORACLE在右面找到NLS_LANG=NA并删除掉否则会报ORA-12705: Cannot access NLS data files or invalid 错误5安装pl/sql软件(过程略)6配置pl/sql的Oracle连接参数:选择pl/sql的工具/首选项(too/ preference/)里的连接,在右面设置Oracle主目录名(即安装目录)和OCI库Oracle主目录名: D:\oracle_client\instantclient_10_2OCI库: D:\oracle_client\instantclient_10_2\ocidll7登陆pl/sql测试成功方法三-------------------------------------------------------------------------------Windows下Oracle 10G Client安装 1在Oracle官方网站下载instantclient-basic-win32-10203-20061115zip (34,469,920 bytes) 2解压到C:\oraclient目录下,包括以下几个文件: classes12jar ocijdbc10dll ojdbc14jar oraocci10dll ocidll ociw32dll orannzsbb10dll oraociei10dll 3建立C:\oraclien\network\admin目录,在C:\oraclien\network\admin目录下建立tnsnamesora文件 4在环境参数Path增加C:\oraclien;注意, C:\oraclien;一定要是在Path环境参数的最前面,如果不是,当应用程序连接oracle时将报找不到ocidll的错误 5安装完成 错误:ORA-12705: Cannot access NLS data files or invalid免安装Oracle客户端使用PL/SQL,TOAD FOR oracle等管理器连接Oracle9i ,10g 众所周知,Oralce的客户端几百兆太大,网上也有许多DIR的处理。这里的处理使用官方提供ORALCE工具包Instant Client Package! 下载地址: 1:下载这个,Instant Client Package - Basic包。然后解压到任意目录比如:F:\oracleClient ,在这个目录下建立NETWORK文件夹,接着再这个文件夹下再建立ADMIN文件夹,然后服务上已经建立tnsnamesora文件到这个目录,并修改IP; 2:修改环境变量增加Oracle_home=F:\oracleClient;修改Path环境变量增加F:\oracleClient; 3启动PL/SQL,出现ORALCE logon 按取消Calcel,打开PL/SQL-》Perference里面设置OCI Library和Oracle_home,我的设置是OCI Library=F:\oracleClient \ocidll,Oracle_home=F:\oracleClient 。退出重新登陆。登陆提示如果出现Oracle Instant Client 出现 ORA-12705: Cannot access NLS data files or invalid environment specified 错误。修改如下: 如果是Windows平台,注册表里 \HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE 查找键 NLS_LANG,这个键由Oracle标准客户端安装创建, 值是 NA 。这个导致了 ORA-12705错误。解决方法就是修改NA为SIMPLIFIED CHINESE_CHINAZHS16GBK。 Linux下 如果环境变量 NLS_LANG 值是NA 会引起 ORA-12705 错误,解决方法是修改set NLS_LANG=SIMPLIFIED CHINESE_CHINAZHS16GBK

出错信息是什么?一般文件提取出错是安装文件有问题,缺少某些文件,建议从ORACLE数据库官网上直接下载使用,没许可协议官网下载版也是可以一直使用的。注意区分下载的是32位还是64位的版本,不要搞错了

ORA-01002异常,做以下检查:

1、是否从指针读取数据,即使是在最后一行已经被检索之后,并且返回ora 1403错误信息?如果是的话,在最后一行被检索之后不要再进行读取。

2、指针是否是在for update 子句中公开了?如果是的话,那么如果commit语句是在循环里面,那么在commit之后读取就会返回这个错误信息。不要在读取循环中使用commit。

3、是否重新绑定了任意的占位符变量?然后在再次执行这个语句之前进行读取,即返回这个错误信息。这样的话,需要做的事情就是再次执行它,在重新绑定了and之后再读取。

以上就是关于ORACLE数据连接报错无法从套接字读取更多的数据怎么解决全部的内容,包括:ORACLE数据连接报错无法从套接字读取更多的数据怎么解决、各路高手,win7 32位按照oracle时报错。在网上查了很多信息都未果。大家指点指点!、安装oracle数据库时,提取文件出错,怎么办呀等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9815644.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存