Вниз
Скачать: CL | DM;

обрыв канала связи,выключение сервера   Найти похожие ветки 

← →
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 вся ветка

Скачать: CL | DM;



Память: 0.48 MB
Время: -0.95 c
15-1269254185
TpaTaTa
2010-03-22 13:36
2010.08.27
RichEdit


2-1267252746
shamans
2010-02-27 09:39
2010.08.27
Обработка скроллирования


3-1241656611
Раиса
2009-05-07 04:36
2010.08.27
ADO+dbf - как будут называться функции в select


15-1266183002
Юрий
2010-02-15 00:30
2010.08.27
С днем рождения ! 15 февраля 2010 понедельник


2-1273166923
worldmen
2010-05-06 21:28
2010.08.27
Ошибка при копиляции из Delphi 7 в Delphi 2010




   Наверх