|
Создание копии таблицы
|
|||
---|---|---|---|
#18+
kdvнапример MS SQL (и сомневаюсь что MySQL и PostgreSQL) не умеет в коннекте одновременно держать активными 2 транзакции. Лично меня больше удивляет откуда вообще аффтар высосал транзакции в акцессе. Ну и с Оракулом будет ему неприятный сурпрайз, ибо тот вообще удалять таблицы в транзакции не может (как и любой другой DDL). Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2013, 14:07 |
|
Создание копии таблицы
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, Я не в курсе, про всё что умеет или не умеет Access и иже с ним ("всё про всё не знаю")... Однако, ADO (в Delphi7) позволяет: запустить транзакцию, удалить таблицу и запись в другой таблице, завершить или откатить транзакцию если произойдёт ошибка. При откате, и таблица и запись будут на месте. Аналогично и в MS SQL, и в MySQL и в PostgreSQL. Что касается "взывать к разработчикам" - нет конечно. Просто придётся от чего отказаться, может быть временно. Системы то развиваются. Вот, в Firebird 2.5 добавили CAST. Глядишь и ещё чего добавят интересного. А может и вообще проект прикроют, у автора творческий кризис похоже, судя по его высказываниям в блоге. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2013, 15:30 |
|
Создание копии таблицы
|
|||
---|---|---|---|
#18+
vynt Вот, в Firebird 2.5 добавили CAST. Глядишь и ещё чего добавят интересного. Бред. CAST существует столько же сколько Firebird. Когда он появился в IB не в курсе, но вроде тоже ещё до существования FB. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2013, 15:37 |
|
Создание копии таблицы
|
|||
---|---|---|---|
#18+
А кто такой это "автор Firebird" и где у него блог? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2013, 15:43 |
|
Создание копии таблицы
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, блог, естественно, здесь - http://www.firebirdsql.org/en/blogs/ конкрентный пост указать не могу, лень уже искать ... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2013, 16:23 |
|
Создание копии таблицы
|
|||
---|---|---|---|
#18+
vyntА может и вообще проект прикроютНе дождёшься (ц) ... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2013, 16:48 |
|
Создание копии таблицы
|
|||
---|---|---|---|
#18+
vynt Однако, ADO (в Delphi7) позволяет: запустить транзакцию, удалить таблицу и запись в другой таблице, завершить или откатить транзакцию если произойдёт ошибка. + еще один бред. ADO это компоненты доступа. Они могут то, что им позволяет сервер. И не факт, что упомянутые операции сервер действительно выполняет в одной транзакции. А про Оракл DS уже сказал. vynt у автора творческий кризис похоже, судя по его высказываниям в блоге. http://www.firebirdsql.org/en/blogs/ здесь нет ни блога "автора", ни блогов разработчиков. И что "добавили CAST" никто из упомянутых писать не мог. Потому что cast, как минимум, был в IB 4, в 1994 году. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2013, 16:50 |
|
Создание копии таблицы
|
|||
---|---|---|---|
#18+
а еще я хочу сказать вот что. vynt, конечно, понять можно, он ленив, ему Firebird сам по себе не уперся, поэтому он хочет, чтобы ФБ работал так, как ему надо, т.е. "как работают остальные". При этом, поскольку vynt все еще здесь, это также означает, что ему по каким-то причинам все же приходится в своем продукте делать поддержку Firebird. Возможно продукт платный, и без поддержки Firebird он потеряет бабло. Возможно, поддержку ФБ хочет начальство. Так или иначе, но придется. Так что, vynt, да, IB и FB работают вот так, т.е. не позволяют сделать то что ты хочешь, в одной транзакции (особенно с возможностью отката транзакции). Поэтому прими это как факт, и придумай, как это обойти в своей программе. Раз уж тебе так сильно надо удалять таблицу, и одновременно записи, которые ссылаются на эту таблицу из других таблиц. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2013, 16:55 |
|
Создание копии таблицы
|
|||
---|---|---|---|
#18+
kdv, А мне глубоко всё равно, сколько там транзакций на самом деле. Важно - Я её начинаю (одну) и Я её заканчиваю, и целостность/связанность данных выполняется. Какая БД будет, мне тоже всё равно. Важно, чтобы она обеспечивала то что МНЕ требуется. Как это всё внутри сервера/драйвера/поставщика реализовано мне не важно. Абстракция, знаете ли... Важно - чтобы заказчик/потребитель был доволен, и получил то что просил. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2013, 17:11 |
|
Создание копии таблицы
|
|||
---|---|---|---|
#18+
kdv, очень точное описание положения дел ... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2013, 17:17 |
|
Создание копии таблицы
|
|||
---|---|---|---|
#18+
vyntА мне глубоко всё равно, сколько там транзакций на самом делеТы очень сильно ошибаешься. vyntКак это всё внутри сервера/драйвера/поставщика реализовано мне не важно.Как реализовано - тебя действительно не должно интересовать. Но не об этом речь. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2013, 17:27 |
|
Создание копии таблицы
|
|||
---|---|---|---|
#18+
hvlad, если они есть и/или разрешена вложенность - всё равно если их нет - то да, не всё равно :)) ... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2013, 17:42 |
|
Создание копии таблицы
|
|||
---|---|---|---|
#18+
vynt, думай ещё. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2013, 18:04 |
|
Создание копии таблицы
|
|||
---|---|---|---|
#18+
hvladдумай ещё. Человек GLOBAL TEMPORARY TABLES ниасилил, а ты его еще думать заставляешь. =) ... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2013, 18:41 |
|
Создание копии таблицы
|
|||
---|---|---|---|
#18+
PEAKTOPhvladдумай ещё. Человек GLOBAL TEMPORARY TABLES ниасилил, а ты его еще думать заставляешь. =) - не то. решение задачи в общем то уже найдено. даже два. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2013, 18:56 |
|
Создание копии таблицы
|
|||
---|---|---|---|
#18+
Интересно услышать ... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2013, 19:43 |
|
Создание копии таблицы
|
|||
---|---|---|---|
#18+
Симонов Денис, в целом даже три... компоненты TADOConnection и TADOQuery... разрешить в настройках OLE DB вложенные транзакции... общее для всех трёх - подготовить запрос вида: "DROP TABLE xxx; DELETE FROM yyy WHERE zzz=xxx;" 1. закрыть соединение, открыть заново (не открывая не одной таблицы, это важно), начать явную транзакцию, выполнить запрос, завершить или откатить транзакцию... 2. присвоить TADOQuery.Connection=nil (если таковых несколько - всем), начать явную транзакцию, выполнить запрос, завершить или откатить транзакцию... 3. создать ещё одно подключение, начать явную транзакцию, выполнить запрос, завершить или откатить транзакцию... предпочтительнее метод 2, поскольку для сервера это всё равно что отключение всех клиентов, в то же время в клиенте это пройдёт вообще незамеченным (т.е. все контролы на форме будут по прежнему показывать данные, и их даже можно редактировать!) почему так? - пока открыта хоть одна таблица метаданные БД не доступны для обновления з.ы. TADOQuery.Connection=nil - к своему стыду не знал о такой возможности до вчерашнего дня.. набрёл случайно на статейку.. подарок прям :) ... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2013, 21:37 |
|
Создание копии таблицы
|
|||
---|---|---|---|
#18+
vyntметод 2, поскольку для сервера это всё равно что отключение всех клиентов в смысле, клиентОВ? vyntпочему так? - пока открыта хоть одна таблица метаданные БД не доступны для обновления не так. вот так, примерно - если метаданные объекта в кэше сервера используются кем-то еще, значит объект удалять нельзя. если таблица A зависит от таблицы Б, то при чтении метаданных А, в кэш подгрузятся и метаданные Б. А значит Б удалить не получится (до тех пор, пока кто-то не перестанет использовать таблицу А). ... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2013, 21:46 |
|
Создание копии таблицы
|
|||
---|---|---|---|
#18+
vynt, тыкание пальцем в проперти наугад ещё никого не доводило до хорошо работающего продукта... ... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2013, 21:59 |
|
Создание копии таблицы
|
|||
---|---|---|---|
#18+
vynt1. закрыть соединение, открыть заново (не открывая не одной таблицы, это важно), начать явную транзакцию, выполнить запрос, завершить или откатить транзакцию... 2. присвоить TADOQuery.Connection=nil (если таковых несколько - всем), начать явную транзакцию, выполнить запрос, завершить или откатить транзакцию... 3. создать ещё одно подключение, начать явную транзакцию, выполнить запрос, завершить или откатить транзакцию... А ты вообще что сделать-то хотел? Не, то шо тебе зачем-то нужно дропнуть таблицу на лету, здесь уже все поняли. А вот просто интересно, зачем ее регулярно удалять понадобилось ? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2013, 22:15 |
|
Создание копии таблицы
|
|||
---|---|---|---|
#18+
PEAKTOPА вот просто интересно, зачем ее регулярно удалять понадобилось ? Чего ж тут интересного-то: чувак просто партиционирование изобретает. Ведь в одну-то таблицу много записей не влазит, вот он и размазывает их по куче маленьких. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2013, 22:36 |
|
Создание копии таблицы
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov> Ведь в одну-то таблицу много записей не влазит, Dimitry Sibiryakov> вот он и размазывает их по куче маленьких. Окрестись, на тебя ведь ссылаться будут... Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
26.03.2013, 00:16 |
|
Создание копии таблицы
|
|||
---|---|---|---|
#18+
Гаджимурадов РустамОкрестись А это поможет? По мне так надёжнее тут всё засрать, тогда придёт модератор и ссылаться станет не на что. И, кроме того, невооружённым же глазом видно, что чувак пришёл с акцесса, а там хоть наизнанку вывернись, больше двух жалких гиг в таблицу не запихаешь. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
26.03.2013, 00:25 |
|
Создание копии таблицы
|
|||
---|---|---|---|
#18+
Да ну тебя в пень. Тогда хоть не по теме пургу гони, хоть не технически безграмотный, не жалко будет... Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
26.03.2013, 00:29 |
|
|
start [/forum/topic.php?fid=40&msg=38197965&tid=1561361]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
64ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
53ms |
get tp. blocked users: |
2ms |
others: | 366ms |
total: | 528ms |
0 / 0 |