使用 C# 将数据从 DBF 传输到 SQL 服务器
Transfer data from DBF to SQL Server using C#
我需要一个函数来将数据从 .DBF
文件传输到 SQL 服务器。
这是我的做法:
- 第一步:我使用
OleDBDataAdapter.Fill
从 .DBF
文件中读取
- 第二步:将此 table 插入 SQL 服务器。
90 列 X 80000 行的第一步需要 74 秒。
有什么方法可以加快这个过程吗?
此外,如果有任何方法可以直接从 .DBF
与 SQL 服务器通信,请指导我。顺便说一句,我正在使用 C# 和 SQL Server 2008。
我错了,伙计们。我很少post来这里。
这是我的代码(花费 1 分钟多的时间将 DBF 转换为数据table):
OleDbCommand oledbcommand = new OleDbCommand();
OleDbDataAdapter adp = new OleDbDataAdapter();
oledbcommand.Connection = oledbConnectOpen();
oledbcommand.CommandText = @"SELECT * FROM " + filename;
adp.SelectCommand = oledbcommand;
adp.Fill(dt); //this is the step that consume time
dt.TableName = filename;
return dt;
在这种情况下,您最好使用 OleDbDataReader 而不是 OleDBDataAdapter,因为 reader 针对只进、只读访问进行了优化。参见 this article.
我需要一个函数来将数据从 .DBF
文件传输到 SQL 服务器。
这是我的做法:
- 第一步:我使用
OleDBDataAdapter.Fill
从.DBF
文件中读取 - 第二步:将此 table 插入 SQL 服务器。
90 列 X 80000 行的第一步需要 74 秒。
有什么方法可以加快这个过程吗?
此外,如果有任何方法可以直接从 .DBF
与 SQL 服务器通信,请指导我。顺便说一句,我正在使用 C# 和 SQL Server 2008。
我错了,伙计们。我很少post来这里。 这是我的代码(花费 1 分钟多的时间将 DBF 转换为数据table):
OleDbCommand oledbcommand = new OleDbCommand();
OleDbDataAdapter adp = new OleDbDataAdapter();
oledbcommand.Connection = oledbConnectOpen();
oledbcommand.CommandText = @"SELECT * FROM " + filename;
adp.SelectCommand = oledbcommand;
adp.Fill(dt); //this is the step that consume time
dt.TableName = filename;
return dt;
在这种情况下,您最好使用 OleDbDataReader 而不是 OleDBDataAdapter,因为 reader 针对只进、只读访问进行了优化。参见 this article.