Excel中的Oracle Query可以工作,但不能在SQL中工作

时间:2014-06-12 20:07:11

标签: sql excel oracle

我目前正在尝试查询Oracle server并将数据导入SQL server

现在我得到的是这个查询:

select * from openquery(databasename, 'SELECT * FROM RICALM.REQUEST_TIMESTAMP_EXT DueDate
WHERE DueDate.NAME = "com.ibm.team.apt.attribute.constraintdate"')

如果我只是抛出查询:

SELECT * FROM RICALM.REQUEST_TIMESTAMP_EXT DueDate
WHERE DueDate.NAME = 'com.ibm.team.apt.attribute.constraintdate'

进入excel,在那里我创建了一个oracle链接,我可以很好地提取数据。

但是,当我在SQL中提取数据时,如果我只是"SELECT * FROM RICALM.REQUEST_TIMESTAMP.EXT",我可以拉整个表,但是当我添加WHERE子句时,我收到一条错误消息:

OLE DB provider "OraOLEDB.Oracle" for linked server "databasename" returned message "ORA-00972: identifier is too long".

对此有何解决方法?我想安排一个这样的查询每晚运行,所以我不必处理刷新excel表。

谢谢!

1 个答案:

答案 0 :(得分:1)

尝试使用您正在使用的openquery:

select * from openquery(databasename, 'SELECT * FROM RICALM.REQUEST_TIMESTAMP_EXT DueDate WHERE DueDate.NAME = ''com.ibm.team.apt.attribute.constraintdate''')

差异#1正在替换双引号:

"

有两个单引号,应该解析为单引号:

''

差异#2将其作为一行。