0

次のコードは、SQL Server 2008 のプロシージャに格納され、MS Access の ADODB を使用して実行されます。アクセスで実行しようとすると、次のエラーが表示されます...

実行時エラー -2147217913(80040e07)
[Microsoft][ODBC SQL Server Driver][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
4

1 に答える 1

0

関数に参加しなければならないのは醜いですが、これを試してください:

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
于 2014-01-14T21:28:58.043 に答える