Phi*_*enn 6 sql-server sql-server-2005
如何使用批量插入命令指定字段长度?
示例:如果我有一个名为c:\ Temp\TableA.txt的表,它有:
123ABC
456DEF
Run Code Online (Sandbox Code Playgroud)
我有一张桌子,如:
use tempdb
CREATE TABLE TABLEA(
Field1 char(3),
Field2 char(3)
)
BULK INSERT TableA FROM 'C:\Temp\TableA.txt'
SELECT * FROM TableA
Run Code Online (Sandbox Code Playgroud)
那么我如何指定Field1和Field2的长度?
cod*_*ike 12
我认为你需要定义一个格式文件
例如
BULK INSERT TableA FROM 'C:\Temp\TableA.txt'
WITH FORMATFILE = 'C:\Temp\Format.xml'
SELECT * FROM TableA
Run Code Online (Sandbox Code Playgroud)
但是,要实现这一点,显然需要格式文件.
有关创建一个的一般信息,请参阅此处:
猜测,从查看Schema,这样的事情可能会这样做:
<?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="CharFixed" LENGTH="3"/>
<FIELD ID="2" xsi:type="CharFixed" LENGTH="3"/>
</RECORD>
<ROW>
<COLUMN SOURCE="1" NAME="Field1" xsi:type="SQLCHAR" LENGTH="3"/>
<COLUMN SOURCE="2" NAME="Field2" xsi:type="SQLCHAR" LENGTH="3"/>
</ROW>
</BCPFORMAT>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
21775 次 |
| 最近记录: |