1

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?

Tom Bascom
  • 13,405
  • 2
  • 27
  • 33
smiggleworth
  • 534
  • 4
  • 16

1 Answers1

1

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.

HardCode
  • 6,497
  • 4
  • 31
  • 54