我有一个 Windows Service 应用程序, 以以下格式接收一系列数据
IDX|20120512|075659|00000002|3|AALI |Astra Agro Lestari Tbk. |0|ORDI_PREOPEN|12 |00000001550.00|00000001291.67|00001574745000|00001574745000|00500|XDS1BXO1| |00001574745000|ݤ
IDX|20120512|075659|00000022|3|ALMI |Alumindo Light Metal Industry Tbk. |0|ORDI |33 |00000001300.00|00000001300.00|00000308000000|00000308000000|00500|--U3---2| |00000308000000|õÄ
此数据以百万行和序列 0000002....00198562
提供,我必须根据序列进行剖析并插入数据库表格。
我的问题是,将这些数据插入我数据库的最佳(最有效的)方式是什么? 我试图使用一个简单的方法打开 SqlConnectction 对象,然后生成一个 SQL 字符串插入脚本,然后使用 SqlCommand 对象执行脚本, 但是这个方法花费的时间太长了 。
我读到,我可以使用Sql BULK INSERT, 但是它必须从文本文件中读到, 这个假想是否可能使用 BULK INSERT? (我以前从未使用过它) 。
谢谢
更新: 我知道 SqlBulkCopy, 但是它需要我先拥有数据表, 这样对性能有用吗? 如果可能的话, 我想直接从我的数据源插入到 SQL 服务器, 而不必在存储数据表中使用 。