CREATE procedure TxtIn
@s2 VarChar(10)
As
Declare @s1 as VarChar(100);
set @s1='bcp '+@s2+' in c:\AK28.txt -c -q -S"banhao" -U"sa" -P"111"'; EXEC master..xp_cmdshell @s1;
GO
@s2 VarChar(10)
As
Declare @s1 as VarChar(100);
set @s1='bcp '+@s2+' in c:\AK28.txt -c -q -S"banhao" -U"sa" -P"111"'; EXEC master..xp_cmdshell @s1;
GO
不好意思没有节单,我还是由个问题
下面的存储过程中,如果我将c:\AK2923.TXT 参数化,就不好用。我的语句是
set @STR1='bcp '+@S1+' out '+@S2+' -c -q -S"'+@S3+'" -U"'+@S4+'" -P"'+@S5+'"';
我是用BCB进行调用的
调用代码是
ADOStoredProc1->Close();
ADOStoredProc1->Parameters->ParamByName("@S1")->Value="cc..TABLE1";
ADOStoredProc1->Parameters->ParamByName("@S2")->Value="c:\AK21119.txt";
ADOStoredProc1->Parameters->ParamByName("@S3")->Value="banhao";
ADOStoredProc1->Parameters->ParamByName("@S4")->Value="sa";
ADOStoredProc1->Parameters->ParamByName("@S5")->Value="111";
ADOStoredProc1->ExecProc();
此代码就是不能生成c:\AK21119.txt(我试过,问题就出在这)如果我将第二条多加一个\就是ADOStoredProc1->Parameters->ParamByName("@S2")->Value="c:\\AK21119.txt";(bcb就这样)
则程序将生成一个AK21119.TX的文件,不是文本文件,
请指教CREATE procedure Myok
@S1 VarChar(10),
@S2 VarChar(10),
@S3 VarChar(10),
@S4 VarChar(10),
@S5 VarChar(10)
As
Declare @STR1 as VarChar(100);
set @STR1='bcp '+@S1+' out c:\AK2923.txt -c -q -S"'+@S3+'" -U"'+@S4+'" -P"'+@S5+'"';
EXEC master..xp_cmdshell @STR1;
GO
sp1.Parameters.ParamByName('@Filename').Value:='c:\TestSP.Txt';
sp1.Parameters.ParamByName('@Server').Value:='Jiang';
sp1.Parameters.ParamByName('@User').Value:='sa';
sp1.Parameters.ParamByName('@Pass').Value:='';
sp1.ExecProc;
运行没有问题,TestSP.TXT文件在C:\下面。