Ошибка преобразования при выполнении хранимой процедуры SQL Server из Access ADODB

Следующий код хранится в процедуре на SQL Server 2008 и выполняется с использованием ADODB в MS Access; Я получаю следующую ошибку при попытке выполнить его в Access...

Ошибка времени выполнения -2147217913 (80040e07)
[Microsoft] [Драйвер ODBC SQL Server][SQL Server]
Ошибка преобразования при преобразовании значения nvarchar 'fldNumericData' в тип данных int.

fldNumeric содержит только значения 0,1,2,3,4 и 5, но следующее утверждение не выполняется...

SELECT  Order#, MachineID, Addr1, 
        Addr2, City, [State], Country, ZIP, Contact, Phone, Fax, email,
        Product, CAST([fldNumeric] AS INT) AS [fldNumeric], 
        CAST([AutoSub] AS INT) AS [AutoSub], Mode, [FileName]
INTO #sRst1
FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0',
                'C:\Documents and Settings\database.mdb';
                'admin';'',tempTable) LEFT JOIN FN_qryOne() ON fldMatch =                         
                 FN_qryOne.fldMatch AND fldCutOff = FN_qryOne.fldCutOff

1 ответ

Уродливо, что вы должны присоединиться к функции, но попробуйте это:

SELECT  Order#, MachineID, Addr1, 
    Addr2, City, [State], Country, ZIP, Contact, Phone, Fax, email,
    Product, CAST([fldNumeric] AS INT) AS [fldNumeric], 
    CAST([AutoSub] AS INT) AS [AutoSub], Mode, [FileName]

INTO  #sRst1
FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0',
            'C:\Documents and Settings\database.mdb';
            'admin';'',tempTable) AS FM LEFT JOIN FN_qryOne() AS F ON FM.fldMatch =                         
             F.fldMatch AND FM.fldCutOff = F.fldCutOff
Другие вопросы по тегам