我有一些sql脚本将数据从我们的sql Server移动到我们的进度框。但是它不工作了。
此操作在9.1E中有效,但在升级到10.2B后失败
INSERT INTO OPENQUERY(linkedserver, 'select building, unit, "unit-desc", "address" from pub."rm-unit"')
SELECT DISTINCT
UPPER(ProjectCode + BuildingCode) AS building,
UPPER(UnitCode) as unit,
UPPER(UnitNumber) AS [unit-desc]
UPPER(AddressLine) as [address]
FROM RawUnit
WHERE ProjectCode in ('VM')
ORDER BY building, unit
链接服务器"linkedserver"升级OLE DB提供程序"MSDASQL"后返回消息"多步OLE DB操作产生错误"。检查每个OLE DB状态值(如果可用)。什么活儿也没干。"由于列"unit-desc",链接服务器"linkedserver"的OLE DB提供程序"MSDASQL"无法插入表"[MSDASQL]"。用户没有写入该列的权限。
为了让它工作,我删除了带连字符的列。
INSERT INTO OPENQUERY(linkedserver, 'select building, unit, "address" from pub."rm-unit"')
SELECT DISTINCT
UPPER(ProjectCode + BuildingCode) AS building,
UPPER(UnitCode) as unit,
UPPER(AddressLine) as [address]
FROM RawUnit
WHERE ProjectCode in ('VM')
ORDER BY building, unit
有人知道怎么让它工作吗?
您正在使用MSDASQL ODBC驱动程序连接到Progress,但您需要DataDirect OpenEdge 10.2B ODBC驱动程序。你在用QAD吗?如果是这样,请联系QAD,他们应该能够从Progress获得仅用于ODBC驱动程序的安装程序。如果没有,请直接联系Progress。根据您与供应商或Progress的合同,您可能会或可能不会为驱动程序收费。