我想将D:\实验室\change\liugang\corpus\Giga(切分)\keywordsWithV目录下的所有txt文档导入表中,其中txt文档以keywordsWithV_0.txt,keywordsWithV_1.txt,.....keywordsWithV_167.txt格式命名,txt文档符合规范。导入的表名叫temp吧。请问具体怎么做?请注意是批量导入txt文档,有多个!我想通过以下实现,但是会报错,说with前面必须有; 请问怎么回事,谁能按照我的思路做以下?谢谢了,万分感谢!
DECLARE @i int
SET @i=0
DECLARE @address varchar(150)
while(@i<168)
begin
SET @address='D:\实验室\change\liugang\corpus\Giga(切分)\keywordsWithV\keywordsWithV_'
SET @address=@address+cast(@i as varchar(3))+'.txt'
print @address
SET @i=@i+1
bulk insert temp from @address with (fieldterminator=',')
end

解决方案 »

  1.   

    示例
    本例从指定的数据文件中导入订单详细信息,该文件使用竖杠 (|) 字符作为字段终止符,使用 |\n 作为行终止符。BULK INSERT Northwind.dbo.[Order Details]
       FROM 'f:\orders\lineitem.tbl'
       WITH 
          (
             FIELDTERMINATOR = '|',
             ROWTERMINATOR = '|\n'
          )本例指定 FIRE_TRIGGERS 参数。BULK INSERT Northwind.dbo.[Order Details]
       FROM 'f:\orders\lineitem.tbl'
       WITH
         (
            FIELDTERMINATOR = '|',
            ROWTERMINATOR = ':\n',
            FIRE_TRIGGERS
          )如果这个也不行,试试BCP
      

  2.   

    EXEC('bulk insert temp from '+@address+' with (fieldterminator='',''')
      

  3.   

     还是不行,报如下错误。闷哦,头痛了。
    D:\实验室\change\liugang\corpus\Giga(切分)\keywordsWithV\keywordsWithV_0.txt
    Msg 102, Level 15, State 1, Line 1
    'D' 附近有语法错误。
    Msg 319, Level 15, State 1, Line 1
    关键字 'with' 附近有语法错误。如果此语句是公用表表达式或 xmlnamespaces 子句,那么前一个语句必须以分号结尾。
    D:\实验室\change\liugang\corpus\Giga(切分)\keywordsWithV\keywordsWithV_1.txt
    Msg 102, Level 15, State 1, Line 1
    'D' 附近有语法错误。
    Msg 319, Level 15, State 1, Line 1
    关键字 'with' 附近有语法错误。如果此语句是公用表表达式或 xmlnamespaces 子句,那么前一个语句必须以分号结尾。
    D:\实验室\change\liugang\corpus\Giga(切分)\keywordsWithV\keywordsWithV_2.txt
      

  4.   

    我采取了变通的办法,用JAVA将所有txt文档写入到一个txt中然后达到目的。。笨了点,但是没办法。谢谢SQL77~
      

  5.   

    EXEC('bulk insert temp from '''+@address+''' with (fieldterminator='',''')楼主试试这样吧,上面弄错了