当前位置:   article > 正文

FTP错误代码_文件系统错误12003

文件系统错误12003

本文迁移自本人网易博客,写于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的。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/255426?site
推荐阅读