Acc. 97/ SQL Server 2000: Verbindung u. Lesen Benutzertabellen

01/02/2008 - 16:11 von Frank Boehland | Report spam
Ein freundliches Hallo,

ich möchte mich mit der Datenbank "v_Datenbank" auf dem Server "v_SQLServer"
verbinden (Windows-Authentifizierung), die Benutzertabellen in eine
Auswahlliste einlesen und die Möglichkeit der Tabellenverknüpfung in einem
Access 97 Frontend anbieten.

Mein DataBase-Objekt ...

Public dbSQL As DAO.Database

Set dbSQL = DBEngine.Workspaces(0).OpenDatabase(v_Datenbank, False, False,
"PROVIDER=SQLOLEDB.1;DRIVER=SQL Server;SERVER=" & v_SQLServer & ";UID=;PWD=;")

Das Einlesen der Benutzertabellen ...

Dim tb As DAO.TableDef
Dim i As Integer
Dim liste As String
liste = ""

dbSQL.TableDefs.Refresh

For i = 0 To dbSQL.TableDefs.Count - 1
Set tb = dbSQL.TableDefs(i)

If Left(tb.Name, 3) = "awp" Then
liste = liste & Replace(tb.Name, "dbo.", "") & ";"
End If
Next i

Ich erhalte keine Listeneintràge, weder meiner Tabellen (awp…) noch anderer
Benutzertabellen. Nehme ich die "If-Anweisung" heraus, erhalte ich eine
Auflistung mit Tabellen (oder Angaben), deren Herkunft ich nicht kenne. Ich
bin mir nicht einmal sicher, ob die Verbindung in meinem Sinne erfolgte:

dbo.$ndo$srvproperty
dbo.$ndo$srvproperty_old
dbo.dtproperties
dbo.spt_datatype_info
dbo.spt_datatype_info_ext
dbo.spt_fallback_db
dbo.spt_fallback_dev
dbo.spt_fallback_usg
...
INFORMATION_SCHEMA.CHECK_CONSTRAINTS
INFORMATION_SCHEMA.COLUMN_DOMAIN_USAGE
INFORMATION_SCHEMA.COLUMN_PRIVILEGES
INFORMATION_SCHEMA.COLUMNS
INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE

Kann mich jemand aufklàren, woher die Eintràge kommen und ob die Verbindung
richtig aufgebaut wurde. Da es bei den Tabellen einer anderen Datenbank
funktionierte, ist die Frage, ob Rechte in der Datenbank ein Rolle spielen.

Vielen Dank schon einmal im Voraus ...

Frank
 

Lesen sie die antworten

#1 Josef Poetzl
01/02/2008 - 17:02 | Warnen spam
Hallo!

Frank Boehland schrieb:
ich möchte mich mit der Datenbank "v_Datenbank" auf dem Server "v_SQLServer"
verbinden (Windows-Authentifizierung),...


[...]
Set dbSQL = DBEngine.Workspaces(0).OpenDatabase(v_Datenbank, False, False,
"PROVIDER=SQLOLEDB.1;DRIVER=SQL Server;SERVER=" & v_SQLServer & ";UID=;PWD=;")



Hier fehlt noch:
"...;DATABASE=" & v_Datenbank & ...

BTW: PROVIDER=SQLOLEDB.1; sieht mir sehr nach ADO/OLEDB aus.

[...]
... Ich
bin mir nicht einmal sicher, ob die Verbindung in meinem Sinne erfolgte:



vermutlich nicht. ;-)

mfg
Josef


EPT: (Access Error Prevention Table) http://access.joposol.com/
FAQ: (Access-FAQ von Karl Donaubauer) http://www.donkarl.com/

Ähnliche fragen