Ошибка ms sql "нарушение атрибута с ограничением на тип данных"
Модератор: Andrew™
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Ошибка ms sql "нарушение атрибута с ограничением на тип данных"
в таблице поле brief описано как DSACC_SWIFT:char(35)
я так понимаю что это пользовательский тип данных, верно?
при запросе SELECT * FROM abcd.dbo.mytable where brief = '1234567890'
на последующий NEXT получаю ошибку "нарушение атрибута с ограничением на тип данных"
в мс студии, как обычно , такой запрос отрабатывает без проблем....
что не так в Clarione и как это побороть?
я так понимаю что это пользовательский тип данных, верно?
при запросе SELECT * FROM abcd.dbo.mytable where brief = '1234567890'
на последующий NEXT получаю ошибку "нарушение атрибута с ограничением на тип данных"
в мс студии, как обычно , такой запрос отрабатывает без проблем....
что не так в Clarione и как это побороть?
Ошибка ms sql "нарушение атрибута с ограничением на тип данных"
не, все гораздо хуже - оно SELECT * FROM abcd.dbo.mytable не переваривает.....с той же ошибкой
Ошибка ms sql "нарушение атрибута с ограничением на тип данных"
Select * - страшная штука, никогда не знаешь, в каком порядке поля пойдут... Можно посмотреть на описание БД в скуле и Кларионе ?
Next может иметь неподходящее поле для размещения данных или вообще никакого...
Next может иметь неподходящее поле для размещения данных или вообще никакого...
Ошибка ms sql "нарушение атрибута с ограничением на тип данных"
видимо тут и есть проблема, заменил select * на перечень полей согласно словарику и оно заработало.
Всем спасибо.
Ошибка ms sql "нарушение атрибута с ограничением на тип данных"
Типичная картинка - в таблицу добавили поле, а в кларионовский файл забыли. Или порядок полей поменяли. После чего Select * работает криво. Кстати, включить трассировку драйвера и посмотреть тоже весьма не худо...
Ошибка ms sql "нарушение атрибута с ограничением на тип данных"
вот тут как раз такой случай - 2 таблицы в разных базах имеют , к сожалению, разный набор полей
соответственно при переключении на с "правильной базы" на "неправильную" процедурка отьехала
в общем берем за правило для чужих таблиц select * не юзать
хотя заманчиво, что говорить....
соответственно при переключении на с "правильной базы" на "неправильную" процедурка отьехала
в общем берем за правило для чужих таблиц select * не юзать
хотя заманчиво, что говорить....
-
- ✯ Ветеран ✯
- Сообщения: 5002
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 7 раз
- Поблагодарили: 21 раз
Ошибка ms sql "нарушение атрибута с ограничением на тип данных"
Есть правильный принцип - не писать запросов типа "select *". Вообще не писать. Ни для каких баз, ни своих, ни чужих. Забыть про эту звёздочку совсем. Просто, что называется, зарубить себе на носу. Ссылку на получение запроса через prop:SQL в Кларионе я давал.alex881 писал(а): ↑28 Июнь 2017, 15:06 вот тут как раз такой случай - 2 таблицы в разных базах имеют , к сожалению, разный набор полей
соответственно при переключении на с "правильной базы" на "неправильную" процедурка отьехала
в общем берем за правило для чужих таблиц select * не юзать
хотя заманчиво, что говорить....
We are hard at work… for you.
Ошибка ms sql "нарушение атрибута с ограничением на тип данных"
Может быть, кто-то оживит LoadQueueFromSQL, для меня сейчас совсем не актуально (кларионовские программы только на tps), выложил архив с несколькими используемыми вариантами
на https://mega.nz/#!JwJzzbjA!Qo4MEMKuw3_2 ... 9MMLDBQiFs, писал про эту функцию неоднократно
на https://mega.nz/#!JwJzzbjA!Qo4MEMKuw3_2 ... 9MMLDBQiFs, писал про эту функцию неоднократно
Ошибка ms sql "нарушение атрибута с ограничением на тип данных"
Есть ещё такая привычка свои косяки вымещать на якобы неправильном синтаксисе языка.
А я так скажу: нравится в Кларионе писать после IF лексему THEN -- пиши, нравится вместо точки писать END -- пиши, нравится в Си в IF после () всегда писать {} ELSE {} -- пожалуйста, только не косячь, а накосячил -- не жалуйся.
Прости, Kreator, это не личный выпад. Просто сталкивался уже с апологетами такого рода: приходили такие, говорили, а давайте, мля, избавимся от всех звёздочек. Через месяц, мля, доложить, насколько стало лучше.
-
- ✯ Ветеран ✯
- Сообщения: 5002
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 7 раз
- Поблагодарили: 21 раз
Ошибка ms sql "нарушение атрибута с ограничением на тип данных"
Не понял. Вы считаете, что при запросе "select * from table" Кларион должен совершить чудо? Узнать структуру "table" и правильно (в правильном порядке) подложить к нему свои переменные?Shur писал(а): ↑28 Июнь 2017, 22:29 Есть ещё такая привычка свои косяки вымещать на якобы неправильном синтаксисе языка.
А я так скажу: нравится в Кларионе писать после IF лексему THEN -- пиши, нравится вместо точки писать END -- пиши, нравится в Си в IF после () всегда писать {} ELSE {} -- пожалуйста, только не косячь, а накосячил -- не жалуйся.
Прости, Kreator, это не личный выпад. Просто сталкивался уже с апологетами такого рода: приходили такие, говорили, а давайте, мля, избавимся от всех звёздочек. Через месяц, мля, доложить, насколько стало лучше.
А ещё интересно посмотреть на Вашу (или Клариона) реакцию на такой запрос к таблице, в которой есть ох...ные blob'ы.
We are hard at work… for you.
-
- ✯ Ветеран ✯
- Сообщения: 1014
- Зарегистрирован: 08 Июль 2005, 6:48
- Откуда: Россия
- Поблагодарили: 1 раз
Ошибка ms sql "нарушение атрибута с ограничением на тип данных"
давайте-давайте, бойцы, мало вам, мля, ПТ на SQL.ru?
зыы или "разойдись"???, забыл, ...ля
зы - Вольно, разойтись, оправиться, .....лязыы или "разойдись"???, забыл, ...ля
-
- ✯ Ветеран ✯
- Сообщения: 1703
- Зарегистрирован: 25 Март 2009, 21:55
- Благодарил (а): 9 раз
- Поблагодарили: 4 раза
Ошибка ms sql "нарушение атрибута с ограничением на тип данных"
Подыму тему, может пока помните и Вас не затруднит, сделаете простенький пример (app+dct) использования LoadQueueFromSQL, и бросим в FAQ?Yufil писал(а): ↑28 Июнь 2017, 16:34 Может быть, кто-то оживит LoadQueueFromSQL, для меня сейчас совсем не актуально (кларионовские программы только на tps), выложил архив с несколькими используемыми вариантами
на https://mega.nz/#!JwJzzbjA!Qo4MEMKuw3_2 ... 9MMLDBQiFs, писал про эту функцию неоднократно
А то в выше указанном файле, мне тупому не совсем понятно, что лишнее.
Буду признателен. Спасибо заранее.
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
Ошибка ms sql "нарушение атрибута с ограничением на тип данных"
Хмм... . Сейчас у меня вообще нет ни одного приложения на SQL - сервере (впрочем, есть мертворождённый проект на MySQL-Python-Django), даже на Кларионе практически нет новых приложений, только сопровождаю старые. И, соответственно, последние годы больше пишу на Python и Javascript, чем на Clarion
Попробую что-нибудь сделать...
Попробую что-нибудь сделать...
-
- ✯ Ветеран ✯
- Сообщения: 5002
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 7 раз
- Поблагодарили: 21 раз
Ошибка ms sql "нарушение атрибута с ограничением на тип данных"
Раз уж подняли тему. Я ещё тогда думал-думал по поводу LoadQueueFromSQL. Есть у меня сомнения. Вот какие. Есть вещи, тяжело реализуемые языком SQL, есть вообще не реализуемые. Легче сделать средствами Клариона. Я, например, форматирование даты делаю в цикле по файлу/вьюхе. Может Юрий покажет как у него обходится этот момент. Делать ещё цикл по очереди и переписывать в другое поле или в другую очередь?
We are hard at work… for you.