Форум: "Базы";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];
Внизобрыв канала связи,выключение сервера Найти похожие ветки
← →
denis24 (2009-05-15 16:58) [0]Здравствуйте,подскажите пожалуйста как решить этот момент.
Приложение написано на VB но суть вопроса остаётся таже.
В приложениее конекчусь через ADO и ODBC к Oracle серверу.
Создаю рекордсет с помощью которого постоянно добавляю записи в таблицу на сервере.
Dim conn As ADODB.Connection
Dim rst As New ADODB.Recordset
Set conn = New ADODB.Connection
With conn
.CursorLocation = adUseClient
.Provider = "MSDAORA"
".Open = "dsn=aice10g"
.Properties("Data Source").Value = "aice10g"
.Properties("User ID").Value = "disegn"
.Properties("Password").Value = "disegn"
.Open
End With
rst.LockType = adLockOptimistic
rst.Source = "select * from ats where ats.date_call is not null"
Set rst.ActiveConnection = conn
rst.Open
rst.AddNew
.
.
.
rst.update
записи добавляются очень часто.
Связь с сервером иногда может прерываться.Как реализовать сохранение данных при обрыве связи или выключениии сервера?
Ткните носом где читать?
← →
Сергей М. © (2009-05-15 17:02) [1]Сохранение где - на стороне сервера или на стороне клиента ?
← →
Медвежонок Пятачок © (2009-05-15 17:46) [2]зачем?
транзакция бегин
инсерт
коммит
не получилось - реконнект и снова повторяем транзакцию
← →
denis24 (2009-05-15 17:51) [3]
> Сохранение где - на стороне сервера или на стороне клиента
> ?
на стороне сервера
← →
Медвежонок Пятачок © (2009-05-15 17:56) [4]а что сохранять на стороне сервера, если связь проервалась и на сервере еще нет того, чего нам надо сохранять на сервере?
← →
denis24 (2009-05-15 17:57) [5]
> Медвежонок Пятачок © (15.05.09 17:46) [2]
>
> зачем?
>
> транзакция бегин
> инсерт
> коммит
>
> не получилось - реконнект и снова повторяем транзакцию
а если нет связи с сервером несколько часов?
при ошибке комита всё это время в цикле реконект?
записи прибывают.Это логирование атс.
← →
Медвежонок Пятачок © (2009-05-15 17:57) [6]а если нет связи с сервером несколько часов?
"А если бы он вез патроны?"
← →
Медвежонок Пятачок © (2009-05-15 17:59) [7]да хоть год не будет связи.
складируй инсерты в очередь локально пока связист не наладит связь
← →
denis24 (2009-05-15 18:01) [8]
> а что сохранять на стороне сервера, если связь проервалась
> и на сервере еще нет того, чего нам надо сохранять на сервере?
>
данные получает клиент и сохраняет их в таблице сервера.это логирование.
← →
denis24 (2009-05-15 18:03) [9]
> да хоть год не будет связи.
> складируй инсерты в очередь локально пока связист не наладит
> связь
> <Цитата>
>
>
а как "складировать"?Не соображу.Дай чтото поконкретней?
← →
Медвежонок Пятачок © (2009-05-15 18:04) [10]данные получает клиент и сохраняет их в таблице сервера.это логирование.
Ну получил клиент данные.
Связь пропала, данные до сервера не дошли.
Их там еще нет.
Что ты при этом собрался сохранять на сервере?
← →
Медвежонок Пятачок © (2009-05-15 18:06) [11]... который еще как ты сказал может быть вообще выключен
← →
Медвежонок Пятачок © (2009-05-15 18:08) [12]а как "складировать"?Не соображу.Дай чтото поконкретней?
Примерно так же как ты делаешь это на оракле.
Только складывать не на оракле (который сейчас выключен), а в локальном файле access "ats.mdb"
← →
denis24 (2009-05-15 18:28) [13]ага
> Медвежонок Пятачок © (15.05.09 18:08) [12]
>
> а как "складировать"?Не соображу.Дай чтото поконкретней?
>
>
> Примерно так же как ты делаешь это на оракле.
> Только складывать не на оракле (который сейчас выключен),
> а в локальном файле access "ats.mdb"
>
тоесть при ошибке коммита,сохранять данные в локальную бд а при появлении вікладывать на сервер?
← →
Игорь Шевченко © (2009-05-15 19:10) [14]вроде как для этого ClientDataSet придумали
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.062 c