Login ProductsSalesSupportDownloadsAbout |
Home » Technical Support » DBISAM Technical Support » Support Forums » DBISAM General » View Thread |
Messages 1 to 10 of 15 total |
Problem with a multi-users database access |
Fri, Feb 1 2013 12:04 PM | Permanent Link |
Mahistre | Hello,
we have translated a delphi6-Paradox program into a Dephi6-DBIsam program. The database is located onto a Server (W2K3). With one single user, opening a big table works fine but with 2 or 3 users, shared access is very long. We tried some parameters (like BlobBlockSize) but no better result. We are searching for optimization parameters, from the engine or table structure. Our last test was adding the DBIsamEngine and changed some properties for buffer but it's still the same. BDE worked quick and fine and unfortunately there's no time for a C/S solution. Thanks for your answer. David MAHISTRE ARCADE Company |
Fri, Feb 1 2013 1:01 PM | Permanent Link |
Roy Lambert NLH Associates Team Elevate | Mahistre
>we have translated a delphi6-Paradox program into a Dephi6-DBIsam program. The database is located onto a Server (W2K3). With one single user, opening a big table works fine but with 2 or 3 users, shared access is very long. > >We tried some parameters (like BlobBlockSize) but no better result. We are searching for optimization parameters, from the engine or table structure. Our last test was adding the DBIsamEngine and changed some properties for buffer but it's still the same. > >BDE worked quick and fine and unfortunately there's no time for a C/S solution. Almost certainly its a Windows problem - search these ngs for the keyword OpLocks. There's not much you can do apart from going to c/s. It might be that a simple change to c/s without doing any work to optimse things would show some benefits. It shouldn't take much more than changing the session type to remote and firing up the server software. Roy Lambert [Team Elevate] |
Sat, Feb 2 2013 11:33 AM | Permanent Link |
Fernando Dias Team Elevate | Mahistre,
In addition to what Roy said, another thing that you should try is to revise all the indexes and check if they are optimally designed - sort order, case sensitivity/insensitivity, tables indexed on the fields that you use for sorting and searching, etc.. That alone might make a huge difference. -- Fernando Dias [Team Elevate] |
Mon, Feb 4 2013 6:36 AM | Permanent Link |
Mahistre | Ok thank you for your answer,
I want to test the c/s architecture but how i can do it quickly ? Can you explain to me , how i can use the different objects dbisam like engine et session ? I would like to test simply with an table access with c/s for validate the solution... It's very important to me and my enterprise ... Thank a lot David mahistre. Best regards |
Mon, Feb 4 2013 7:36 AM | Permanent Link |
Roy Lambert NLH Associates Team Elevate | Mahistre
I don't use c/s personally, and I switched to ElevateDB ages ago, however, it should be little more than starting the server (you get a 5 connection server free with DBISAM), changing the connection from local to remote and recompiling your software. As I remember it was covered quite well in the pdf manual. You should also find a fair bit of help in these ngs if you search for server or c/s Roy Lambert |
Mon, Feb 4 2013 9:18 AM | Permanent Link |
Mahistre | hi,
I don't understand why on my customer when i want to see the remote database, i see my serveur but no database ... Can you explain to me where is my mistake ? Thank you best regards. |
Mon, Feb 4 2013 9:42 AM | Permanent Link |
Raul Team Elevate | You'd need to create the database (using server admin utility).
Basic steps would be as follows (i'm doing these from memory): - copy the dbisam server (dbsrvr) to your windows server (looks like this is done) - copy your data (tables) into a folder on the server - using server admin utility connect to sever and add a new database (databases tab) - pick whatever name you like but you will need to use it later and point the directory to the folder you copied your files in previous step at this point you should be able to run dbsys and connect to server and see and be able to open/query you tables - now you need to change your application to use remote session (www.elevatesoft.com/manual?action=viewtopic&id=dbisam4&product=rsdelphiwin32&version=XE2&topic=Starting_Sessions) - and in database components set the RemoteDatabase to whatever you named the database on the server Raul On 2/4/2013 9:18 AM, Mahistre wrote: > hi, > > I don't understand why on my customer when i want to see the remote database, i see my serveur but no database ... > Can you explain to me where is my mistake ? |
Mon, Feb 4 2013 11:47 AM | Permanent Link |
Mahistre | Thank you,
I test with C/S but i have the same problem ?? I display a DBGrid with Filter on the table, and this is really slow ??? Did you have a problem with filter on table ? If we use the software on local, there are no problems ??? Can you help me ? best regards. David Mahistre |
Mon, Feb 4 2013 1:35 PM | Permanent Link |
Raul Team Elevate | On 2/4/2013 11:47 AM, Mahistre wrote:
> I test with C/S but i have the same problem ?? Then the problem is likely with the application or indexes or such. > I display a DBGrid with Filter on the table, and this is really slow ??? > Did you have a problem with filter on table ? No. However data-bound grids and lookup fields can be chatty and result in lot of round-trips and data retrieval. > If we use the software on local, there are no problems ??? Moving to C/S simply exposes problems already present - with local disk the latency is very low so everything seems ok. > Can you help me ? Not without additional info. However i would suggest you start from index side: - you run the query that represents the filtered grid view in dbsys and enable "generate plan" option and see what the execution plan is like and if anything there is unoptimized. You can post it here if you need a another opinion as well Other option would be to enable the RemoteTrace on the session and see what is actually happening in trerms of db access. see here: http://www.elevatesoft.com/manual?action=viewevent&id=dbisam4&product=rsdelphiwin32&version=XE3&comp=TDBISAMSession&event=OnRemoteTrace Raul |
Mon, Feb 4 2013 5:56 PM | Permanent Link |
Jan Ferguson Data Software Solutions, Inc. Team Elevate | Mahistre,
You don't even have to recompile as Roy suggested (although you can). I use an INI file which has my RemotePort, RemoteHost, SessionType, etc. listed in the INI file (see example below). [Configuration] RemoteAddress= RemoteHost= SessionType= RemotePort= I simply read the information from the INI file in the data module's OnCreate event and plug the information into the appropriate properties before activating the session, database or tables. To make things easier on my clients, I created a small application I called "NetConfig" which allows them to enter the information into the fields (some fields have drop down picklists, ie., SessionType). They save the information and it writes it to the INI file. --------------------- Jan Ferguson [Team Elevate] Roy Lambert wrote: > it should be little more than starting the server (you get a > 5 connection server free with DBISAM), changing the connection from > local to remote and recompiling your software. |
Page 1 of 2 | Next Page » | |
Jump to Page: 1 2 |
This web page was last updated on Sunday, May 5, 2024 at 07:30 PM | Privacy PolicySite Map © 2024 Elevate Software, Inc. All Rights Reserved Questions or comments ? E-mail us at info@elevatesoft.com |