.CSV就是文本文件,你可以直接在c#中读取该文件,然后循环导入.

解决方案 »

  1.   

    用DTS导入时,还需建数据源,在C#中直接读取就可以了吗?你有试用过嘛!
      

  2.   

    .CSV文件里有明显的符号间隔每个字段,可以写个格式文件,对号入座,插入数据,以前有人发过这样的帖子的,免不了循环
      

  3.   

    地區:北京
    年限:2年
    技術:.Net BS开发
    工資:avg>>5K + 福利,几乎不加班,工作开心,心情愉快。
    公司性質:汽车门户网站。 PS: 透露点消息,我们公司正在招.net BS开发人员,如果哪位同仁想换工作,是一个不错的机会选择,加[email protected] 说应聘即可!
      

  4.   

    1.  用C#写一个代码,先读入这个CSV文件,然后一行一行的读取,根据分隔符取出不同的字段值,然后用insert语句插入到SQLserver中
    2.  直接使用SQLSERVER的DTS,有专门的对CSV文件的驱动的,使用数据导出导入向导,非常容易完成这个操作
      

  5.   

    以下是我想从制定目录读取.csv文件并将数据绑定到DataGrid1中,测试有误~~~请帮忙看看错在什么地方~~~谢谢
    string Strconn=" Provider=Microsoft.Jet.OLEDB.4.0;Driver={Microsoft Text Driver (*.csv)}; Dbq="+file+";Extensions=csv;FMT=TabDelimited";
    OleDbConnection  objConn = new  OleDbConnection(Strconn);
    string strName = inputFile.PostedFile.FileName;
    int intExt = strName.LastIndexOf("\\");
    string name = strName.Substring(intExt+1);
    string strSql ="Select [Date & Time] as DT,[0.3um] as tzhi,[0.5um] as Fzhi,[5.0um] as Zzhi From "+name;
    OleDbCommand cmd = new OleDbCommand(strSql,objConn);
    OleDbDataAdapter dad = new OleDbDataAdapter(strSql,objConn);
    DataSet dst = new DataSet();
       try
        {
    dad.Fill(dst,"test");
    DataGrid1.DataSource = dst;
    DataGrid1.DataBind();
        }
       catch(Exception Exc)
        {
    Response.Write(Exc.ToString().Split('。')[0]);
        }
      

  6.   

    string cs = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + path + @";Extended Properties=""text;HDR=Yes;FMT=Delimited""" ;
    用这个连接字符串吧,应该可以的,当年我用来读取Outlook和OE的联系人
    不过这种事情比较繁琐,
    你要比对CSV的列SQl的列,
    我的做法是,
    1)读取CSV,
    2)确定CSV每个字段和SQL的字段的对应关系,用整数表示,
    这一步是最繁琐的
      

  7.   

    代码是有,不过是在一个系统里面结构很完整,分布在多个类里面,
    而且调用也比较复杂,还真没办法直接给你,
    不过思路已经给你了,如果你的csv可以保证列顺序总是正确的,第二步可以简化很多,
    你就按照一个固定的顺序读取每列的数据就可以了,不过这样感觉不保险
      

  8.   

    运行时总报此错误~~请指教~~
    System.Data.OleDb.OleDbException: 'C:\Documents and Settings\Desktop\20060707.CSV' is not a valid path.
      

  9.   

    不是说了吗?路径错误,文件存在吗?另外这个csv本身有没有错误?
      

  10.   

    但是文件真真实实的存在,所以说感觉很奇怪!CSV本身会有什么错误~~第一次用CSV所以不清楚的地方请你指教~~
      

  11.   

    你先用System.IO.File.Exists()检查一下文件是否存在,
    csv要看看是不是格式良好的,
    下面是打开csv的源程序
    这个地方你要注意,
    path是csv的目录的全名
    fileName是csv的名称,不包括前面的路径
    public bool ImportOutlooExpByOleDB(string path , string fileName )
    {
    string cs = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + path + @";Extended Properties=""text;HDR=Yes;FMT=Delimited""" ;
    System.Data.OleDb .OleDbConnection con = new System.Data.OleDb.OleDbConnection(cs) ;
    con.Open() ;
    try
    {
    string sql = String.Format("SELECT * FROM [{0}] ",fileName) ;
    System.Data.DataSet ds = new System.Data.DataSet() ;
    System.Data.OleDb.OleDbDataAdapter ada = new System.Data.OleDb.OleDbDataAdapter(sql , con) ;
    ada.Fill(ds , fileName) ;这时候路径充当的是数据库
    文件名充当的是表,不要搞错了
      

  12.   

    调试好一会还是有错误:
    'E:\profile\SD\20060707.CSV' is not a valid path. Make sure that the path name is spelled correctly and that you are connected to the server on which the file resides.
    查不出原因,还得请你帮忙~~,请你帮分析一下,还会有什么原因!^_^
      

  13.   

    上传.CSV文件还需要建立数据源吗?以上问题请帮忙~~~
      

  14.   

    没有这样的参数吧,E:\profile\SD\20060707.CSV
    第一个参数应该是E:\profile\SD\(看看最后是否有下划线)
    第二个参数应该是20060707.CSV,
      

  15.   

    To mythofcynthia(Blue) 请问我根据你说的方法在本机上测试没问题,而到了Server端去报我指定的路径不是一个有效路径??
    你知道什么原因吗?