Показать сообщение отдельно
Старый 01.12.2006, 15:12   #8  
Falc0nMan is offline
Falc0nMan
Участник
 
11 / 10 (1) +
Регистрация: 30.11.2006
Первые два варианта - это попытка работать с БД 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? Может поновее версию нужно взять?