1.建立REMOTE一个FTP的目录,(要注意安全问题!)
2.本地 BCP db_name..tablename out c:\temp\test.txt -c -Usa -P -Sservername
3.在SQLSERVER企业管理器中建立JOB(将本地的TEST.TXT文件上传到REMOTE的FTP目录),并且建立SCHEDULE(要启动MSSQLSERVER AGENT服务)
4.REMOTE SQLSERVER你可以写一个JOB或SERVICE定时到FTP目录读取即可。
2.本地 BCP db_name..tablename out c:\temp\test.txt -c -Usa -P -Sservername
3.在SQLSERVER企业管理器中建立JOB(将本地的TEST.TXT文件上传到REMOTE的FTP目录),并且建立SCHEDULE(要启动MSSQLSERVER AGENT服务)
4.REMOTE SQLSERVER你可以写一个JOB或SERVICE定时到FTP目录读取即可。
空格补进,远端有的字段而本地没有,比如AGE也用空格填. 那么2就不行了吧.
EXEC master..xp_cmdshell 'bcp "dbname..tablename" in c:\DT.txt -c -Sservername -Usa -Ppassword'/** 导出文本文件
EXEC master..xp_cmdshell 'bcp "dbname..tablename" out c:\DT.txt -c -Sservername -Usa -Ppassword'
空格补进,远端有的字段而本地没有,比如AGE也用空格填. 那么2就不行了吧.
这样的问题有2个方法可以解决:
1.可以先将 本地TABLE的文本文件先导入到REMOTE的一个相同的临时表中,然后在INSERT到目标表。
2.可以将本地的数据保存为XML文件,到REMOTE端解析该XML文件,就可以实现指定的列的写入。