japp, kör den lagrade proceduren sp_tables så får du fram alla objekt du kan fråga på, tillsammans med dess typer. alltså, tabeller, procedurer och vyer.
mvh,
8 svar · 376 visningar · startad av SPiN
Hej!
Finns det något sätt att lista alla tabeller i en databas? Antingen med en SQL-sats eller ASP...
I PHP skriver man juh simpelt mysql_list_tables("databas") och lite till för utskriften...
Någon som vet något bra sätt?
japp, kör den lagrade proceduren sp_tables så får du fram alla objekt du kan fråga på, tillsammans med dess typer. alltså, tabeller, procedurer och vyer.
mvh,
Okey, gr8... Men jag förstår inte riktigt hur du menar.
Inte SQLquery = "sp_tables" och in i ett recordset väl? Eller?
Okey, fan va schysst
Men jag får det juh tyvärr inte att funkar...
Checka koden nedan, jag vet inte riktigt hur jag ska få ut alla tabeller!
<%
set objC = Server.CreateObject("ADODB.Connection")
objC.Open "Driver={SQL Server};SERVER=min_host;UID=användare;PWD=lösenord;DATABASE=min_databas"
sSQL = "exec sp_tables"
set objRS = objC.Execute(sSQL)
For Each field in objRS.Fields
Response.Write field & "<br>"
Next
objRS.Close
set objRS = Nothing
objC.Close
set objC = Nothing
%>
Ehhm.. Kanske om man lägger in en loop tänkte jag, och så lätt var det
Så nu får jag det att funka, tackar
Men jag får ut mer information än jag vill iofs, först databas, tabelltyp, tabellnamn och typ. Finns det nåt lätt sätt att ta ut bara tabellnamnet, eller måste jag splitta strängen jag får ut?
du kan väl slänga in en if-sats i ditt asp-script?
if objRs(3) = "TABLE" then response.write objRs(2) & "<br>"
mvh,
förresten, det är inte tabelltyp du får ut, utan ägare till objektet. denna är oftast dbo, database owner.
om du vill kolla tabeller i en annan databas är det bara att du kombinerar din fråga ovan med en use-fråga:
sSQL = "USE dbDatabas" & vbCrLf & "exec sp_tables"
mvh,
Toppen!!!
Hur menar du med objrs(3)?
Jag splittade upp strängen jag fick i en array för varje loop, och om array(3) = "TABLE" skulle den skriva ut array(2) som var tabellnamnet. Men med objrs(3) och objrs(2), funkar det likadant? Alltså som arrays eller?
Tack så jättemycket för hjälpen ivf!