txt文本导入sql server?

wj_mailbox 2005-12-31 12:40:30
导入文件格式是固定的,我是这样写的
BULK INSERT idr2.dbo.blacklist FROM 'c:\\share\\temp.txt' WITH (FIELDTERMINATOR = '\t',ROWTERMINATOR = '\n'
但是存在一个问题:BULK INSERT的数据源是服务器上的文件.

程序中要求用户自行导入(可能导入机器不是Sql server服务器),因此会提示文件不存在.而且可能用户选择的导入文件不符合格式要求,自己用程序生成符合格式的temp.txt,如果服务器上不存在有写文件权限的目录,则temp.txt写不成功.


请问该如何解决?
...全文
334 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
wj_mailbox 2006-01-12
  • 打赏
  • 举报
回复
字符串是拼对了,但出现了新问题。见:http://community.csdn.net/Expert/topic/4512/4512027.xml?temp=.649624
wj_mailbox 2005-12-31
  • 打赏
  • 举报
回复
肯定是搜了才问的,楼上说的这种方法在拼字符串的时候,出现单引号和双引号的问题。

servername等全部是从配置文件读出的 。然后把EXEC传给ADOQUERY的 时候提示引号错误
panjinfu80 2005-12-31
  • 打赏
  • 举报
回复
/** 导入文本文件
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'

EXEC master..xp_cmdshell 'bcp "Select * from dbname..tablename" queryout c:\DT.txt -c -Sservername -Usa -Ppassword'

导出到TXT文本,用逗号分开
exec master..xp_cmdshell 'bcp "库名..表名" out "d:\tt.txt" -c -t ,-U sa -P password'


====================
为什么不搜索一下再问呢?
dabears 2005-12-31
  • 打赏
  • 举报
回复

34,593

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧