我有一个表 dic
,其中有 2 列 english
和 bangla
。我想使用文本文件中的批量插入将数据仅插入到 bangla
列中。
我尝试过可以插入2列
BULK INSERT dic
FROM 'C:\Users\Imon-Bayazid\Desktop\wordddd\good one\test.txt'
WITH
(
FIELDTERMINATOR = '\n',
ROWTERMINATOR = '\n'
)
但是我怎样才能进入一个特定的列???
最佳答案
您可以使用format file从源文件中的字段映射到目标表中的字段。 。
我假设您知道批量插入仅用于插入新行,而不是用于更新。
所以你可能有一个像这样的格式文件:
<?xml version="1.0"?>
<BCPFORMAT
xmlns="http://schemas.microsoft.com/sqlserver/2004/bulkload/format"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<RECORD>
<FIELD ID="1" xsi:type="CharTerm" TERMINATOR="\n"/>
... other fields?
</RECORD>
<ROW>
<COLUMN SOURCE="1" NAME="bangla"/>
</ROW>
</BCPFORMAT>
表“dic”中的任何其他列都需要可为空或具有默认值。
然后将格式文件指定为 BULK INSERT 语句的选项
BULK INSERT dic
FROM 'C:\Users\Imon-Bayazid\Desktop\wordddd\good one\test.txt'
WITH
(
FIELDTERMINATOR = '\n',
ROWTERMINATOR = '\n',
FORMATFILE = 'path to my format file.xml'
)
关于c# - 在 SQL Server 中批量插入特定列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14912549/