把你sql response.write到页面上,然后复制到sql的查询分析器里面试试看
可能是拼接有问题
可能是拼接有问题
解决方案 »
- 找用户控件源代码
- 给大家小小的漏一手本人亲自精心撰写的小型通用ajax框架,完全兼容 IE FireFox各个版本!(附完整源代码及完整范例)
- javascript高手指点 获取两个日期之间的差距数据 自动获取,在线等 高手,函数都有啦 请指点下!!!
- datatable,dataview,dataset,datareader的使用
- SqlHelper.ExecuteReader的问题!
- visual stadio 2008 设计页面上没有“查看代码”怎么解决
- 报错问题,不知道原因,提提看
- IIS设置高手进一下,急~
- 我的网站开发文档
- 如何处理textbox控件的事件
- 如何在选择treeview的某项后跳转到相应页面?
- 求FreeTextBox2.0添加中文字体的方法
这个样子
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"'
----------------------------------------------------------------为何啊
如果必须要在输出的string中用到"的话可以用chr(34),尽量不要在string中出现""""这样的情况,感觉不太好控制。
Response.Write(sql);
多谢
代码就是这个,现在关键是怎样把d:\dw.txt替换成变量
tongtianming(菜鸟也有梦想)你的连接方式也不对,我测试啦
然后和
EXEC master..xp_cmdshell 'bcp RMS.dbo.DW in d:\dw.txt -c -q -t, -S "servername" -U "userame" -P "password"'
比较一下格式还差什么
EXEC master..xp_cmdshell 'bcp RMS.dbo.DW in d:\dw.txt -c -q -t, -S "servername" -U "userame" -P "password"'
没什么用
EXEC master..xp_cmdshell 'bcp RMS.dbo.DW in d:\dw.txt -c -q -t, -S "servername" -U "userame" -P "password"'
才是关键代码
纯sql的语句我知道的。另外我上面的那个string你测了么?结果是什么
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)
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"'
string sql = "EXEC master..xp_cmdshell 'bcp RMS.dbo.DW in " + file_path + " -c -q -t, -S " + " + sa + " + " -U " + " + sa + " + " -P " + " + sa + " + "'";
才是正确的结果,希望大家以后遇到类似的问题吸取教训