从 9.1E 升级到 10.2B 后,ODBC INSERT INTO 进度失败
我有一些 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 状态值(如果有)。未完成任何工作。”。消息 7344,级别 16,状态 1,第 1 行 由于列“unit-desc”,链接服务器“linkedserver”的 OLE DB 提供程序“MSDASQL”无法 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
有人知道如何使其正常工作吗?
I have some sql scripts to move data from our SQL Server to our Progress box. But it stopped working.
This worked in 9.1E but fails after upgrade to 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
The error msg after upgrade OLE DB provider "MSDASQL" for linked server "linkedserver" returned message "Multiple-step OLE DB operation generated errors.
Check each OLE DB status value, if available. No work was done.". Msg 7344, Level 16, State 1, Line 1 The OLE DB provider "MSDASQL" for linked server "linkedserver" could not INSERT INTO table "[MSDASQL]" because of column "unit-desc".The user did not have permission to write to the column.
To get it to work I remove the column with the hyphen.
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
Anyone know how to get this working?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您正在使用 MSDASQL ODBC 驱动程序连接到 Progress,但需要 DataDirect OpenEdge 10.2B ODBC 驱动程序。您使用的是 QAD 吗?如果是这样,请联系 QAD,他们应该能够从 Progress 获取仅适用于 ODBC 驱动程序的安装程序。如果没有,请直接联系 Progress。根据您与供应商或 Progress 签订的合同,您可能需要也可能不需要支付驱动程序费用。
You are using MSDASQL ODBC drivers to connect to Progress, but you need the DataDirect OpenEdge 10.2B ODBC driver. Are you using QAD? If so, contact QAD and they should be able to get an installer for only the ODBC drivers from Progress. If not, contact Progress directly. Depending on your contracts with either a vendor or Progress, you may or may not get charged for the drivers.