UniDAC MySQL + SecureBridge, https, disconnecting problems

Discussion of open issues, suggestions and bugs regarding network security and data protection solution - SecureBridge
Post Reply
m227
Posts: 75
Joined: Mon 06 Aug 2007 12:41

UniDAC MySQL + SecureBridge, https, disconnecting problems

Post by m227 » Wed 16 Feb 2022 08:05

Hi,
I use MySQL connection via UniDAC with http tunneling. When I assign TCRSSLIOHandler to Connection.IOHandler and properly change HttpUrl to https It usually works.

But then after some time (1-15 minutes) disconnects and error occurs (during trying to edit dataset or run query).
Sample error log:

exception class : SocketException
exception message : Failed to connect to server script.

Code: Select all

main thread ($1e2c):
01920b6c +06c KDR_admin.exe ScSecureSocket                TSecureSocket.Send
0192537b +01f KDR_admin.exe ScSSLClient                   TScSSLClient.WriteBuffer
0197ab47 +01f KDR_admin.exe CRSSLIOHandler        282  +2 TCRSSLIOHandler.Write
01766ee2 +01a KDR_admin.exe CRVio                         TCRVioHandler.Write
017fd268 +020 KDR_admin.exe MySqlNetUni                   TMySqlNet.VioWrite
017fbcca +1ba KDR_admin.exe MySqlNetUni                   TMySqlNet.RealSend
017fba65 +03d KDR_admin.exe MySqlNetUni                   TMySqlNet.Send
01817041 +041 KDR_admin.exe MySqlSessionUni               TMySqlSession.SimpleCommand
0181eb61 +071 KDR_admin.exe MySqlApiDirectUni             TMySQLAPIDirect.mysql_real_query
01830d94 +15c KDR_admin.exe MyClassesUni                  DoExecute
01831469 +09d KDR_admin.exe MyClassesUni                  TMySQLCommand.InternalExecute
01831591 +0bd KDR_admin.exe MyClassesUni                  TMySQLCommand.Execute
017c1944 +034 KDR_admin.exe CRAccess                      TCRConnection.ExecuteSQL
0183ad9b +0e3 KDR_admin.exe MyClassesUni                  TMySQLTransaction.StartTransaction
017a5c2e +10e KDR_admin.exe DBAccess                      TDATransaction.StartTransaction
01796f70 +03c KDR_admin.exe DBAccess                      TDADataSetUpdater.SetSavepoint
01797005 +029 KDR_admin.exe DBAccess                      TDADataSetUpdater.SetLockSavepoint
0179b004 +01c KDR_admin.exe DBAccess                      TDADataSetUpdater.PerformLock
018410d4 +000 KDR_admin.exe MyServicesUni                 TCustomMyDataSetUpdater.PerformLock
0179b262 +092 KDR_admin.exe DBAccess                      TDADataSetUpdater.PerformUpdateDelete
0179b485 +009 KDR_admin.exe DBAccess                      TDADataSetUpdater.PerformUpdate
01716955 +035 KDR_admin.exe MemDS                         TDataSetUpdater.DoPerformUpdate
01711a0f +013 KDR_admin.exe MemDS                         TMemDataSet.DoPerformUpdate
016fb6b5 +00d KDR_admin.exe MemData                       TData.InternalUpdate
017018c8 +034 KDR_admin.exe MemData                       TMemData.UpdateRecord
016ea848 +000 KDR_admin.exe MemUtils                      CopyBuffer
01703491 +009 KDR_admin.exe MemData                       TBlockManager.GetRecord
016fb580 +048 KDR_admin.exe MemData                       TData.PostRecord
0170169b +037 KDR_admin.exe MemData                       TMemData.PostRecord
0171105a +126 KDR_admin.exe MemDS                         TMemDataSet.InternalPost
0178f785 +045 KDR_admin.exe DBAccess                      TCustomDADataSet.InternalPost
00aac6ed +029 KDR_admin.exe Data.DB                       TDataSet.CheckOperation
00aac1e8 +048 KDR_admin.exe Data.DB                       TDataSet.Post
01711142 +006 KDR_admin.exe MemDS                         TMemDataSet.Post
00ae07f9 +0fd KDR_admin.exe cxDBData                      TcxDBDataController.CheckBrowseMode
00ae2565 +15d KDR_admin.exe cxDBData                      TcxDBDataController.TryFocusRecord
00adf5e4 +0f8 KDR_admin.exe cxDBData                      TcxDBDataController.CanFocusRecord
00a39f55 +041 KDR_admin.exe cxCustomData                  TcxCustomDataControllerInfo.CanFocusedRowChanging
00a3ac76 +0b6 KDR_admin.exe cxCustomData                  TcxCustomDataControllerInfo.DoChangeFocusedRow
00a3ccfd +02d KDR_admin.exe cxCustomData                  TcxCustomDataControllerInfo.SetFocusedRowIndex
00a33448 +07c KDR_admin.exe cxCustomData                  TcxCustomDataController.ChangeFocusedRowIndex
01083db3 +08b KDR_admin.exe cxGridCustomTableView         TcxCustomGridTableController.SetFocusedRecordIndex
010859d8 +010 KDR_admin.exe cxGridCustomTableView         TcxCustomGridTableController.SetFocusedRecord
011014a7 +127 KDR_admin.exe cxGridTableView               TcxGridTableController.SetFocusedRecord
010778bb +04b KDR_admin.exe cxGridCustomTableView         TcxCustomGridRecordViewInfo.Click
0110e110 +034 KDR_admin.exe cxGridTableView               TcxCustomGridRowViewInfo.Click
01077ad8 +088 KDR_admin.exe cxGridCustomTableView         TcxCustomGridRecordViewInfo.MouseDown
010750cf +03b KDR_admin.exe cxGridCustomTableView         TcxGridTableCellViewInfo.MouseDown
01076c4e +136 KDR_admin.exe cxGridCustomTableView         TcxGridTableDataCellViewInfo.MouseDown
00ba9983 +04b KDR_admin.exe cxGridCustomView              TcxCustomGridController.MouseDown
01088580 +09c KDR_admin.exe cxGridCustomTableView         TcxCustomGridTableController.MouseDown
00baada7 +05b KDR_admin.exe cxGridCustomView              TcxGridSite.BeforeMouseDown
0092ffbe +17a KDR_admin.exe cxControls                    TcxControl.MouseDown
00baba1d +025 KDR_admin.exe cxGridCustomView              TcxGridSite.MouseDown
005c48ec +08c KDR_admin.exe Vcl.Controls                  TControl.DoMouseDown
005c493b +03f KDR_admin.exe Vcl.Controls                  TControl.WMLButtonDown
005c4292 +2be KDR_admin.exe Vcl.Controls                  TControl.WndProc
005c8e77 +63b KDR_admin.exe Vcl.Controls                  TWinControl.WndProc
0092f53c +1ac KDR_admin.exe cxControls                    TcxControl.WndProc
00babd74 +02c KDR_admin.exe cxGridCustomView              TcxGridSite.WndProc
005c8444 +02c KDR_admin.exe Vcl.Controls                  TWinControl.MainWndProc
005454dc +014 KDR_admin.exe System.Classes                StdWndProc
75e07e5b +00b USER32.dll                                  DispatchMessageW
006ccb17 +0f3 KDR_admin.exe Vcl.Forms                     TApplication.ProcessMessage
006ccb5a +00a KDR_admin.exe Vcl.Forms                     TApplication.HandleMessage
006cce8d +0c9 KDR_admin.exe Vcl.Forms                     TApplication.Run
01e83296 +0ae KDR_admin.exe KDR_admin              31 +10 initialization
7522fa27 +017 KERNEL32.DLL                                BaseThreadInitThunk
I use latest UniDAC and SecureBridge.

YanishevskiyVI
Devart Team
Posts: 70
Joined: Wed 02 Jun 2021 09:30

Re: UniDAC MySQL + SecureBridge, https, disconnecting problems

Post by YanishevskiyVI » Fri 18 Feb 2022 15:42

Hi!

Please note that when working with HTTP, it is quite a common situation where the server drops the connection after short periods of time.

The solution for this issue is to use DisconnectedMode. For this, set the TMyConnection.Options.DisconnectedMode and TMyConnection.Options.LocalFailover properties to True.

You can find more detailed information about this in the "Working in an unstable network" topic.

Should you have any questions, do not hesitate to ask!

Post Reply