ORA-03113:通信通道的文件结尾-完美解决方案

Posted linbobo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ORA-03113:通信通道的文件结尾-完美解决方案相关的知识,希望对你有一定的参考价值。

利用FTP服务器下载目录

import os,sys
from ftplib import FTP
from mimetypes import guess_type

nonpassive = False                                                         #passive FTP by default
remotesite = 192.168.191.1
remotedir = .                                                            #FTP的路径
remoteuser = ()                                                            #因为我没设置密码,所以为空集

localdir = .                                                             #本地路径

clean_all = input( Clean local directory first? )[:1] in [y,Y]       #是否清除本地目录所有文件
#连接PFTP
print(connecting...)
connection = FTP(remotesite)
connection.login(*remoteuser)
connection.cwd(remotedir)
if nonpassive:
    connection.set_pasv(False)                                             #most servers do passive
#清除
if clean_all:
    for localname in os.listdir(localdir):
        try:
            print(deleting local,localname)
            os.remove(os.path.join(remotedir,localname))
        except:
            print(cannot delete, localname)

count = 0
remotefiles = connection.nlst()
#只能下载目录中的文件,不能下载目录中的目录
for remotename in remotefiles[:5]:
    if remotename in (.,..) or not . in remotename:continue             #判断是否目录,这里根据实际情况更改
    mimetype,encoding = guess_type(remotename)
    mimetype = mimetype or ?/?
    mimetype = mimetype.split(/)[0]

    localpath = os.path.join(localdir,remotename)
    print(downing,remotename,to,localpath,end= )
    print(as,mimetype,encoding or ‘‘)
    #保存文件
    if mimetype == text and encoding == None:
        localfile = open(localpath,w,encoding=connection.encoding)
        callback = lambda line: localfile.write(line + \n)
        connection.retrlines(RETR +remotename,callback)
    else:
        localfile = open(localpath,wb)
        connection.retrbinary(RETR +remotename,localfile.write)

    localfile.close()
    count += 1

connection.quit()
print(Done:,count,file download.)

 

利用FTP服务器上传目录

import os,sys
from ftplib import FTP
from mimetypes import guess_type

nonpassive = False                                                         #passive FTP by default
remotesite = 192.168.191.1
remotedir = RRR                                                            #FTP的路径
remoteuser = ()                                                            #因为我没设置密码,所以为空集

localdir = TTT                                                             #本地路径

clean_all = input( Clean local directory first? )[:1] in [y,Y]       #是否清除远程目录所有文件
#连接PFTP
print(connecting...)
connection = FTP(remotesite)
connection.login(*remoteuser)
connection.cwd(remotedir)
if nonpassive:
    connection.set_pasv(False)                                             #most servers do passive
#清除
if clean_all:
    for remotename in connection.nlst():
        try:
            print(deleting local,remotename)
            connection.delete(remotename)
        except:
            print(cannot delete, remotename)

count = 0
localfiles = os.listdir(localdir)
#只能下载目录中的文件,不能下载目录中的目录
for localname in localfiles[:5]:
    mimetype,encoding = guess_type(localname)
    mimetype = mimetype or ?/?
    mimetype = mimetype.split(/)[0]

    localpath = os.path.join(localdir,localname)
    print(downing,localname,to,localpath,end= )
    print(as,mimetype,encoding or ‘‘)
    #保存文件
    if mimetype == text and encoding == None:
        localfile = open(localpath,rb)
        connection.storlines(RETR +localname,localfile)
    else:
        localfile = open(localpath,rb)
        connection.storbinary(RETR +localname,localfile)

    localfile.close()
    count += 1

connection.quit()
print(Done:,count,file uploaded.)

 

以上是关于ORA-03113:通信通道的文件结尾-完美解决方案的主要内容,如果未能解决你的问题,请参考以下文章

ORA-03113:通信通道的文件结尾解决

Oracle错误——ORA-03113:通信通道的文件结尾

Oracle 11.2.0.1的一个Bug,客户端报ORA-03113: 通信通道的文件结尾

ORA-03113: 在 os_command.exec 被重定向到标准输出之后,通信通道上的文件结尾

Oracle错误ORA-03113: end-of-file on communication channel处理办法

oracle 归档空间满的解决办法