|
|
|
FireDAC, try except и ошибка при Post
|
|||
|---|---|---|---|
|
#18+
Имеем Д7 + FireDAC примерно 2013г. Вот такой простой код в рунтайме все равно выкидывает на экран эксепшн Код: pascal 1. 2. 3. 4. 5. 6. 7. "Нарушение уникальности ключа при вставке". Допустим так надо. Но хочется полностью проигнорировать ошибку и продолжить работу. Внутрь except оно заходит. Манипуляции с обработчиком OnPostError и TDataAction у датасета ничего не дали. Задача - проимпортировать только новые (по значению ключа) записи у произвольной таблицы. Как подавить сообщение ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2019, 12:52 |
|
||
|
FireDAC, try except и ошибка при Post
|
|||
|---|---|---|---|
|
#18+
L_argoКак подавить сообщение ?Запустить без отладчика ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2019, 13:39 |
|
||
|
FireDAC, try except и ошибка при Post
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_L_argoКак подавить сообщение ?Запустить без отладчикаЧистый рунтайм. Без среды и отладчика. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2019, 13:47 |
|
||
|
FireDAC, try except и ошибка при Post
|
|||
|---|---|---|---|
|
#18+
L_argoЗадача - проимпортировать только новые (по значению ключа) записи у произвольной таблицы. Код: sql 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2019, 13:57 |
|
||
|
FireDAC, try except и ошибка при Post
|
|||
|---|---|---|---|
|
#18+
Kast2KL_argoЗадача - проимпортировать только новые (по значению ключа) записи у произвольной таблицы. Код: sql 1. 2. 3. 4. 5. 6. 7. Не годится. Нужно много телодвижений для получения валидного SQL. Проще уж делать подзапрос на существование ключа. И то, состав полей ключа еще нужно получить. Не то, чтобы сложно, но опять таки телодвижения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2019, 14:36 |
|
||
|
FireDAC, try except и ошибка при Post
|
|||
|---|---|---|---|
|
#18+
merge там есть? Быстрее залить всё без индексов во временную таблицу и дернуть его, чем дро дергать каждую строчку в ожидании чуда. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2019, 14:39 |
|
||
|
FireDAC, try except и ошибка при Post
|
|||
|---|---|---|---|
|
#18+
L_argoЧистый рунтайм. Без среды и отладчика.Не верю. Приведенный вами код никакого сообщения без отладчика показывать не должен ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2019, 15:25 |
|
||
|
FireDAC, try except и ошибка при Post
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2019, 15:42 |
|
||
|
FireDAC, try except и ошибка при Post
|
|||
|---|---|---|---|
|
#18+
Кароч сделал заливку во времянку и вставку в пост. таблицу по not exists() Попутно оказалось, что выполнить ExecSQL select * into #MyTmp from ...... не так просто. :) ФайрДАК понимает его как селект-запрос. Команда тупо игнорилась. Добавил впереди IF 1=1 и заработало :) Тема эксепшена не раскрыта, но цель достигнута: импорт новых строк работает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2019, 18:02 |
|
||
|
FireDAC, try except и ошибка при Post
|
|||
|---|---|---|---|
|
#18+
L_argoselect * into #MyTmp from ...... MS SQL? Там есть merge. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2019, 07:53 |
|
||
|
FireDAC, try except и ошибка при Post
|
|||
|---|---|---|---|
|
#18+
wadmanL_argoselect * into #MyTmp from ...... MS SQL? Там есть merge. Там много чего есть, в том числе и Хранимые процедуры и Транзакции и Try...Catch... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2019, 09:04 |
|
||
|
FireDAC, try except и ошибка при Post
|
|||
|---|---|---|---|
|
#18+
L_argoКароч сделал заливку во времянку и вставку в пост. таблицу по not exists() Попутно оказалось, что выполнить ExecSQL select * into #MyTmp from ...... не так просто. :) ФайрДАК понимает его как селект-запрос. Команда тупо игнорилась. Добавил впереди IF 1=1 и заработало :) Тема эксепшена не раскрыта, но цель достигнута: импорт новых строк работает. Зачем это делать через клиента?! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2019, 09:05 |
|
||
|
FireDAC, try except и ошибка при Post
|
|||
|---|---|---|---|
|
#18+
GerasimenkoЗачем это делать через клиента?!1. Не понял вопроса. 2. Потому что все равно выйдет Динамический SQL. 3. Все нужно сделать внутри приложения без применения сторонних средств и для максимально низкой версии МССКЛ. Хотя бы с 2005. Задача: из произвольной базы извлечь некие срезы данных и накатить их одним файлом в другую такую же базу. Например отобрать новые карточки товара и залить их в другую пустую иди непустую БД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2019, 09:26 |
|
||
|
FireDAC, try except и ошибка при Post
|
|||
|---|---|---|---|
|
#18+
L_argoGerasimenkoЗачем это делать через клиента?!1. Не понял вопроса. 2. Потому что все равно выйдет Динамический SQL. 3. Все нужно сделать внутри приложения без применения сторонних средств и для максимально низкой версии МССКЛ. Хотя бы с 2005. Задача: из произвольной базы извлечь некие срезы данных и накатить их одним файлом в другую такую же базу. Например отобрать новые карточки товара и залить их в другую пустую иди непустую БД. Это был намек на dts/ssis - на встроенные средства, которые надежнее и быстрее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2019, 09:50 |
|
||
|
FireDAC, try except и ошибка при Post
|
|||
|---|---|---|---|
|
#18+
wadmanЭто был намек на dts/ssis - на встроенные средства, которые надежнее и быстрее.Встроенные куда ? В комп клиента ? Эти встроенности - говно. Что они умеют ? Подсунь туда дату чуть не в том формате и оно адово зафейлит. Недавно пробовал импортировать CSV. Пока настроил - запарился. :) А как работать CSV для таблиц с БЛОБами/binary() ? Как-то не сталкивался, но думаю, что там тоже будет АДъ. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2019, 12:40 |
|
||
|
FireDAC, try except и ошибка при Post
|
|||
|---|---|---|---|
|
#18+
L_argoВ комп клиента ? dts/ssis это часть ms sql-сервера. Клиенту вообще должно быть всё равно на это. С блобами нет проблем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2019, 12:54 |
|
||
|
FireDAC, try except и ошибка при Post
|
|||
|---|---|---|---|
|
#18+
L_argowadmanЭто был намек на dts/ssis - на встроенные средства, которые надежнее и быстрее.Встроенные куда ? В комп клиента ? Эти встроенности - говно. Что они умеют ? Подсунь туда дату чуть не в том формате и оно адово зафейлит. Недавно пробовал импортировать CSV. Пока настроил - запарился. :) А как работать CSV для таблиц с БЛОБами/binary() ? Как-то не сталкивался, но думаю, что там тоже будет АДъ. :) авторЭти встроенности - говно. Что они умеют ? Подсунь туда дату чуть не в том формате и оно адово зафейлит. Все, что нужно знать о ТС-е, пытающимся оказать помощь... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2019, 13:23 |
|
||
|
FireDAC, try except и ошибка при Post
|
|||
|---|---|---|---|
|
#18+
wadmanL_argoВ комп клиента ? dts/ssis это часть ms sql-сервера. Клиенту вообще должно быть всё равно на это. С блобами нет проблем.Так уж нет... Ога... Открываем ССМС. Запускаем мастер экспорта (в нестуктурированный файл) выбираем таблицу с БЛОБом и..... SSMSСообщения Ошибка 0xc0208030: Задача потока данных 1: входной столбец "ObjFileBody" (81) имеет тип данных DT_IMAGE, который не поддерживается. Используйте вместо него DT_TEXT или DT_NTEXT, выполняйте преобразования данных в тип DT_IMAGE или из него при помощи компонента преобразования данных. (Мастер импорта и экспорта SQL Server)Т.е. при наличии готового мастера нельзя сделать простую операцию. :) И это экспорт, который казалось бы можно сделать однозначно просто. Что уж про импорт говорить.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2019, 14:14 |
|
||
|
FireDAC, try except и ошибка при Post
|
|||
|---|---|---|---|
|
#18+
L_argoТ.е. при наличии готового мастера нельзя сделать простую операцию. :) И это экспорт, который казалось бы можно сделать однозначно просто. Что уж про импорт говорить.... "Тут нужен программист". (с) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2019, 14:30 |
|
||
|
FireDAC, try except и ошибка при Post
|
|||
|---|---|---|---|
|
#18+
wadmanL_argoТ.е. при наличии готового мастера нельзя сделать простую операцию. :) И это экспорт, который казалось бы можно сделать однозначно просто. Что уж про импорт говорить.... "Тут нужен программист". (с)Ога... Один программист тут советует клиенту наставить "стандартные" SSMS/SSIS/SSDT и с помощью них импортировать произвольную инфу неподготовленному юзеру. Из Вашего меседжа непонятно, как решить задачу произвольного экспорта/импорта при условии, что это должен делать юзер без подготовки и без установки доп. софта. Мой импорт ориентирован на неподготовленного юзера. Который выделил строчки, сохранил в файл, отправил коллеге, а коллега втянул файл в другую БД одним кликом. Никакого стороннего софта. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2019, 16:31 |
|
||
|
FireDAC, try except и ошибка при Post
|
|||
|---|---|---|---|
|
#18+
L_argoОдин программист тут советует клиенту наставить "стандартные" SSMS/SSIS/SSDT и с помощью них импортировать произвольную инфу неподготовленному юзеру. Это: 1. Бардак, что импортом чего угодно занимается "юзер". 2. Ставить ничего не нужно "юзеру", это компоненты сервера. В прочем, какая разница... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2019, 07:49 |
|
||
|
FireDAC, try except и ошибка при Post
|
|||
|---|---|---|---|
|
#18+
wadman1. Бардак, что импортом чего угодно занимается "юзер". 2. Ставить ничего не нужно "юзеру", это компоненты сервера.1. А кто должен этим заниматься ? Программист ? :) 2. Исполнителю передали файл для импорта. Как это выглядит для того, кто будет осуществлять импорт ? Что и куда он должен поместить и запустить ? зы: Юзер - пользователь инф. системы. Возможно с повышенными правами, если речь про импорт. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2019, 10:25 |
|
||
|
FireDAC, try except и ошибка при Post
|
|||
|---|---|---|---|
|
#18+
L_argo1. А кто должен этим заниматься ? Программист ? :) 2. Исполнителю передали файл для импорта. Как это выглядит для того, кто будет осуществлять импорт ? Что и куда он должен поместить и запустить ? Первое не уровень компетентности программиста, второе - не (продвинутого) пользователя. Это орг.вопросы, которые должны решаться тимлидом/руководителем/архитектором, которого, судя по всему, не хватает. Да и тут они выходят за рамки темы и раздела. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2019, 10:43 |
|
||
|
FireDAC, try except и ошибка при Post
|
|||
|---|---|---|---|
|
#18+
wadmanL_argo1. А кто должен этим заниматься ? Программист ? :) 2. Исполнителю передали файл для импорта. Как это выглядит для того, кто будет осуществлять импорт ? Что и куда он должен поместить и запустить ? Первое не уровень компетентности программиста, второе - не (продвинутого) пользователя. Это орг.вопросы, которые должны решаться тимлидом/руководителем/архитектором, которого, судя по всему, не хватает. Да и тут они выходят за рамки темы и раздела.Это не ответы на вопросы. Это бла-бла. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2019, 13:28 |
|
||
|
FireDAC, try except и ошибка при Post
|
|||
|---|---|---|---|
|
#18+
L_argoИмеем Д7 + FireDAC примерно 2013г. Вот такой простой код в рунтайме все равно выкидывает на экран эксепшн Код: pascal 1. 2. 3. 4. 5. 6. 7. "Нарушение уникальности ключа при вставке". Допустим так надо. Но хочется полностью проигнорировать ошибку и продолжить работу. Внутрь except оно заходит. Манипуляции с обработчиком OnPostError и TDataAction у датасета ничего не дали. Задача - проимпортировать только новые (по значению ключа) записи у произвольной таблицы. Как подавить сообщение ? Посмотреть на исходники? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2019, 13:36 |
|
||
|
|

start [/forum/topic.php?fid=58&fpage=73&tid=2039469]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
38ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
64ms |
get tp. blocked users: |
2ms |
| others: | 247ms |
| total: | 394ms |

| 0 / 0 |
