Link to home
Start Free TrialLog in
Avatar of Kurt Bergman
Kurt Bergman

asked on

SQL Server Security Issue?

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?
Avatar of Vitor Montalvão
Vitor Montalvão
Flag of Switzerland image

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.
ASKER CERTIFIED SOLUTION
Avatar of Guy Hengel [angelIII / a3]
Guy Hengel [angelIII / a3]
Flag of Luxembourg image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of Kurt Bergman
Kurt Bergman

ASKER

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.
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?
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
How you did the copy?
>What a dummy :-(
happened a couple of times to me, so no need for shame.
main point is: it got fixed :)
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.
There's a Copy Database Wizard option in SSMS that allows you to do that directly (from MSSQL 2012 to 2008).
this doesn't appear to be available in the Express version under tasks.
You're right. Not available in Express Edition.