Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 Как прочитать данные из таблицы в другой транзакции  [new]
angro
Member

Откуда:
Сообщений: 389
Пытаюсь записать в транзакции данные

попытка
ado. begintrans

вставляем данные

где-то тут вызывается процедура в которой данные пытаются прочитать из своего соединения
соответственно всё блокируется.

ado.committrans
исключение
ado.rollbacktrans
конецПопытки


как сделать так чтобы не блокровалось
2 янв 13, 11:22    [13715719]     Ответить | Цитировать Сообщить модератору
 Re: Как прочитать данные из таблицы в другой транзакции  [new]
Glory
Member

Откуда:
Сообщений: 104751
angro
как сделать так чтобы не блокровалось

Делать все в одном соединении
2 янв 13, 11:24    [13715722]     Ответить | Цитировать Сообщить модератору
 Re: Как прочитать данные из таблицы в другой транзакции  [new]
angro
Member

Откуда:
Сообщений: 389
Glory,

не получается, там 1с, она умеет читать из внешнего источника сама, а вставлять не умеет.
вставляю через адо
а чтение переписывать это долго очень.

по другому как-нибудь можно?
2 янв 13, 11:26    [13715723]     Ответить | Цитировать Сообщить модератору
 Re: Как прочитать данные из таблицы в другой транзакции  [new]
Glory
Member

Откуда:
Сообщений: 104751
angro
вставляю через адо

И что вам мешает делать это в одном соединении с вызовом процедуры ?
2 янв 13, 11:35    [13715731]     Ответить | Цитировать Сообщить модератору
 Re: Как прочитать данные из таблицы в другой транзакции  [new]
angro
Member

Откуда:
Сообщений: 389
Glory,

может я неправильно выразился


процедура()
происходит чтение из таблицы средствами 1с
КонецПроцедуры

ado. begintrans

вставляем данные

процедура()

ado.committrans
исключение
ado.rollbacktrans

в чтение средствами 1с я не могу подсунуть свой adoconneсtion
2 янв 13, 11:39    [13715736]     Ответить | Цитировать Сообщить модератору
 Re: Как прочитать данные из таблицы в другой транзакции  [new]
Glory
Member

Откуда:
Сообщений: 104751
Причем тут "чтение из таблицы средствами 1с"
Тем более то, которое завершилось
Вы написали
"попытка
ado. begintrans

вставляем данные

где-то тут вызывается процедура в которой данные пытаются прочитать из своего соединения
соответственно всё блокируется. "

Если все это происходит в 1ом коннекте, то вы не можете блокировать сами себя.
2 янв 13, 11:57    [13715761]     Ответить | Цитировать Сообщить модератору
 Re: Как прочитать данные из таблицы в другой транзакции  [new]
angro
Member

Откуда:
Сообщений: 389
Glory,

я так понимаю 2 всё таки,
один создаю я для вставки
второй созадаёт 1с для чтения.
2 янв 13, 12:05    [13715773]     Ответить | Цитировать Сообщить модератору
 Re: Как прочитать данные из таблицы в другой транзакции  [new]
Glory
Member

Откуда:
Сообщений: 104751
angro
я так понимаю 2 всё таки,

Ну так и зачем вы в своем ado создаете 2 коннекта ?

angro
второй созадаёт 1с для чтения.

Какого чтения 1с, если "где-то тут вызывается процедура в которой данные пытаются прочитать из своего соединения" ?

Вы сами то понимаете, что и в какой последовательности у вас происходит ?
2 янв 13, 12:08    [13715775]     Ответить | Цитировать Сообщить модератору
 Re: Как прочитать данные из таблицы в другой транзакции  [new]
angro
Member

Откуда:
Сообщений: 389
Ну так и зачем вы в своем ado создаете 2 коннекта ?

один я создаю, один 1с


Какого чтения 1с, если "где-то тут вызывается процедура в которой данные пытаются прочитать из своего соединения" ?

это я так чтение средствами 1с назвал.

Вы сами то понимаете, что и в какой последовательности у вас происходит ?
да
2 янв 13, 12:15    [13715783]     Ответить | Цитировать Сообщить модератору
 Re: Как прочитать данные из таблицы в другой транзакции  [new]
Glory
Member

Откуда:
Сообщений: 104751
angro
Вы сами то понимаете, что и в какой последовательности у вас происходит ?
да

Ну так напишите тогда так, чтобы и другие поняли
2 янв 13, 12:18    [13715788]     Ответить | Цитировать Сообщить модератору
 Re: Как прочитать данные из таблицы в другой транзакции  [new]
angro
Member

Откуда:
Сообщений: 389
Glory,

ну ладно, я так понял другого совета кроме как в одном соединении вы предложить не можете.
2 янв 13, 12:22    [13715795]     Ответить | Цитировать Сообщить модератору
 Re: Как прочитать данные из таблицы в другой транзакции  [new]
Glory
Member

Откуда:
Сообщений: 104751
angro
ну ладно, я так понял другого совета кроме как в одном соединении вы предложить не можете.

Совет был дан, когда про 1С ничего не было сказано
2 янв 13, 12:25    [13715799]     Ответить | Цитировать Сообщить модератору
 Re: Как прочитать данные из таблицы в другой транзакции  [new]
angro
Member

Откуда:
Сообщений: 389
Glory,

есть ещё?
2 янв 13, 12:30    [13715804]     Ответить | Цитировать Сообщить модератору
 Re: Как прочитать данные из таблицы в другой транзакции  [new]
Glory
Member

Откуда:
Сообщений: 104751
angro
есть ещё?

Нормально описание задачи будет ?
2 янв 13, 12:32    [13715806]     Ответить | Цитировать Сообщить модератору
 Re: Как прочитать данные из таблицы в другой транзакции  [new]
angro
Member

Откуда:
Сообщений: 389
Glory,

ну я просто не знаю как по доугому сказать

попытка
ado. begintrans
тут вставка
ado.committrans
тут чтение 1с - тут же блокировка
исключение
ado.rollbacktrans
конецПопытки
2 янв 13, 12:33    [13715808]     Ответить | Цитировать Сообщить модератору
 Re: Как прочитать данные из таблицы в другой транзакции  [new]
angro
Member

Откуда:
Сообщений: 389
то есть не так

ну я просто не знаю как по доугому сказать

попытка
ado. begintrans
тут вставка
тут чтение 1с - тут же блокировка
ado.committrans
исключение
ado.rollbacktrans
конецПопытки[/quot]
2 янв 13, 12:34    [13715810]     Ответить | Цитировать Сообщить модератору
 Re: Как прочитать данные из таблицы в другой транзакции  [new]
Glory
Member

Откуда:
Сообщений: 104751
angro
тут чтение 1с - тут же блокировка

Откуда вы знаеите, что "тут же блокировка" ?
Вы мониторите блокировки ?
2 янв 13, 12:36    [13715818]     Ответить | Цитировать Сообщить модератору
 Re: Как прочитать данные из таблицы в другой транзакции  [new]
angro
Member

Откуда:
Сообщений: 389
Glory,

запрос на чтение с транзакцией виснет,
без транзакции нет
2 янв 13, 12:37    [13715821]     Ответить | Цитировать Сообщить модератору
 Re: Как прочитать данные из таблицы в другой транзакции  [new]
angro
Member

Откуда:
Сообщений: 389
и потом говорит время истекло
2 янв 13, 12:37    [13715823]     Ответить | Цитировать Сообщить модератору
 Re: Как прочитать данные из таблицы в другой транзакции  [new]
Glory
Member

Откуда:
Сообщений: 104751
angro
запрос на чтение с транзакцией виснет,
без транзакции нет

И зачем транзакция тогда ?
У вас там много команд в "тут вставка" ?
2 янв 13, 12:40    [13715827]     Ответить | Цитировать Сообщить модератору
 Re: Как прочитать данные из таблицы в другой транзакции  [new]
angro
Member

Откуда:
Сообщений: 389
там, где часть 1с там проводится документ и анализирирует данные из внешней таблицы

а там где вставка вставляются данные в эту таблицу чтобы документ нашёл то что ему нужно. но если документ не провёлся, то эти данные становятся не актуальные и от них надо избавиться.
я сделал прсто через delete но через откат транзакции кажется будет правильнее

вставляться ну 20 - 30 строк за раз.
2 янв 13, 12:44    [13715832]     Ответить | Цитировать Сообщить модератору
 Re: Как прочитать данные из таблицы в другой транзакции  [new]
Glory
Member

Откуда:
Сообщений: 104751
angro
вставляться ну 20 - 30 строк за раз.

Вопрос был "сколько команд в транзакции" ?
А не сколько записей добавляется.
2 янв 13, 12:46    [13715836]     Ответить | Цитировать Сообщить модератору
 Re: Как прочитать данные из таблицы в другой транзакции  [new]
angro
Member

Откуда:
Сообщений: 389
Glory,

каждая строка в отдельной команде

20 - 30 команд
2 янв 13, 12:50    [13715839]     Ответить | Цитировать Сообщить модератору
 Re: Как прочитать данные из таблицы в другой транзакции  [new]
Glory
Member

Откуда:
Сообщений: 104751
angro
каждая строка в отдельной команде

20 - 30 команд

И зачем кому-то нужны половичатые данные, если транзакция не завершена ?
И неизвестно, с каким результатом она завершится.
2 янв 13, 12:56    [13715848]     Ответить | Цитировать Сообщить модератору
 Re: Как прочитать данные из таблицы в другой транзакции  [new]
angro
Member

Откуда:
Сообщений: 389
Glory,

:) если плохо то откатится, хотелось бы, но не получается
2 янв 13, 13:00    [13715855]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить