Solved

SQL Server Security Issue?

Posted on 2014-11-20
11
100 Views
Last Modified: 2014-11-21
Challenge:
Using the following code to supply data to a form using SQL Server Express 2012 Allows data editing on the resulting form.
Using the same code with connection to SQL Server 2008 Express causes the data to be read only in the form.
Code Snippet:
80       OpenSQLConnection
         
90       Set rs_Temp = New ADODB.recordset
         
100      With rs_Temp
110         Set .ActiveConnection = rs_Cnn
120         .Source = SQLStatement
130         .CursorLocation = adUseServer
140         .LockType = adLockOptimistic
150         .CursorType = adOpenDynamic
160         .CursorLocation = adUseClient
170         .Open
180      End With

190      Set FormRS = rs_Temp

Open in new window


What am I missing? An SQL Server security setting?
0
Comment
Question by:Kurt Bergman
  • 5
  • 4
  • 2
11 Comments
 
LVL 46

Expert Comment

by:Vitor Montalvão
ID: 40455486
Are you connecting to both databases with the same SQL Server user?
If so, check the user permissions in each database. I'll bet that he has write permission in the SQL Server 2012 DB and read only on SQL Server 2008 DB.
0
 
LVL 142

Accepted Solution

by:
Guy Hengel [angelIII / a3] earned 500 total points
ID: 40455517
is there a primary key on both tables (aka on the table in both instances)
I don't recall anything else to "block" edit mode

this would also be checkable in the .CursorLocation, .CursorType and .LockType , after the .Open line, not to match the values requested .

BTW, I see this minor issue:
130         .CursorLocation = adUseServer
...
160         .CursorLocation = adUseClient

the last one shall win, so line 130 is obsolete.
0
 

Author Comment

by:Kurt Bergman
ID: 40455527
Databases are identical (copied one to the other)
line 130 (I forgot to comment out this line) you HAVE to use adUseClient to use OpenDynamic in Access with no linked tables.
0
 

Author Comment

by:Kurt Bergman
ID: 40455544
Victor:
In the 2012 version Under [My Database]\Security\Users\[My User]
Under General there is a field: Login Name:

That field does not exist in the 2008 version.

Am I missing something?
0
 

Author Comment

by:Kurt Bergman
ID: 40455929
Guy:
I went back and checked the 2008 Version...
PKs and FKs had been dropped during the copying process

It works now
What a dummy :-(

Thank you for bringing this up
0
Zoho SalesIQ

Hassle-free live chat software re-imagined for business growth. 2 users, always free.

 
LVL 46

Expert Comment

by:Vitor Montalvão
ID: 40456780
How you did the copy?
0
 
LVL 142

Expert Comment

by:Guy Hengel [angelIII / a3]
ID: 40456814
>What a dummy :-(
happened a couple of times to me, so no need for shame.
main point is: it got fixed :)
0
 

Author Comment

by:Kurt Bergman
ID: 40457414
Hi Victor, because I was rolling back from 2012 to 2008 the only method I could think of was to import the tables into Access from 2012 and then upsize them to 2008. That's where I lost my indexes.
0
 
LVL 46

Expert Comment

by:Vitor Montalvão
ID: 40457425
There's a Copy Database Wizard option in SSMS that allows you to do that directly (from MSSQL 2012 to 2008).
0
 

Author Comment

by:Kurt Bergman
ID: 40457464
this doesn't appear to be available in the Express version under tasks.
0
 
LVL 46

Expert Comment

by:Vitor Montalvão
ID: 40457492
You're right. Not available in Express Edition.
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Introduction The Visual Basic for Applications (VBA) language is at the heart of every application that you write. It is your key to taking Access beyond the world of wizards into a world where anything is possible. This article introduces you to…
JSON is being used more and more, besides XML, and you surely wanted to parse the data out into SQL instead of doing it in some Javascript. The below function in SQL Server can do the job for you, returning a quick table with the parsed data.
With Microsoft Access, learn how to specify relationships between tables and set various options on the relationship. Add the tables: Create the relationship: Decide if you’re going to set referential integrity: Decide if you want cascade upda…
Viewers will learn how to use the SELECT statement in SQL to return specific rows and columns, with various degrees of sorting and limits in place.

919 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

17 Experts available now in Live!

Get 1:1 Help Now