作者blue (A Joke From God)
看板C_Sharp
标题[问题] 处理资料库时系统错误
时间Tue Sep 12 16:21:10 2006
各位前辈好:
小弟近日在处理一份约六百万笔的资料(22个栏位),
因为还要对照另外一份文字档名单上面的项目来对第一栏位做查询,
名单上约两万个项目,也就是每个项目对应到约三百笔资料
我使用了SQL Server资料库将上述资料汇入。
由於主要只有以第一个栏位作为查询比对,其余栏位均为数值需取出做运算,
故我只用了一个资料表储存所有资料,资料库档案(mdf)约1GB大。
小弟利用C#撰写程式来处理
但在DataAdapter要fill dataset的时候,
总是出现「系统错误」的讯息;
同时,系统的记忆体使用量也上升到1.2GB(我只有1024MB的实体记忆体)
我的写法大致如下:
string connection = "workstation id=BLUE;packet size=4096;" +
"user id=sa;data source=BLUE;" +
"persist security info=True;" +
"initial catalog=myDB;password=XXXXX";
string command = "SELECT * FROM T1 WHERE Name = XXXXXX";
这里我一次query 100个项目,所以XXXXX那边是用回圈串起来的
一堆 XXXX OR YYYY OR ZZZZ.......
System.Data.SqlClient.SqlDataAdapter myDA =
new SqlDataAdapter(command, connection);
DataSet myDS = new DataSet();
myDA.Fill(myDS);
错误讯息就是出现在上面这行程式码,
我本来一直怀疑是否是因为一些语法上的错误导致的,
但是试过将资料汇入六成,使资料库大小降至约700MB,
再run上述一模一样的程式便跑得出来了!
请问各位先进,这到底是什麽样的问题呢?
会是跟记忆体大小有关系吗?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.37.137