excel文件读取写到SQL表里如下,完全正确
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;" & _
  "Data Source=" & txtFile.Text & ";Extended Properties='Excel 8.0;HDR=No;IMEX=1'"SELECT * INTO [odbc;Driver={SQL Server};UID=sa;PWD=sasa;Server=test;Database=AIS20100125194525].t201083121450 FROM [query1]但txt文件就不行,为什么?
txtFile.Text = "C:\Documents and Settings\administrator\桌面\"
  cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;" & _
  "Data Source=" & txtFile.Text & ";Extended Properties='Text;HDR=YES;FMT=Delimited'"
SELECT * INTO [odbc;Driver={SQLServer};UID=sa;PWD=sasa;Server=test;Database=AIS20100125194525].t201083121450 FROM 1.txt请教高手,是哪写错了吗?还是这种方式不行?前提不想用读文件或循环的形式来写表,就想一次写入。

解决方案 »

  1.   

    sql server 应该是bulk insert
    看看
    http://sqlserver2000.databases.aspfaq.com/how-do-i-load-text-or-csv-file-data-into-sql-server.html
      

  2.   

    txt文件需要跟Schema.ini配置文件指定的格式(包括字符名称,长度,分隔符)保持一致。
      

  3.   

    参考我博客中《ADO访问文本数据文件 》一文。
      

  4.   

    Dim Wb As WorkBook
    Set Wb = WorkBooks.OpenText(txtFile.Text)
    Cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties=Excel 8.0;Data Source=" & Wb
    ……
    Wb.Close False
      

  5.   

    以上OpenText中的路径需根据实际情况做相应设置。
      

  6.   

     这样当成excel来操作,那
    SELECT * INTO [odbc;Driver={SQL Server};UID=sa;PWD=sasa;Server=test;Database=AIS20100125194525].t201083121450
     FROM 什么?是[query1]?还是什么?