我编写了一个应用程序来传输记录作为从 Sybase Ase 数据库读取并编写一个新创建的本地 Sybase Asa 数据库。有近 110.000 条记录需要传输。
在我的本地机器上,应用程序成功运行(Windows7- 32 位 - 3GB 内存),但在开发服务器(Windows Server 2008 - 64 位 - 8GB 内存)上,当我的 ;
- 记录数为 ~ 40.000 和“工作集-私有”~ 1.800.000kb(2,8gb)
- gc 总内存增量是稳定的
我的日志在这里流动;
- 详细工作集 - 私有:507948K,GC GetTotalMemory:49229720
- 详细工作集 - 私有:918620K,GC GetTotalMemory:51377000
- 详细工作集 - 私有:1328568K,GC GetTotalMemory:52245316
- 详细工作集 - 私有:1739128K,GC GetTotalMemory:52978364
- 详细工作集 - 私有:1813940K,GC GetTotalMemory:51567670
- 记不清 -
还有这个用于创建本地sybase asa数据库的批处理文件;
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**
这些是获得的知识,但我不明白为什么会因此错误而中止传输。我的机器上一切正常,服务器上有什么不同?我必须在哪里寻找问题?另外我必须如何评论私人的增加?