Hallo zusammen,
ich habe folgende Frage:
Mit einer Access-MDB verlinke ich mit einer Autoverlinkungsprozedur(*) via ODBC auf eine MS-SQL-Server-Datenbank und erhalte die Tabellen als dbo_tabelle.
Der Benutzer ist mit db_owner-Rechten eingetragen.
Frage: Ist es für alle Benutzer dieser MDB erforderlich als db_owner in der Benutzerliste der Datenbank des SQL-Server eingetragen zu sein?
(*) hier die Autoverlinkungsfunktion:
Vielen Dank
Phil
ich habe folgende Frage:
Mit einer Access-MDB verlinke ich mit einer Autoverlinkungsprozedur(*) via ODBC auf eine MS-SQL-Server-Datenbank und erhalte die Tabellen als dbo_tabelle.
Der Benutzer ist mit db_owner-Rechten eingetragen.
Frage: Ist es für alle Benutzer dieser MDB erforderlich als db_owner in der Benutzerliste der Datenbank des SQL-Server eingetragen zu sein?
(*) hier die Autoverlinkungsfunktion:
Code:
Function ConnectDB(ByVal strODBC As String, strDatabase As String) As Boolean
'Die Abfrage im Code bewirkt, dass die Systemtabellen, die beim SQL-Server / SQL-Server Express 2005 angelegt werden nicht mit importiert werden.
Call DeleteAllLinkedTables
'strODBC ist der Name der ODBC-Verbindung
'strDatabase ist der Name der Datenbank
Dim db As DAO.Database
Dim t As Integer
ConnectDB = False
If IsNull(strODBC) Or IsNull(strDatabase) Then Exit Function
On Error Resume Next
' Set db = DBEngine.OpenDatabase(strODBC, dbDriverNoPrompt, True, _
' "ODBC;DATABASE=" & strDatabase & _
' ";DSN=" & strODBC & ";pwd=password")
Set db = DBEngine.OpenDatabase(strODBC, dbDriverNoPrompt, False, _
"ODBC;DATABASE=" & strDatabase & _
";DSN=" & strODBC)
If Err = 0 Then ConnectDB = True
For t = 0 To db.TableDefs.Count - 1
If Left(db.TableDefs(t).Name, 7) <> "dbo.sys" And _
Left(db.TableDefs(t).Name, 4) <> "sys." And _
Left(db.TableDefs(t).Name, 8) <> "dbo.qry_" And _
Left(db.TableDefs(t).Name, 8) <> "dbo.isp_" And _
Left(db.TableDefs(t).Name, 8) <> "dbo.test" And _
Left(db.TableDefs(t).Name, 11) <> "INFORMATION" Then
DoCmd.TransferDatabase acLink, "ODBC-Datenbank", _
"ODBC;DSN=" & strODBC & ";DATABASE=" & _
strDatabase, acTable, _
db.TableDefs(t).Name, _
Right(db.TableDefs(t).Name, _
Len(db.TableDefs(t).Name) - 4)
If Err <> 0 Then
ConnectDB = False
Err = 0
End If
End If
Next t
db.Close
End Function
Vielen Dank
Phil