我编写了一个应用程序,用于将记录从Sybase Ase数据库读取并写入新创建的本地Sybase Asa数据库。有近110,000条记录需要转移。
在我的本地计算机上,应用程序成功运行(Windows7-32位 - 3GB内存),但在开发服务器上(Windows Server 2008 - 64位 - 8GB内存),我的时候出现“OUT OF MEMORY”错误;
我的日志流在这里;
此批处理文件也用于创建本地sybase作为数据库;
set dbToolsPath=%1
set dbDirectory=%2
set scriptsDirectory=%3
set dbNameWOExtension=%4
REM Add trailing back slashes if necessary
IF NOT %dbToolsPath:~-1%==\ SET dbToolsPath=%dbToolsPath%\
IF NOT %dbDirectory:~-1%==\ SET dbDirectory=%dbDirectory%\
IF NOT %scriptsDirectory:~-1%==\ SET scriptsDirectory=%scriptsDirectory%\
set mfgDBFilePath=%dbDirectory%%dbNameWOExtension%.db
set mfgDBLogFilePath=%dbDirectory%%dbNameWOExtension%.log
REM Following four lines can be moved to code
attrib -R %mfgDBFilePath%
del %mfgDBFilePath%
attrib -R %mfgDBLogFilePath%
del %mfgDBLogFilePath%
REM TODO: Add explanation about the switches
cd /d %scriptsDirectory%
**%dbToolsPath%dbinit.exe -n -p 4096 -z 1252LATIN1 %mfgDBFilePath%
%dbToolsPath%dbspawn.exe -p dbeng10 -n WfDBServer %mfgDBFilePath%
%dbToolsPath%dbisql.exe -c "eng=WfDBServer;dbn=%dbNameWOExtension%;uid=dba;pwd=sql" -nogui PE_WfDB_MFG.sql
%dbToolsPath%dbstop.exe -c "eng=WfDBServer;uid=dba;pwd=pluto" -y**
这些是获得的知识,但我不明白为什么中止传输与此错误。我的机器上一切正常,服务器上有什么不同?我必须在哪里寻找问题?我还必须如何评论私人的增量?
答案 0 :(得分:1)
最可能问题是由于项目配置中的错误平台(我猜的是x86)。您可以选择AnyCPU或x64作为平台并重建应用程序。查看标记的答案.NET Out Of Memory Exception - Used 1.3GB but have 16GB installed