1 在sql2000中导入的文本的时候,自动生成的列名,形如col001,col002,col003……,但是在sql2008中导入的时候生成的列名为F1,F2,F3……,怎么能把这个名字统一了呢,能不能自己定制开头字母呢?
2 导入excel数据的时候,默认的数据都是varchar(50),50太少了,能不能把默认的改为更多呢,以前2000中貌似是varchar(255)。

解决方案 »

  1.   

    '导入方法一:'
    ---------------------------------------
    --使用 BULK INSERT..
    ---------------------------------------CREATE TABLE T2(COL1 INT,COL2 INT)BULK INSERT T2
    FROM 'c:\test1.txt' 
    WITH  (
      FIELDTERMINATOR = ',', 
      ROWTERMINATOR = '\n' 
      )select * from T2
    drop table T2'导入方法二:'
    ---------------------------------------
    --使用 OPENROWSET..BULK..
    -----------------------------------------------------------------------------
    --文件c:\test1.txt内容:
    --------------------------------------
    53,0
    48,1
    54,2
    ....
    --------------------------------------
    --文件 c:\value.fmt内容:
    --------------------------------------9.0
    2
    1  SQLCHAR  0  4  ","         1  Col1          SQL_Latin1_General_Cp437_BIN
    2  SQLCHAR  0  4  "\r\n"      2  Col2          SQL_Latin1_General_Cp437_BIN--------------------------------------
    --导入语句
    --------------------------------------SELECT a.* into T FROM OPENROWSET( BULK 'c:\test1.txt', 
       FORMATFILE = 'c:\value.fmt') AS a;
      

  2.   

    varchar(50),50太少了??
    难道不是可以修改的??
      

  3.   

    TO:Lovely_baby
    是可以修改的,在sql语句中逐个修改,但是每个表都有50多个字段,表的数量也很多,如果一个一个改,过于浪费时间,因为默认的是50,所以如果把默认的都改为500的话就好了。