我有一些sql脚本将数据从我们的SQL Server移动到Progress框。但它停止了工作。
这适用于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
升级OLE DB提供程序“MSDASQL”后链接服务器“linkedserver”返回消息“多步OLE DB操作生成错误”后的错误消息。 检查每个OLE DB状态值(如果可用)。没有工作。“。消息7344,级别16,状态1,行1链接服务器”linkedserver“的OLE DB提供程序”MSDASQL“由于列”unit-desc“而无法INSERT INTO表”[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
任何人都知道如何使这个工作?
答案 0 :(得分:1)
您正在使用MSDASQL ODBC驱动程序连接到Progress,但您需要DataDirect OpenEdge 10.2B ODBC驱动程序。你在使用QAD吗?如果是这样,请联系QAD,他们应该只能从Progress获取ODBC驱动程序的安装程序。如果没有,请直接联系Progress。根据您与供应商或进度的合同,您可能会或可能不会对驱动程序收取费用。