gerrythefish
Registered User.
- Local time
- Today, 09:08
- Joined
- Oct 11, 2014
- Messages
- 28
Hi all,
I need advice on the most efficient way to connect to SQL to reduce user wait times.
I recently moved access 2013 backend to SQL Server 2012. We have about 150 users over the company WAN (typically 10 concurrent) and have some latency issues accross the network.
The front end is on everyone's computer.
I use DSNless odbc connections via SQL server native client 11 to link tables and views directly to access. I also use ADO, with the following connection string, mostly to execute action queries on the server, sometimes to bring back resulting recordsets:
DRIVER={SQL Server}; SERVER=PDX01;DATABASE=Portland_Data;Trusted_Connection=Yes;DataTypeCompatibility=80;Regional=Yes;
Normalised as best I can, (150 tables) typically a parent table with 1000 records and up to 10 child tables. The child tables typically having thousands of records with about 10 related to the parent record. Only 1 subform is loaded at a time, and is unloaded when the user switches tabs.
In general, a user opens the database, picks a parent table to load as a datasheet (filtered). They can edit the record or open a single form (with subform) to edit the parent and the connected child subform.
I get intermittant errors and havent been able to reproduce exactly what occurs, but on my connection down the hall from the SQL server, I almost never get these:
Error_Number Error_Description
2074 This operation is not supported within transactions.
-2147467259 [Microsoft][ODBC SQL Server Driver]Communication link failure
-2147467259 [Microsoft][ODBC SQL Server Driver][DBNETLIB]ConnectionWrite (send()).
3151 ODBC--connection to '{SQL Server Native Client 11.0}PDX01' failed.
-2147467259 [Microsoft][ODBC SQL Server Driver][DBNETLIB]ConnectionWrite (send()).
Im thinking about going all ADO, but is that the most efficient for this? Id rather not go the completely disconnected forms route.
If I do use ADO, do I load all 1000 records of the parent form in a recordset and use that for the datasheet list and the single form.
Do I have to rebuild the subform sql string for every change in current record in the parent form, or can I just let the forms linkmaster/linkchild settings take care of this.
I understand I could just try testing all this out, but results tend to be about the same from my office down the hall, and testing from a remote location introduces a lot of variability depending on network use.
Really Im just looking for help defining a strategy.
I need advice on the most efficient way to connect to SQL to reduce user wait times.
I recently moved access 2013 backend to SQL Server 2012. We have about 150 users over the company WAN (typically 10 concurrent) and have some latency issues accross the network.
The front end is on everyone's computer.
I use DSNless odbc connections via SQL server native client 11 to link tables and views directly to access. I also use ADO, with the following connection string, mostly to execute action queries on the server, sometimes to bring back resulting recordsets:
DRIVER={SQL Server}; SERVER=PDX01;DATABASE=Portland_Data;Trusted_Connection=Yes;DataTypeCompatibility=80;Regional=Yes;
Normalised as best I can, (150 tables) typically a parent table with 1000 records and up to 10 child tables. The child tables typically having thousands of records with about 10 related to the parent record. Only 1 subform is loaded at a time, and is unloaded when the user switches tabs.
In general, a user opens the database, picks a parent table to load as a datasheet (filtered). They can edit the record or open a single form (with subform) to edit the parent and the connected child subform.
I get intermittant errors and havent been able to reproduce exactly what occurs, but on my connection down the hall from the SQL server, I almost never get these:
Error_Number Error_Description
2074 This operation is not supported within transactions.
-2147467259 [Microsoft][ODBC SQL Server Driver]Communication link failure
-2147467259 [Microsoft][ODBC SQL Server Driver][DBNETLIB]ConnectionWrite (send()).
3151 ODBC--connection to '{SQL Server Native Client 11.0}PDX01' failed.
-2147467259 [Microsoft][ODBC SQL Server Driver][DBNETLIB]ConnectionWrite (send()).
Im thinking about going all ADO, but is that the most efficient for this? Id rather not go the completely disconnected forms route.
If I do use ADO, do I load all 1000 records of the parent form in a recordset and use that for the datasheet list and the single form.
Do I have to rebuild the subform sql string for every change in current record in the parent form, or can I just let the forms linkmaster/linkchild settings take care of this.
I understand I could just try testing all this out, but results tend to be about the same from my office down the hall, and testing from a remote location introduces a lot of variability depending on network use.
Really Im just looking for help defining a strategy.