Ber*_*eer 0 c# sql odbc out-of-memory sqldataadapter
我使用odbc适配器和数据集连接并从IBM的I Series AS400数据库接收数据.
我有一个odbc连接,如下所示:
OdbcCommand cmd = new OdbcCommand(queryString, conn); // Set Active Query
OdbcDataAdapter rt = new OdbcDataAdapter(queryString, conn); // Active Data Transfer
DataSet ds = new DataSet(); // Create DataSet
rt.SelectCommand.CommandTimeout = 180; // Set Command Timeout
rt.Fill(ds); // Transfer All Data
var reader = ds.CreateDataReader(); // Create Reader
reader.Read(); // Read
while (reader.Read()) { ... }
Run Code Online (Sandbox Code Playgroud)
它奇怪地给了System.OutOfMemoryException网上rt.Fill(ds);
如果有10亿行,包含130列会导致此错误吗?
如何避免此错误并收到我想要的数据?
如果有10亿行,包含130列会导致此错误吗?
这似乎是很多数据,可能会导致错误.
如何避免此错误并收到我想要的数据?
你应该DataReader直接使用,绕过DataSet.如果这样做,DataReader将仅加载一行数据,仅在您调用时获取下一行Read.
OdbcCommand cmd = new OdbcCommand(queryString, conn); // Set Active Query
conn.Open(); // You may not need this if already open
var reader = cmd.ExecuteReader(); // Create Reader
while (reader.Read()) { ... } // Process records, one at a time
reader.Close(); // Close Reader after use
Run Code Online (Sandbox Code Playgroud)
更多信息:
MSDN上的OdbcDataReader类
| 归档时间: |
|
| 查看次数: |
1013 次 |
| 最近记录: |