vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
NEU! sevCoolbar 3.0 - Professionelle Toolbars im modernen Design!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB & Datenbanken
SQL-Server Struktur auslesen 
Autor: saxa
Datum: 17.10.06 21:03

hi,

ich muss für ein projekt die struktur von einer access und einer sql-server datenbank auslesen. bei der access db mache ich dies mittels dao, was auch wunderbar funktioniert. nur beim sql-server stehe ich ein wenig aufm schlauch.
kann ich dort auch mit dao arbeiten?
wenn ja, wie bekomme ich die verbindung zustande, ohne eine dsn anzulegen?


mfg
saxa

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: SQL-Server Struktur auslesen 
Autor: srcdbgr
Datum: 19.10.06 10:07

Vielleicht hilft Dir das hier. Mit ADO sähe das für Access etwa so aus wie folgt. Prinzipiell kannst Du den gleichen Code auch für SQL-Server verwenden, dazu musst Du nur den Data Provider ändern (und evtl. auch das Schema anpassen ... dazu kenne ich mit SQL-Server zu wenig aus).

Public objConn As New Connection
Public objRs As Recordset
 
'Verbindung zur Datenbank aufbauen
Public Sub OpenConn(FileName As String)
    With objConn
        If .State = adStateOpen Then .Close
        .Provider = "Microsoft.Jet.OLEDB.4.0"			'Access 2000/XP
        .Properties("Data Source") = FileName			'Access 2000/XP
 
	'.Provider = "SQLOLEDB;Data Source=" & strServer & ";" & _
		     "Initial Catalog=" & strDatabase & ";" & _
		     "User ID=" & strUserName & ";" & _
		     "Password=" & strPassword & ";"		'SQL-Server 7.0
 
        .CursorLocation = adUseClient
        .Open 'Connection öffnen
    End With
End Sub
 
'Ab hier nur für Access (analog für SQL-Server Schema anpassen)
'Tabellen auslesen
Public Sub Table()
    'Recordset über Tabellen-Schema erstellen
    Set objRs = objConn.OpenSchema(adSchemaTables)
 
    'Tabellenauflistung clearen
    MeineForm.lstTable.Clear
 
    'Recordset durchlaufen und alle Tabellen auflisten
    Do While Not objRs.EOF
        If objRs("TABLE_TYPE") = "TABLE" Then
            MeineForm.lstTable.AddItem objRs("TABLE_NAME")
        End If
        objRs.MoveNext
    Loop
    objRs.Close
End Sub
 
'Tabellendaten auslesen
Public Sub OpenTable(TableName As String) 'Tabelle öffnen
    With objRs
        Set objRs.ActiveConnection = objConn 'aktive Verbindung zuweisen
        .ActiveConnection = objConn
        If .State = adStateOpen Then .Close
        .LockType = adLockOptimistic
        .Source = "Select * From " & TableName 'ganze Tabelle
        On Error Resume Next
        .Open 'Tabelle öffnen
    End With
End Sub
 
'Verbindung schließen
Public Sub CloseConn()
    If objRs.State = adStateOpen Then
        objRs.Close
        Set objRs = Nothing
    End If
    If objConn.State = adStateOpen Then
        objConn.Close
        Set objConn = Nothing
    End If
End Sub
Gruß,
Michael

Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it. (Brian W. Kernighan)

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: SQL-Server Struktur auslesen 
Autor: Prian0815
Datum: 19.10.06 16:44

^Hi saxa, für den Zugriff auf Access ist DAO gut. Aber für den Zugriff auf SQL-Server solltest du ADO benützen.
Public Conn As New ADODB.Connection
Public Rs As ADODB.Recordset
Bei ADO ist es sinnvoll nicht mit gesetzten Verweisen zu arbeiten, sondern so wie ich es oben gezeigt habe. Dazu gibts auch schon Posts von mir hier im Forum, Stichwort Late Binding

Gruß Armin

P.S.: always look on the bright side of Life!
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel