读文本文件

ORARichard 2007-10-19 04:59:38
我建了schema.ini, 并设了format=tabdelimited.我能用linkedserver读出txt文件,但无法读出含双引号的字符串,请问有什么办法可以读出含双引号的字段?
...全文
143 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
ORARichard 2007-10-24
  • 打赏
  • 举报
回复
怎么加不起来分了?
houyichong 2007-10-21
  • 打赏
  • 举报
回复
看你的ID,建议使用sqlldr,load文本的内容到oracle的一个vachar2字段,然后msslq link到oracle后
再查询oracle该字段,或者直接dts导出到mssql
ORARichard 2007-10-21
  • 打赏
  • 举报
回复
谢谢楼上,这里我想讨论如何直接用LINKEDSEVER,或OPENROWSET等直接读取文本文件,如SELECT ... FROM OPENROWSET(....)。由于有成对双引号出现在数据中,导致SELECT的结果部分丢失成为NULL,这样不符合我的要求。

如果确实不能直接读,我将选择用BULK INSERT将数据导入再查询。
fcuandy 2007-10-21
  • 打赏
  • 举报
回复
学习,hehe
ORARichard 2007-10-21
  • 打赏
  • 举报
回复
谢谢楼上几位,问题自己解决了。

先给大家一个关于schema.ini和文本文件驱动编程的官方网址。 http://msdn2.microsoft.com/en-us/library/ms709353.aspx

解决我提出的问题的方法是在schema.ini中加上如下内容,似乎这个属性微软并没有公开。
TextDelimiter=None

根据目的的不同,该属性还可以设为:
TextDelimiter="
TextDelimiter='

希望这点经验能给其他有这方面需求的朋友提供一些帮助。如有其他见解,欢迎大家继续讨论。

本贴将该为散分贴,并加分至200分。11月前结贴。
GEPIN 2007-10-19
  • 打赏
  • 举报
回复
sorry:

declare @t table(name varchar(100))
insert @t(name) exec('exec xp_cmdshell ''type F:\schema.ini''')
select name from @t
GEPIN 2007-10-19
  • 打赏
  • 举报
回复

declare @t table(name varchar(100))
insert @t(name) exec('exec xp_cmdshell ''type F:\schema.ini''')
select name from @t
ORARichard 2007-10-19
  • 打赏
  • 举报
回复
谢谢楼上,我不是想显示文件内容,我是要把该文件做为数据源去JOIN其它数据库表
GEPIN 2007-10-19
  • 打赏
  • 举报
回复
我的F盘下有个schema.ini
里面有这么一行内容:
"This is a test"

执行代码:

exec xp_cmdshell 'type F:\schema.ini'

/**
ouput
---------------
"This is a test"
**/

22,301

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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