Ошибка ms sql "нарушение атрибута с ограничением на тип данных"

ODBC

Модератор: Andrew™

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
alex881
Посетитель
Сообщения: 42
Зарегистрирован: 08 Апрель 2015, 19:31
Откуда: Оренбург

Ошибка ms sql "нарушение атрибута с ограничением на тип данных"

Сообщение alex881 »

в таблице поле brief описано как DSACC_SWIFT:char(35)
я так понимаю что это пользовательский тип данных, верно?
при запросе SELECT * FROM abcd.dbo.mytable where brief = '1234567890'
на последующий NEXT получаю ошибку "нарушение атрибута с ограничением на тип данных"
в мс студии, как обычно , такой запрос отрабатывает без проблем....
что не так в Clarione и как это побороть?
alex881
Посетитель
Сообщения: 42
Зарегистрирован: 08 Апрель 2015, 19:31
Откуда: Оренбург

Ошибка ms sql "нарушение атрибута с ограничением на тип данных"

Сообщение alex881 »

не, все гораздо хуже - оно SELECT * FROM abcd.dbo.mytable не переваривает.....с той же ошибкой
Yufil
Ветеран движения
Сообщения: 1277
Зарегистрирован: 16 Май 2006, 14:34
Контактная информация:

Ошибка ms sql "нарушение атрибута с ограничением на тип данных"

Сообщение Yufil »

Select * - страшная штука, никогда не знаешь, в каком порядке поля пойдут... Можно посмотреть на описание БД в скуле и Кларионе ?
Next может иметь неподходящее поле для размещения данных или вообще никакого...
Ал
✯ Ветеран ✯
Сообщения: 1011
Зарегистрирован: 08 Июль 2005, 6:48
Откуда: Россия

Ошибка ms sql "нарушение атрибута с ограничением на тип данных"

Сообщение Ал »

alex881 писал(а): 28 Июнь 2017, 14:34 не, все гораздо хуже
:facepalm: видимо "mytable" - не совсем .mytable :?:
alex881
Посетитель
Сообщения: 42
Зарегистрирован: 08 Апрель 2015, 19:31
Откуда: Оренбург

Ошибка ms sql "нарушение атрибута с ограничением на тип данных"

Сообщение alex881 »

Yufil писал(а): 28 Июнь 2017, 14:42 Select * - страшная штука, никогда не знаешь, в каком порядке поля пойдут... Можно посмотреть на описание БД в скуле и Кларионе ?
Next может иметь неподходящее поле для размещения данных или вообще никакого...
видимо тут и есть проблема, заменил select * на перечень полей согласно словарику и оно заработало.
Всем спасибо.
Yufil
Ветеран движения
Сообщения: 1277
Зарегистрирован: 16 Май 2006, 14:34
Контактная информация:

Ошибка ms sql "нарушение атрибута с ограничением на тип данных"

Сообщение Yufil »

Типичная картинка - в таблицу добавили поле, а в кларионовский файл забыли. Или порядок полей поменяли. После чего Select * работает криво. Кстати, включить трассировку драйвера и посмотреть тоже весьма не худо...
alex881
Посетитель
Сообщения: 42
Зарегистрирован: 08 Апрель 2015, 19:31
Откуда: Оренбург

Ошибка ms sql "нарушение атрибута с ограничением на тип данных"

Сообщение alex881 »

вот тут как раз такой случай - 2 таблицы в разных базах имеют , к сожалению, разный набор полей
соответственно при переключении на с "правильной базы" на "неправильную" процедурка отьехала ;-)
в общем берем за правило для чужих таблиц select * не юзать ;-)
хотя заманчиво, что говорить....
kreator
✯ Ветеран ✯
Сообщения: 4960
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 6 раз
Поблагодарили: 19 раз

Ошибка ms sql "нарушение атрибута с ограничением на тип данных"

Сообщение kreator »

alex881 писал(а): 28 Июнь 2017, 15:06 вот тут как раз такой случай - 2 таблицы в разных базах имеют , к сожалению, разный набор полей
соответственно при переключении на с "правильной базы" на "неправильную" процедурка отьехала
в общем берем за правило для чужих таблиц select * не юзать
хотя заманчиво, что говорить....
Есть правильный принцип - не писать запросов типа "select *". Вообще не писать. Ни для каких баз, ни своих, ни чужих. Забыть про эту звёздочку совсем. Просто, что называется, зарубить себе на носу. Ссылку на получение запроса через prop:SQL в Кларионе я давал.
We are hard at work… for you. :)
Yufil
Ветеран движения
Сообщения: 1277
Зарегистрирован: 16 Май 2006, 14:34
Контактная информация:

Ошибка ms sql "нарушение атрибута с ограничением на тип данных"

Сообщение Yufil »

Может быть, кто-то оживит LoadQueueFromSQL, для меня сейчас совсем не актуально (кларионовские программы только на tps), выложил архив с несколькими используемыми вариантами
на https://mega.nz/#!JwJzzbjA!Qo4MEMKuw3_2 ... 9MMLDBQiFs, писал про эту функцию неоднократно
Shur
Ветеран
Сообщения: 384
Зарегистрирован: 02 Июль 2011, 18:49

Ошибка ms sql "нарушение атрибута с ограничением на тип данных"

Сообщение Shur »

kreator писал(а): 28 Июнь 2017, 16:26 Есть правильный принцип - не писать запросов типа "select *". Вообще не писать. Ни для каких баз, ни своих, ни чужих. Забыть про эту звёздочку совсем. Просто, что называется, зарубить себе на носу.
Есть ещё такая привычка свои косяки вымещать на якобы неправильном синтаксисе языка.
А я так скажу: нравится в Кларионе писать после IF лексему THEN -- пиши, нравится вместо точки писать END -- пиши, нравится в Си в IF после () всегда писать {} ELSE {} -- пожалуйста, только не косячь, а накосячил -- не жалуйся.
Прости, Kreator, это не личный выпад. Просто сталкивался уже с апологетами такого рода: приходили такие, говорили, а давайте, мля, избавимся от всех звёздочек. Через месяц, мля, доложить, насколько стало лучше.
kreator
✯ Ветеран ✯
Сообщения: 4960
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 6 раз
Поблагодарили: 19 раз

Ошибка ms sql "нарушение атрибута с ограничением на тип данных"

Сообщение kreator »

Shur писал(а): 28 Июнь 2017, 22:29 Есть ещё такая привычка свои косяки вымещать на якобы неправильном синтаксисе языка.
А я так скажу: нравится в Кларионе писать после IF лексему THEN -- пиши, нравится вместо точки писать END -- пиши, нравится в Си в IF после () всегда писать {} ELSE {} -- пожалуйста, только не косячь, а накосячил -- не жалуйся.
Прости, Kreator, это не личный выпад. Просто сталкивался уже с апологетами такого рода: приходили такие, говорили, а давайте, мля, избавимся от всех звёздочек. Через месяц, мля, доложить, насколько стало лучше.
Не понял. Вы считаете, что при запросе "select * from table" Кларион должен совершить чудо? Узнать структуру "table" и правильно (в правильном порядке) подложить к нему свои переменные?
А ещё интересно посмотреть на Вашу (или Клариона) реакцию на такой запрос к таблице, в которой есть ох...ные blob'ы.
We are hard at work… for you. :)
Ал
✯ Ветеран ✯
Сообщения: 1011
Зарегистрирован: 08 Июль 2005, 6:48
Откуда: Россия

Ошибка ms sql "нарушение атрибута с ограничением на тип данных"

Сообщение Ал »

давайте-давайте, бойцы, мало вам, мля, ПТ на SQL.ru? :lol:
boxing-on-ring.jpg
boxing-on-ring.jpg (28.5 КБ) 6735 просмотров
зы - Вольно, разойтись, оправиться, .....ля
зыы или "разойдись"???, забыл, ...ля :idied:
gopstop2007
✯ Ветеран ✯
Сообщения: 1702
Зарегистрирован: 25 Март 2009, 21:55
Благодарил (а): 9 раз
Поблагодарили: 4 раза

Ошибка ms sql "нарушение атрибута с ограничением на тип данных"

Сообщение gopstop2007 »

Yufil писал(а): 28 Июнь 2017, 16:34 Может быть, кто-то оживит LoadQueueFromSQL, для меня сейчас совсем не актуально (кларионовские программы только на tps), выложил архив с несколькими используемыми вариантами
на https://mega.nz/#!JwJzzbjA!Qo4MEMKuw3_2 ... 9MMLDBQiFs, писал про эту функцию неоднократно
Подыму тему, может пока помните и Вас не затруднит, сделаете простенький пример (app+dct) использования LoadQueueFromSQL, и бросим в FAQ?
А то в выше указанном файле, мне тупому не совсем понятно, что лишнее. :D
Буду признателен. Спасибо заранее.
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
Yufil
Ветеран движения
Сообщения: 1277
Зарегистрирован: 16 Май 2006, 14:34
Контактная информация:

Ошибка ms sql "нарушение атрибута с ограничением на тип данных"

Сообщение Yufil »

Хмм... . Сейчас у меня вообще нет ни одного приложения на SQL - сервере (впрочем, есть мертворождённый проект на MySQL-Python-Django), даже на Кларионе практически нет новых приложений, только сопровождаю старые. И, соответственно, последние годы больше пишу на Python и Javascript, чем на Clarion

Попробую что-нибудь сделать...
kreator
✯ Ветеран ✯
Сообщения: 4960
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 6 раз
Поблагодарили: 19 раз

Ошибка ms sql "нарушение атрибута с ограничением на тип данных"

Сообщение kreator »

Раз уж подняли тему. Я ещё тогда думал-думал по поводу LoadQueueFromSQL. Есть у меня сомнения. Вот какие. Есть вещи, тяжело реализуемые языком SQL, есть вообще не реализуемые. Легче сделать средствами Клариона. Я, например, форматирование даты делаю в цикле по файлу/вьюхе. Может Юрий покажет как у него обходится этот момент. Делать ещё цикл по очереди и переписывать в другое поле или в другую очередь?
We are hard at work… for you. :)
Ответить