Ошибка преобразования при выполнении хранимой процедуры 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