473,434 Members | 1,367 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,434 software developers and data experts.

Pass-thru SQL queries - Advice

MMcCarthy
14,534 Expert Mod 8TB
Hi everyone,

I have to advise a new client regarding backending some access databases for security reasons. As the issue is one of security I'm assuming they won't want to just link the tables into the front end. I know I can use ADO to make a lot of the required connections but I am considering using Pass-thru SQL queries for some issues.

However, I know there are problems with their use and I'm just wondering what they are. Any other advise regarding backending an access database to improve security are welcome.

Mary
Sep 1 '07 #1
15 2120
dima69
181 Expert 100+
Hi everyone,

I have to advise a new client regarding backending some access databases for security reasons. As the issue is one of security I'm assuming they won't want to just link the tables into the front end. I know I can use ADO to make a lot of the required connections but I am considering using Pass-thru SQL queries for some issues.

However, I know there are problems with their use and I'm just wondering what they are. Any other advise regarding backending an access database to improve security are welcome.

Mary
Mary,
I am not an expert in security issue, but I want to be :)
Could you explain why linking the tables from the BE is less secure than the other things ?
Sep 2 '07 #2
MMcCarthy
14,534 Expert Mod 8TB
Mary,
I am not an expert in security issue, but I want to be :)
Could you explain why linking the tables from the BE is less secure than the other things ?
If you link the tables in the backend they can still be imported to another database or at the very least linked to.
Sep 2 '07 #3
dima69
181 Expert 100+
If you link the tables in the backend they can still be imported to another database or at the very least linked to.
Thanks for the clarification. It would be interesting to see the evolution of this thread.
Sep 2 '07 #4
FishVal
2,653 Expert 2GB
Hi, Mary.

Do you mean MSSQL or some other non-Jet BE?

P.S. Just subscribing to the thread.
Sep 2 '07 #5
MMcCarthy
14,534 Expert Mod 8TB
Hi, Mary.

Do you mean MSSQL or some other non-Jet BE?

P.S. Just subscribing to the thread.
For the moment until I hear otherwise I'm operating as if its MS SQL
Sep 2 '07 #6
puppydogbuddy
1,923 Expert 1GB
Hi, Mary.

Do you mean MSSQL or some other non-Jet BE?

P.S. Just subscribing to the thread.
Hi Mary,
Thought you would be interested in these comments by www.aadconsulting.com about issues to consider if you are running Access on a network. Note that pass-thrus are one of the issues, but there others you should consider as well.

Access Databases on a Network

Generally, Access can handle up to 50 concurrent users over a network without any trouble, but there are other issues to consider:

Does the server and do the client PCs have enough grunt?
Is LAN broadband sufficient?
How big is the database?
How is it split?
Keep administrative functions in the back-end
Locate all lookup tables and those with static data in the front-end
How is the back-end queried? Are you using ODBC, JET, DAO, or ADO etc...?

Don't open tables across the network. Locate back-end queries in the back-end
Open queries with the minimum recordset required. Use Snapshots where possible
What RecordLocking regime is in place ...optimistic, pessimistic... ?
Your level of experience with and knowledge of Client/Server databases. The Chapter Building Client/Server Applications in the Access documentation, Building Applications with Microsoft Access, is a good starting point.
Sep 2 '07 #7
MMcCarthy
14,534 Expert Mod 8TB
Thanks pdog,

I'll have a look at that tonight. I have to allot some time to read all the code solutions and white papers on these sites. I used to know them well but have gotten out of the habit.

Mary
Sep 2 '07 #8
puppydogbuddy
1,923 Expert 1GB
Hi again Mary,

Here is another must have link I had in my files: it's an excellent tutorial about how to implement pass-thru queries. And It mentions the only reservation that I have heard about correctly implemented pass-thrus.....it is not really a reservation, but just something you need to be consciously aware of up front:

Removing interaction with one layer (the Jet Engine) between the client and server should improve performance. However, the syntax for the queries will be SQL specific and does not support the Jet syntax anymore.

http://www.aspfree.com/c/a/Microsoft...-in-MS-Access/
Sep 2 '07 #9
Jim Doherty
897 Expert 512MB
Hi again Mary,

Here is another must have link I had in my files: it's an excellent tutorial about how to implement pass-thru queries. And It mentions the only reservation that I have heard about correctly implemented pass-thrus.....it is not really a reservation, but just something you need to be consciously aware of up front:

Removing interaction with one layer (the Jet Engine) between the client and server should improve performance. However, the syntax for the queries will be SQL specific and does not support the Jet syntax anymore.

http://www.aspfree.com/c/a/Microsoft...-in-MS-Access/

Just a quick FWIW from me Mary.... depending on the clients intentions have had considerable success using ADP format (thin client approach) using either MS SQL servers own applcation roles or Windows integrated security authentication, with users assigned to specific roles, preset permissions and so on. JET on the client is bypassed mostly but you can always call on that locally for whatever reason if so needed (personally I have never needed to in this scenario but you have the best of both worlds.

Security on the server is of course as good as you wish to make it. (had MD5 encryption applied in various instances to usernames and strings ON the server so that only the security cleared few can understand visually what is underlying, together with encrypted stored procedures etc etc

From a security perspective its as robust as your weakest link of course ie: the careless who might leave the server exposed to SQL injection attacks etc or even worse leaving the default login account as SA with a blank password. Sounds silly but how many servers are out there with that setup being pinged left right and centre.

Whilst I mention using ADP format it does not exclude MDB obviously you can implement that via the pass through route and MDB is currently being perceived as the ipso facto if you like for an Access 2007 interface with SQL Server. (whether that means a dumping of the ADP in due course like Data Access Pages who knows? except Microsoft, and unless anyone else has, I have seen nothing that warrants any fear that they may be so inclined to do so)

Regards

Jim
Sep 2 '07 #10
MMcCarthy
14,534 Expert Mod 8TB
Hi again Mary,

Here is another must have link I had in my files: it's an excellent tutorial about how to implement pass-thru queries. And It mentions the only reservation that I have heard about correctly implemented pass-thrus.....it is not really a reservation, but just something you need to be consciously aware of up front:

Removing interaction with one layer (the Jet Engine) between the client and server should improve performance. However, the syntax for the queries will be SQL specific and does not support the Jet syntax anymore.

http://www.aspfree.com/c/a/Microsoft...-in-MS-Access/
If thats the only issue it shouldn't be a problem.
Sep 2 '07 #11
MMcCarthy
14,534 Expert Mod 8TB
Just a quick FWIW from me Mary.... depending on the clients intentions have had considerable success using ADP format (thin client approach) using either MS SQL servers own applcation roles or Windows integrated security authentication, with users assigned to specific roles, preset permissions and so on. JET on the client is bypassed mostly but you can always call on that locally for whatever reason if so needed (personally I have never needed to in this scenario but you have the best of both worlds.

Security on the server is of course as good as you wish to make it. (had MD5 encryption applied in various instances to usernames and strings ON the server so that only the security cleared few can understand visually what is underlying, together with encrypted stored procedures etc etc

From a security perspective its as robust as your weakest link of course ie: the careless who might leave the server exposed to SQL injection attacks etc or even worse leaving the default login account as SA with a blank password. Sounds silly but how many servers are out there with that setup being pinged left right and centre.

Whilst I mention using ADP format it does not exclude MDB obviously you can implement that via the pass through route and MDB is currently being perceived as the ipso facto if you like for an Access 2007 interface with SQL Server. (whether that means a dumping of the ADP in due course like Data Access Pages who knows? except Microsoft, and unless anyone else has, I have seen nothing that warrants any fear that they may be so inclined to do so)

Regards

Jim
Thanks Jim

I won't know the clients full intentions until tomorrow. I am only going on third hand information at the moment regarding their requirements. You know how reliable that can be (LOL).

All I know for sure is they have a number of Access databases that they would ideally like to backend to SQL to improve security. They are going to start with one and based on how efficiently that can be achieved I'll pick up the contract for all the others. So nice little earner :)

I'll stick with mdb's as thats my comfort zone. My experience of ADP is very limited.

Mary
Sep 2 '07 #12
Jim Doherty
897 Expert 512MB
Thanks Jim

I won't know the clients full intentions until tomorrow. I am only going on third hand information at the moment regarding their requirements. You know how reliable that can be (LOL).

All I know for sure is they have a number of Access databases that they would ideally like to backend to SQL to improve security. They are going to start with one and based on how efficiently that can be achieved I'll pick up the contract for all the others. So nice little earner :)

I'll stick with mdb's as thats my comfort zone. My experience of ADP is very limited.

Mary

okey cokey Like I say its not so much the frontend shop window so to speak rather the backend server side that needs the coverage if security is the main issue with port lock downs etc if its internet accessible etc etc

Jim
Sep 3 '07 #13
NeoPa
32,556 Expert Mod 16PB
I'm pretty well with Jim on this one Mary.
SQL Server, set up to use Windows Authentication (only - to protect against sa with no password), will give you as much security as the client could require. It still needs to be set up on the SQL Server, and with permissions being set for all the elements (Stored Procedures & User Defined Functions as well as Views) individually, you may need to be careful of blocking something unintentionally, but you have a fairly high level of control including flexibility and precision.
Sep 3 '07 #14
NeoPa
32,556 Expert Mod 16PB
Very Strong Recommendations :
  1. Use Roles to control the various levels of permissions that you want to assign.
  2. Set up Groups in your Users. This enables you simply to add a user (account) to an existing Group to update access quickly and simply.
Sep 3 '07 #15
NeoPa
32,556 Expert Mod 16PB
If using PassThru queries to MS SQL Server, don't forget to use ANSI-92 SQL (See ANSI Standards in String Comparisons).
Sep 3 '07 #16

Sign in to post your reply or Sign up for a free account.

Similar topics

110
by: Mr A | last post by:
Hi! I've been thinking about passing parameteras using references instead of pointers in order to emphasize that the parameter must be an object. Exemple: void func(Objec& object); //object...
1
by: Greg Strong | last post by:
Hello All, Why would brackets be added to the SQL of a pass through query to Oracle? If I paste the debug print of the SQL statement into SQLPlus of Oracle's XE edition it works, and does NOT...
4
by: Jon Slaughter | last post by:
I'm reading a book on C# and it says there are 4 ways of passing types: 1. Pass value type by value 2. Pass value type by reference 3. Pass reference by value 4. Pass reference by reference. ...
14
by: Abhi | last post by:
I wrote a function foo(int arr) and its prototype is declared as foo(int arr); I modify the values of the array in the function and the values are getting modified in the main array which is...
31
by: Sam of California | last post by:
Is it accurate to say that "the preprocessor is just a pass in the parsing of the source file"? I responded to that comment by saying that the preprocessor is not just a pass. It processes...
4
by: kinaxx | last post by:
Hello, now I'm learning progamming language in university. but i have some question. in textbook. says there are four passing Mechanism 1) pass by value (inother words : call by value) 2)...
10
by: Robert Dailey | last post by:
Hi, I noticed in Python all function parameters seem to be passed by reference. This means that when I modify the value of a variable of a function, the value of the variable externally from the...
6
by: lisp9000 | last post by:
I've read that C allows two ways to pass information between functions: o Pass by Value o Pass by Reference I was talking to some C programmers and they told me there is no such thing as...
15
by: ramif | last post by:
Does call by reference principle apply to pointers?? Is there a way to pass pointers (by reference) to functions? Here is my code: #include <stdio.h> #include <stdlib.h>
12
by: raylopez99 | last post by:
Keywords: scope resolution, passing classes between parent and child forms, parameter constructor method, normal constructor, default constructor, forward reference, sharing classes between forms....
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
1
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
0
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new...
0
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.