Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 openquery Firebird для типа с фиксированной точностью  [new]
Петр
Member

Откуда: Москва
Сообщений: 769
Не могу выполнить преобразование типов FireBird 2.5(FB) к SQL Server через openquery для типа с фиксированной точностью
в FB - тип поля NUMERIC(15,15)
если пишу через FLOAT то работает, но урезает значение:
select * from openquery(FB,'SELECT CAST(FIELDNAME AS FLOAT) AS FIELDNAME FROM TABLE') 


если же так:
select * from openquery(FB,'SELECT CAST(FIELDNAME AS NUMERIC(15,15)) AS FIELDNAME FROM TABLE') 

то получаю ошибку
Поставщик OLE DB "MSDASQL" для связанного сервера "FB" вернул сообщение "[ODBC Firebird Driver][Firebird]Dynamic SQL Error
SQL error code = -817
Metadata update statement is not allowed by the current database SQL dialect 1".


прошу помощи...
18 дек 19, 14:02    [22043151]     Ответить | Цитировать Сообщить модератору
 Re: openquery Firebird для типа с фиксированной точностью  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 50774
Петр
в FB - тип поля NUMERIC(15,15)

Не бывает. Первое число в скобках должно быть больше второго.

Петр
Metadata update statement is not allowed by the current database SQL dialect 1

Эта ошибка не от этого запроса. В любом случае в свойствах ODBC подключения поменяй диалект на третий.
18 дек 19, 14:44    [22043209]     Ответить | Цитировать Сообщить модератору
 Re: openquery Firebird для типа с фиксированной точностью  [new]
Петр
Member

Откуда: Москва
Сообщений: 769
Dimitry Sibiryakov
Петр
в FB - тип поля NUMERIC(15,15)

Не бывает. Первое число в скобках должно быть больше второго.

могут быть равными, но не суть

Петр
Metadata update statement is not allowed by the current database SQL dialect 1

Эта ошибка не от этого запроса. В любом случае в свойствах ODBC подключения поменяй диалект на третий.


В ODBC стоял dialect 3. Смена не 1 - результата не дала
18 дек 19, 15:11    [22043264]     Ответить | Цитировать Сообщить модератору
 Re: openquery Firebird для типа с фиксированной точностью  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 50774
Петр
В ODBC стоял dialect 3.

Тогда какой диалект у базы?

В любом случае указанный SELECT метаданные не меняет и указанную ошибку вызвать не может. Что-то вы там левое химичите. Включайте аудит или трассировку и смотрите что конкретно.

Сообщение было отредактировано: 18 дек 19, 19:27
18 дек 19, 19:25    [22043552]     Ответить | Цитировать Сообщить модератору
 Re: openquery Firebird для типа с фиксированной точностью  [new]
Петр
Member

Откуда: Москва
Сообщений: 769
химичить то нечем - это чистый запрос в Management Studio.

Для работы с БД FB пользуюсь SQL Manager Lite for InterBase Firebird. Так вот в нем поменял у самой БД dialect с 1 на 3. Сервер начал понимать тип данных NUMERIC(15,15).

Вопрос в следующем, т.к. БД FB используется сторонним приложением - насколько критична смена dialect на 3 в плане возможных сбоев в приложении ?
18 дек 19, 20:11    [22043575]     Ответить | Цитировать Сообщить модератору
 Re: openquery Firebird для типа с фиксированной точностью  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31354
Петр
Для работы с БД FB пользуюсь SQL Manager Lite for InterBase Firebird. Так вот в нем поменял у самой БД dialect с 1 на 3. Сервер начал понимать тип данных NUMERIC(15,15).

Вопрос в следующем, т.к. БД FB используется сторонним приложением - насколько критична смена dialect на 3 в плане возможных сбоев в приложении ?
Это вопрос для форума по Firebird, лучше задать его там.
18 дек 19, 21:32    [22043629]     Ответить | Цитировать Сообщить модератору
 Re: openquery Firebird для типа с фиксированной точностью  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 50774
Петр
насколько критична смена dialect на 3 в плане возможных сбоев в приложении ?

Вплоть до полной неработоспособности.
19 дек 19, 14:50    [22044377]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить