FTP错误代码

本文迁移自本人网易博客,写于2015年4月15日,

FTP错误代码 - lysygyy的日志 - 网易博客 (163.com)

1、12003错误

指定用户未添加到有权限的组中;即指定用户没有权限。

2、CFtpFileFind.FindFile GetLastError 12110

(1)当递归获取ftp目录时,出现如题错误

void CFtpClients::FindNextFtpFileSub(CString sParentPath)

{

DWORD error = 0;

if (!m_pConnection)

{

return ;

}

CFtpFileFind finder(m_pConnection);

CString strWildPath = sParentPath + _T("/*");

BOOL bWorking = finder.FindFile(strWildPath);

if (!bWorking)

error = GetLastError();// 这里出现错误12110,该进程已在使用

CPlanDoc fileDoc;

CStringArray saDirPath;//添加要递归的目录的路径

while (bWorking)

{

bWorking = finder.FindNextFile();

if (finder.IsDirectory())

{

saDirPath.Add(sTempPath);

// finder.Close();// 加上该句就可以递归了;原因:在该函数中定义了CFtpFileFind对象,在下一次初始化之前必须close;但是这里如果close了,和该目录有相同父目录的其他目录或文件就读取不出来了;所以,想到了先将要递归的目录记录下来,稍后再循环判断;

//FindNextFtpFileSub(sTempPath);

}

}

finder.Close();

for (int i = 0; i < saDirPath.GetCount(); i++)

{

CString sTempPath = saDirPath.GetAt(i);

FindNextFtpFileSub(sTempPath);

}

}

(2)使用ftp连接服务器时,CIternetSession会抛出异常:

CInternetException:m_dwError,错误代码链接:

http://www.cnblogs.com/zzj8704/archive/2010/06/21/1761869.html

这几天总是抛出78,但是win32SDK的错误代码中没有。

(3)FindFile这个函数速度很慢,如果需要循环访问FTP服务器上的FTP文件夹,最好是,第一次先将这些文件夹记录 到一个 XML文件中;以后只需读取该XML文件即可,效率可以高出很很多,几乎忽略不计;但FindFile一次,大概 需要200微秒 ;有1000个文件夹,读1000次,需200秒;

3、连接ftp错误代码12031

在网上找到这个方法:把InternetConnect的第7个参数设置为INTERNET_FLAG_PASSIVE就可以了!

CInternetSession::GetFtpConnection

bPassive

Specifies passive or active mode for this FTP session. If set to TRUE, it sets the Win32 API dwFlag to INTERNET_FLAG_PASSIVE.

但仍然出现这个错误。而且这个函数耗时很长。

最后发现原来我导入过来的数据库的服务器IP地址是192.168.168.253,而我自己的是192.168.0.253,找不到这个IP地址,所以耗时很长。

4、12019

在使用ftp服务上传文件时,连接不上ftp服务器,一直提示错误“连接服务器重置”,错误代码是12019。

在计算机管理-服务和应用程序-IIS下应该有ftp服务才行,然后可以建立虚拟目录,添加用户,这只用户的读写权限。原来我之前用的网站默认程序都是http的,根本就不是ftp的。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值