Первые два варианта - это попытка работать с БД Navision в Delphi.
Использовались стандартные компоненты Delphi TADOConnection, TADOQuery, TADOTable.
Именно там при наличии поля Amount - таблица или запрос не открывается нормально, т.е. свойство Active равно True, но значения RecordCount, RecNo получить не удается.
вот код по третьему варианту
DBCC TRACEON(8765)
GO
SELECT
Entry_No_,
G_L_Account_No_,
Amount
FROM OPENQUERY(NAV1, 'SELECT
Entry_No_,
G_L_Account_No_,
Posting_Date,
Document_Type,
Amount
FROM G_L_Entry
WHERE Posting_Date IS NOT NULL
')
При включении поля Amount в SELECT происходит именно та ошибка, про которую я писал.
Т.е., как я предполагаю, во всех случаях по непонятным причинам приложение не может преобразовать значение Amount в известный ему тип данных. Но если я напишу
CONVERT(text, Amount) то MSSQL ругается
Explicit conversion from data type numeric to text is not allowed.
Может проблема в C/ODBC? Может поновее версию нужно взять?
|