Consultor Eletrônico



Kbase P17091: Transfer of table to SQL Server fails.
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   30/01/2003
Status: Unverified

FACT(s) (Environment):

Windows NT 32 Intel/Windows 2000

FACT(s) (Environment):

MERANT 3.70 32-BIT Progress SQL-89

FACT(s) (Environment):

Progress 9.x

SYMPTOM(s):

Transfer of table to SQL Server fails.

Transfer Progress Database table to SQL Server.

Using SQL Server DTS software.

Error at Destination for Row number #####. Errors encounter so far in this task 1. Insert error, column ## (tablename,DBTYPE_NUMERIC), status 12: Invalid status of bound data.

CAUSE:

Field values exceed the table width.

FIX:

Two possible work arounds to this issue.

1. Upgrade to the 4.1 DataDirect driver. This problem is not exhibited in this driver.

2. Increase the format width of the fields specified within the error message.

To increase the format width follow the steps below.

a. Run the below code to determine the recid that corresponds to the ROWID displayed in the error message. Replace ##### with the ROWID specified in the error message.
---------------------------------------------------------------------------
def var i as int init 1 no-undo.
find first allocation.
repeat:
find next allocation.
assign i = i + 1.
if i = ##### then
display client-number format "x(20)" recid(allocation).
end.
---------------------------------------------------------------------------

b. After determining the recid run the below code to view the record.
Replace #### with the recid received from the above code. Replace table-name
with the tablename that encounters the transfer problem.

-------------------------------------------------------------------------
FIND FIRST table-name where RECID(table-name) = ##### EXCLUSIVE-LOCK.
DISPLAY table-name with 1 column.
--------------------------------------------------------------------------
c. Note any fields that contain question mark for values. Fields containing questions marks are the result of the data not fitting into the defined width format.

d. Launch Data Dictionary, Select Schema, Modify table, select the appropriate table and choose the Field Editor. From the Field Editor screen choose modify.
Select a field that displayed question marked. Under the format field increase the width by adding greater then marks.
Example: Change the Format value from ->>,>>>,9.99 to ->>,>>>,>>>,>>9.99.
Repeat step 4 for all fields within the recid that contained question marks.

note: Step 4. requires a Schema change to be made. A schema change requires that either the database be accessed in single user mode, or that no users accessing the database at the time of the schema change.