积极答复者
Windows 2003 Server X64 中的IIS和ASP问题

问题
-
Windows 2003 Server X64 安装完成,IIS6启动正常,ASP程序能正常运行,但有一个问题是:
用Adodb。Stream上传文件不正常?测试结果是:
本地可以上传文件,从WWW服务器上就不能上传,报告Adodb.Straem出错:
ADODB.Stream 错误 '800a0bb9'
参数类型不正确,或不在可以接受的范围之内,或与其他参数冲突。
请问:上述的原因是是么?
我采取的措施有:开放磁盘安全权限,IIS权限,无济于事。
求助。
可以发邮件:zhjb1@263.net
谢谢!
答案
-
zhjb 写: 我将我的代码写出如下:
if strFileName<>"" then
Set objStream = Server.CreateObject("ADODB.Stream")
objStream.Type =1 ' adTypeBinary
objStream.Open
objStream.LoadFromFile strFileName 'strFileName是从表单获得的文件名
objStream.SaveToFile Server.MapPath(forder0&Mid(strFileName,instrRev(strFileName,"\")+1)),2
objStream.Close
下边是打开数据库写文件名到表
... ...
end if这段代码一直用的好好的,并且无论什么文件均能传输,直到在X64的系统上报错;报错在第四行实际错误不在第4行。请帮忙分析一下,不胜感谢。
据我研究X64的系统如果利用ANY CPU编译程序将无法访问ADODB, 具体原因没有找到, 建议在X86 cpu模式下编译应该可以正常使用.
全部回复
-
zhjb 写: 谢谢你的回答。
但是问题是在本地的IIS上——通过IE浏览器直接用Adodb.stream方法可以上传,但从WAN上——连接到物理服务器并且接入Internet上后,从网站访问上传发生上述问题的。
仅就这台服务器,曾经为64位系统折腾了1周,后来是解决了,但现在出现的问题不是以前为解决X64与X32兼容的问题了。
我是采用微软推荐的Adodb.stream方法进行上传的,在XP、Win2K系统上都正常,只是这次在X64上,不知何因?渴望得到推荐意见得到帮助。
谢谢。
ADO你可以这样试验,在project中有个any cpu的编译方式,你换成x86再编译,之前遇到过64位Vista中ADO的问题,只有这样才能解决。
-
我将我的代码写出如下:
if strFileName<>"" then
Set objStream = Server.CreateObject("ADODB.Stream")
objStream.Type =1 ' adTypeBinary
objStream.Open
objStream.LoadFromFile strFileName 'strFileName是从表单获得的文件名
objStream.SaveToFile Server.MapPath(forder0&Mid(strFileName,instrRev(strFileName,"\")+1)),2
objStream.Close
下边是打开数据库写文件名到表
... ...
end if这段代码一直用的好好的,并且无论什么文件均能传输,直到在X64的系统上报错;报错在第四行实际错误不在第4行。请帮忙分析一下,不胜感谢。
-
zhjb 写: 我将我的代码写出如下:
if strFileName<>"" then
Set objStream = Server.CreateObject("ADODB.Stream")
objStream.Type =1 ' adTypeBinary
objStream.Open
objStream.LoadFromFile strFileName 'strFileName是从表单获得的文件名
objStream.SaveToFile Server.MapPath(forder0&Mid(strFileName,instrRev(strFileName,"\")+1)),2
objStream.Close
下边是打开数据库写文件名到表
... ...
end if这段代码一直用的好好的,并且无论什么文件均能传输,直到在X64的系统上报错;报错在第四行实际错误不在第4行。请帮忙分析一下,不胜感谢。
据我研究X64的系统如果利用ANY CPU编译程序将无法访问ADODB, 具体原因没有找到, 建议在X86 cpu模式下编译应该可以正常使用.