Сбой передачи данных по ODBC при переходе на 19-тизначный номер заявки

Страницы: 1
RSS
Сбой передачи данных по ODBC при переходе на 19-тизначный номер заявки, Сбой передачи данных по ODBC при переходе на 19-тизначный номер заявки
 
Сегодня, при переходе на 19-тизначный номер заявки произошел сбой передачи данных по ODBC и соответственно робот встал :(. База на FB сервере, система Win7, Квик 8.5.2.11, Брокер - Кит_Финанс. Насколько я понимаю причина в том, что FB не поддерживает 19 знаков. На какую базу можно перейти? Надеюсь разработчики не отказались полностью от передачи данных по ODBC и тестировали ее хоть на какой-то базе?

Кстати, теперь номер заявки идет не по порядку выставления заявки, а по какому-то другому принципу. Например заявки по SiU0 имеет меньший номер чем GDU0, даже если она была выставлена намного позже. Так и было задумано или это какой-то сбой? И как теперь упорядочить таблицу заявок?
 
Цитата
Юрий Балашов написал:
Сегодня, при переходе на 19-тизначный номер заявки произошел сбой передачи данных по ODBC и соответственно робот встал :(. База на FB сервере, система Win7, Квик 8.5.2.11, Брокер - Кит_Финанс. Насколько я понимаю причина в том, что FB не поддерживает 19 знаков. На какую базу можно перейти? Надеюсь разработчики не отказались полностью от передачи данных по ODBC и тестировали ее хоть на какой-то базе?
Попробуйте обновиться до последней версии, сейчас это 8.8.4

Цитата
Юрий Балашов написал:
Кстати, теперь номер заявки идет не по порядку выставления заявки, а по какому-то другому принципу. Например заявки по SiU0 имеет меньший номер чем GDU0, даже если она была выставлена намного позже. Так и было задумано или это какой-то сбой? И как теперь упорядочить таблицу заявок?
Это вопрос к бирже а не к нам, они так транслируют.
Если вкратце, то на бирже произошло так называемое портицирование метчинга, в результате которого сделки нумеруются в зависимости от базового актива, а не от инструмента.
 
Цитата
Юрий Балашов написал:
Сегодня, при переходе на 19-тизначный номер заявки произошел сбой передачи данных по ODBC и соответственно робот встал :(. База на FB сервере, система Win7, Квик 8.5.2.11, Брокер - Кит_Финанс. Насколько я понимаю причина в том, что FB не поддерживает 19 знаков. На какую базу можно перейти? Надеюсь разработчики не отказались полностью от передачи данных по ODBC и тестировали ее хоть на какой-то базе?

Дополним,
Если проблема действительно в FB то обновление терминала никак не поможет.
ответ следует искать на форумах где обсуждается FB.
Еще можно попробовать изменить тип данных в самой базе.
 
Цитата
Sergey Gorokhov написал:

Дополним,
Если проблема действительно в FB то обновление терминала никак не поможет.
ответ следует искать на форумах где обсуждается FB.
Еще можно попробовать изменить тип данных в самой базе.
Да, проблема действительно в FB, Квик передает данные, но усеченные, не все 19 цифр. Поэтому и был вопрос, на какой базе данных тестировали передачу данных по ODBC?
На какой тип данных изменить, в самой базе у меня стоит DOUBLE PRECISION?
 
Вдогонку, можно ли передать номер заявки как строковый?
 
Цитата
Юрий Балашов написал:
Да, проблема действительно в FB, Квик передает данные, но усеченные, не все 19 цифр. Поэтому и был вопрос, на какой базе данных тестировали передачу данных по ODBC?
на разных базах, но FB точно не проверялся.
Цитата
Юрий Балашов написал:
На какой тип данных изменить, в самой базе у меня стоит DOUBLE PRECISION?
рекомендуем ознакомиться с документацией на FB и в ней найти нужный тип, который вмещает 19 символьные числа (если вообще там такой имеется).

Цитата
Юрий Балашов написал:
Вдогонку, можно ли передать номер заявки как строковый?

По идее да, если в базе строковый тип данных, однако совершенно точно именно для FB мы сказать не можем. рекомендуем проверить это самостоятельно.
 
В соседнем обсуждении Вы пишите, что номер заявки передается как строковый, я попробовал, но Квик (версия 8.5) не дает возможности передать в базу данных строку "Номер" заявки как строковую переменную, только как числовую.
 
Цитата
Sergey Gorokhov написал:
на разных базах, но FB точно не проверялся.
Вы можете сказать, на каких КОНКРЕТНО базах данных, желательно с версией базы, такая передача данных проверялась.
 
Цитата
Юрий Балашов написал:
В соседнем обсуждении Вы пишите, что номер заявки передается как строковый, я попробовал, но Квик (версия 8.5) не дает возможности передать в базу данных строку "Номер" заявки как строковую переменную, только как числовую.
К сожалению произошла ошибка, через терминал QUIK при экспорте по ODBC передать параметр номера заявки в виде числа нельзя.
Альтернативный вариант в виде использования QPILE таблиц, где указать строковое значение в виде номера заявки, далее эту таблицу сохранять по ODBC.

Цитата
Юрий Балашов написал:
Вы можете сказать, на каких КОНКРЕТНО базах данных, желательно с версией базы, такая передача данных проверялась.
нет не можем.
на MSSQL совершенно точно проблем не обнаружено, можете использовать ее.
 
Цитата
Sergey Gorokhov написал:
К сожалению произошла ошибка, через терминал QUIK при экспорте по ODBC передать параметр номера заявки в виде числа нельзя.
Альтернативный вариант в виде использования QPILE таблиц, где указать строковое значение в виде номера заявки, далее эту таблицу сохранять по ODBC.
Вы наверное описались, когда пишите, что "передать параметр номера заявки в виде ЧИСЛА нельзя" и имели ввиду что в виде СТРОКИ нельзя?
Не могли бы Вы дать ссылку как создать таблицу при помощи QPILE.
Цитата
Sergey Gorokhov написал:

Цитата
Юрий Балашов написал:
Вы можете сказать, на каких КОНКРЕТНО базах данных, желательно с версией базы, такая передача данных проверялась.
нет не можем.
на MSSQL совершенно точно проблем не обнаружено, можете использовать ее.
Это секретные данные???
MSSQL слишком специфичная база, не могли бы Вы сказать будет ли работать на базе Oracle 8?
 
Цитата
Юрий Балашов написал:
Вы наверное описались, когда пишите, что "передать параметр номера заявки в виде ЧИСЛА нельзя" и имели ввиду что в виде СТРОКИ нельзя?
Да, это просто опечатка. В виде строки нельзя.
Цитата
Юрий Балашов написал:
Не могли бы Вы дать ссылку как создать таблицу при помощи QPILE.
Это описано в документации на терминал QUIK, глава "Раздел 8. Алгоритмический язык QPILE"
Цитата
Юрий Балашов написал:
Это секретные данные???MSSQL слишком специфичная база, не могли бы Вы сказать будет ли работать на базе Oracle 8?
Будет работать вообще на любой БД в которой есть подходящий тип данных.
Сколько таких БД существует к сожалению затруднимся сказать, наверное очень много. И по этому мы не можем привести такой список.
 
Цитата
Sergey Gorokhov написал:
По идее да, если в базе строковый тип данных, однако совершенно точно именно для FB мы сказать не можем. рекомендуем проверить это самостоятельно.
Сергей, почему тогда у меня это не получается?
 
Цитата
Алексей Украинцев написал:
Сергей, почему тогда у меня это не получается?
Читайте внимательней.
Цитата
Sergey Gorokhov написал:
К сожалению произошла ошибка, через терминал QUIK при экспорте по ODBC передать параметр номера заявки в виде числа нельзя.
Цитата
Sergey Gorokhov написал:
Да, это просто опечатка. В виде строки нельзя.
 
Цитата
Юрий Балашов написал:
Цитата
Sergey Gorokhov написал:

Дополним,
Если проблема действительно в FB то обновление терминала никак не поможет.
ответ следует искать на форумах где обсуждается FB.
Еще можно попробовать изменить тип данных в самой базе.
Да, проблема действительно в FB, Квик передает данные, но усеченные, не все 19 цифр. Поэтому и был вопрос, на какой базе данных тестировали передачу данных по ODBC?
На какой тип данных изменить, в самой базе у меня стоит DOUBLE PRECISION?

Это же теперь целочисленный тип, а не вещественный, как было раньше (и всех сильно забавляло).
Правда, хелп QUIK'а (info.chm от 20.07.20) версии 8.8.4 (ftp.quik.ru//public/updates/8.8/quik_8.8.4_upd.zip от 21.08.20) все еще упорно говорит нам о том, что там decimal, да еще и с 15 знаками в целой части.
Таблица заявок
ПараметрФормат
НомерDECIMAL(15,0)
Таблица   сделок
ПараметрФормат
НомерDECIMAL(15,0)
ЗаявкаDECIMAL(15,0)
в BIGINT корректно пишет.
https://firebirdsql.org/refdocs/langrefupd15-bigint.html
Проверено в 3-м диалекте.
 
Цитата
Юрий Балашов написал:
Цитата
Sergey Gorokhov написал:

Дополним,
Если проблема действительно в FB то обновление терминала никак не поможет.
ответ следует искать на форумах где обсуждается FB.
Еще можно попробовать изменить тип данных в самой базе.
Да, проблема действительно в FB, Квик передает данные, но усеченные, не все 19 цифр. Поэтому и был вопрос, на какой базе данных тестировали передачу данных по ODBC?
На какой тип данных изменить, в самой базе у меня стоит DOUBLE PRECISION?
Это же теперь целочисленный тип, а не вещественный, как было раньше (и всех сильно забавляло).
Правда, хелп QUIK'а (info.chm от 20.07.20) версии 8.8.4 (ftp.quik.ru//public/updates/8.8/quik_8.8.4_upd.zip от 21.08.20) все еще упорно говорит нам о том, что там decimal, да еще и с 15 знаками в целой части.

Таблица заявок

Таблица заявок
Параметр Формат
Номер DECIMAL(15,0)

Таблица сделок
Параметр Формат
Номер DECIMAL(15,0)
Заявка DECIMAL(15,0)

в BIGINT корректно пишет.
https://firebirdsql.org/refdocs/langrefupd15-bigint.html
Проверено в 3-м диалекте.
 
Цитата
Сергей написал:
Правда, хелп QUIK'а (info.chm от 20.07.20) версии 8.8.4 (ftp.quik.ru//public/updates/8.8/quik_8.8.4_upd.zip от 21.08.20) все еще упорно говорит нам о том, что там decimal, да еще и с 15 знаками в целой части.
Это ошибка в документации
приносим извинения.
Документацию обязательно поправим
Страницы: 1
Читают тему (гостей: 1)
Наверх