根据一些建议,我使用bcp Utility将SQL server
表写入.cvs
文件,以便稍后我可以将数据传输到具有相同结构的informix
表。
我的SQLServer存储过程:
ALTER PROCEDURE [dbo].[TestCVS]
AS
BEGIN
declare @sql nvarchar(4000)
select @sql = 'bcp "select * from ML..gmp4vacationbalance" queryout c:\ss\Tom.cvs -c -t, -T -S' + @@servername
exec master..xp_cmdshell @sql
END
我对此程序有四个问题:
1-如何允许此过程写入remote server
而不是本地服务器@@servername
,因为允许特定服务器访问我的SQL Server并不安全?
2 - 如何允许在特定条件下过滤查询: 说我想写这样的查询:
select * from ML..gmp4vacationbalance where balance_date = @date AND emp_num = @empNum
3 - 当我执行程序时,我得到这样的数据:
为什么第三列看起来像这样被破坏了,varchar
描述了arabic
?
4 - 当我想通过管道|
而不是像这样的逗号,
分隔时
select @sql = 'bcp "select * from ML..gmp4vacationbalance" queryout c:\ss\Tom.cvs -c -t| -T -S' + @@servername
我收到以下错误: