把你sql response.write到页面上,然后复制到sql的查询分析器里面试试看
可能是拼接有问题

解决方案 »

  1.   

    难怪,输出来还是个EXEC master..xp_cmdshell 'bcp RMS.dbo.DW in ''"+File1.Value+"'' -c -q -t, -S "sa" -U "sa" -P "sa"' 
    这个样子
      

  2.   

    File1.Value怎么回事,这个变量在SQL中到底要怎么放才正确呢
      

  3.   

    string file_path=File1.Value;
    string sql=@"EXEC  master..xp_cmdshell  'bcp  RMS.dbo.DW  in ''""+file_path""'' -c  -q  -t,  -S  ""sa""  -U  ""sa""  -P  ""sa""'";
    Response.Write(sql);结果输出:
    -----------------------------------------------------------------
    EXEC master..xp_cmdshell 'bcp RMS.dbo.DW in ''"+file_path"'' -c -q -t, -S "sa" -U "sa" -P "sa"'
    ----------------------------------------------------------------为何啊
      

  4.   

    不是你sql语句的问题,问题在于拼接字串的时候
    如果必须要在输出的string中用到"的话可以用chr(34),尽量不要在string中出现""""这样的情况,感觉不太好控制。
      

  5.   

    string sql=@"EXEC  master..xp_cmdshell  'bcp  RMS.dbo.DW  in "+file_path+" -c  -q  -t,  -S  ""sa""  -U  ""sa""  -P  ""sa""'";
    Response.Write(sql);
      

  6.   

    顺便把你用的从txt转sql的代码帮忙发一份好么?[email protected]
    多谢
      

  7.   

    EXEC  master..xp_cmdshell  'bcp  RMS.dbo.DW  in  d:\dw.txt  -c  -q  -t, -S  "servername"  -U  "userame"  -P  "password"'
    代码就是这个,现在关键是怎样把d:\dw.txt替换成变量
     tongtianming(菜鸟也有梦想)你的连接方式也不对,我测试啦
      

  8.   

    string sql=@"EXEC  master..xp_cmdshell  'bcp  RMS.dbo.DW  in "+file_path+" -c  -q  -t,  -S  "+chr(34)+sa+chr(34)+"  -U  "+chr(34)+sa+chr(34)+"  -P  "+chr(34)+sa+chr(34)+"'";将这个response.write出来,看看是什么
    然后和
    EXEC  master..xp_cmdshell  'bcp  RMS.dbo.DW  in  d:\dw.txt  -c  -q  -t, -S  "servername"  -U  "userame"  -P  "password"'
    比较一下格式还差什么
      

  9.   

    从创建Geonado_Data开始的代码都贴一下好么?只看
    EXEC  master..xp_cmdshell  'bcp  RMS.dbo.DW  in  d:\dw.txt  -c  -q  -t, -S  "servername"  -U  "userame"  -P  "password"'
    没什么用
      

  10.   

    Geonado_Data()这个只是执行SQL语句,没别的用途
    EXEC  master..xp_cmdshell  'bcp  RMS.dbo.DW  in  d:\dw.txt  -c  -q  -t, -S  "servername"  -U  "userame"  -P  "password"'
    才是关键代码
      

  11.   

    倒~我是想看你怎么创建连接,打开数据库,执行sql语句用到的变量类型和引用方法。
    纯sql的语句我知道的。另外我上面的那个string你测了么?结果是什么
      

  12.   

    jcsjdr.aspx.cs(56): 名称“chr”在类或命名空间“WebAppPowerDataGridTest.jcsjdr”中不存在
      

  13.   

    我不太熟悉C#,你查一下怎么在C#里面表达ASCII的值
      

  14.   

    using System;
    using System.Data;
    using System.Data.SqlClient;
    namespace Test
    {

    public class data
    {
    public data()
    {
    //
    // TODO: 在此处添加构造函数逻辑
    //
    }
    public string DbPath()
    {
    return "Data Source=geonado;Initial Catalog=sa;User ID=sa;Pwd=sa;";
    }
    public static string constr
    {
    get
    {
    data constr=new data();
    return constr.DbPath();
    }
    }
    public void moddata(string sql)
    {
    SqlConnection Con = new SqlConnection(data.constr);  
    SqlCommand addCommand =new SqlCommand(sql,Con);
    addCommand.Connection.Open();
    addCommand.ExecuteNonQuery();
    addCommand.Connection.Close();
    addCommand.Dispose();
    }
    }-------------------------------------------------上面的我写在一个类里面的
    //每次调用时先实例化对象:
    data Geonado_Data=new data();
    //再来调用
                        Geonado_Data(sql)
      

  15.   

    ASCII的34号表示 " 这个字符
      

  16.   

    这是我在vbscript里面测试的结果
    Dim sql, file_path, sa As String
    file_path = "c:\asdf.txt"
    sa = "sa"
    sql = "EXEC  master..xp_cmdshell  'bcp  RMS.dbo.DW  in " + file_path + " -c  -q  -t,  -S  " + Chr(34) + sa + Chr(34) + "  -U  " + Chr(34) + sa + Chr(34) + "  -P  " + Chr(34) + sa + Chr(34) + "'"
    Response.Write(sql)
    -------------------------
    页面输出:
    EXEC master..xp_cmdshell 'bcp RMS.dbo.DW in c:\asdf.txt -c -q -t, -S "sa" -U "sa" -P "sa"' 
      

  17.   

    靠,这样搞可以^_^
    string sql = "EXEC  master..xp_cmdshell  'bcp  RMS.dbo.DW  in " + file_path + " -c  -q  -t,  -S  " + " + sa + " + "  -U  " + " + sa + " + "  -P  " + " + sa + " + "'";
      

  18.   

    string sql = "EXEC  master..xp_cmdshell  'bcp  RMS.dbo.DW  in " + file_path + " -c  -q  -t,  -S  " + "sa" + "  -U  " + "sa" + "  -P  " + "sa" + "'";
    才是正确的结果,希望大家以后遇到类似的问题吸取教训