Just nu i M3-nätverket
Gå till innehåll

SHOW TABLES FROM databasnamnet


Admini

Rekommendera Poster

Hej

Hur använder man följande för att lista alla tabeller i en databas:

SHOW TABLES FROM databasnamnet

 

Jag är kanske ute och cyklar, men om detta är en SQL-sats då bör det gå att använda så här:

 

sql="SHOW TABLES FROM databasnamnet"
rs.Open sql, conn, 0, 3
While Not rs.Eof
Response.Write (---- någonting ---)
rs.MoveNext
Wend
rs.Close

 

Eller?...

 

tacksam för hjälp!

 

Länk till kommentar
Dela på andra webbplatser

Ja det stämmer. Inte säker på vilka fält MySql returnerar med det anropet, men du kan ju hämta fälten med index, ex. rs(0), rs(1) osv.

 

Länk till kommentar
Dela på andra webbplatser

jasså du har redan svarat, jag får ingen email ...

 

ok, jag får felmed:

Invalid operation on closed object
lista_tabeller.asp, line 14

 

13. rs.Open sql, conn, 0, 3

14. While Not rs.Eof

 

Varför?

 

[inlägget ändrat 2006-10-15 22:04:56 av Admini]

Länk till kommentar
Dela på andra webbplatser

Bra fråga. Har ingen MySql installerad att testa med, men enligt dokumentationen ser ju syntaxen ut att resultera tabellerna i en vanlig resultatmängd med en kolumn (eller två kolumner om man använder SHOW FULL TABLES)

Har du testat queryn direkt i MySql? Testat med en vanlig annan query för att kontrollera att kopplingen fungerar?

 

Länk till kommentar
Dela på andra webbplatser

Annars kan du använda INFORMATION_SCHEMA-databasen:

Jaha, där ser man. Visste inte att detta fanns även i MySql. Har ofta haft nytta av denna i MSSQL.

 

Länk till kommentar
Dela på andra webbplatser

Annars kan du använda INFORMATION_SCHEMA-databasen:

men jag vet ju inte tabellnamnen. Meningen är ju att ta reda på dem.

 

Länk till kommentar
Dela på andra webbplatser

Ok, nu fattar jag

jag använder den rakt av och det blir fel:

SELECT command denied to user: 'user_1@ws12.server2.com' for table 'TABLES'

 

 

Länk till kommentar
Dela på andra webbplatser

men jag vet ju inte tabellnamnen

 

SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE table_schema = 'databasnamnet'

 

 

 

Länk till kommentar
Dela på andra webbplatser

Det är väl detta som felar kanske?

Note: If you have no privileges for a table, the table does not show up in the output from SHOW TABLES

 

Länk till kommentar
Dela på andra webbplatser

I kontrollpanelen för databashentering har jag bockat för allting:

grant  
 lock tables  
 drop  
 create temporary tables  
 update  
 create  
 alter  
 index  
 select  
 references  
 insert  
 delete 

 

Länk till kommentar
Dela på andra webbplatser

I kontrollpanelen för databashentering har jag bockat för allting:

Jag är inte bekant med mysqls användarhanteringssystem, men är det verkligen användaren user_1@ws12.server2.com som du gett fulla rättigheter och inte bara admin?

 

 

Länk till kommentar
Dela på andra webbplatser

I mysql existerar inte "bara en användare och det är", alla rättigheter är kopplade till en användare@host där "host" kan vara antingen ett domän-namn (som mappar mot användaren adress), en IP-adress eller '%' för "vad som helst".

 

Endast användarnamnet "user_1" är fullt giligt men du kommer aldrig att komma in om det verkligen är det enda som står eftersom du alltid kommer att identifieras med en user och en host.

 

På ett webbhotell är sånt där nästan alltid färdiguppsatt men du kanske har installerat det hela själv?

 

 

Länk till kommentar
Dela på andra webbplatser

ODBC ser ut så här:

 

Conn.Open "DRIVER={MySql}; SERVER=ws12.server2.com; DATABASE=min_mydatabase ; UID=user_1_namn ; PWD=losenord "

 

user_1_namn har fulla rättigheter.

namnen är modifierade av säkerhetsskäl.

 

Med "bara en användare och det är" menade jag att jag skapade en enda användare.

 

Admin finns säkert men jag använder den inte.

 

Länk till kommentar
Dela på andra webbplatser

Om vi går tillbaka till det här inlägget där SHOW TABLES funkade på servern:

 

SHOW TABLES

funkar i phpMyAdmin som är på servern.

Den visar helt riktigt alla tabeller

 

Kan vi inte göra något här för att det ska fungera på klientsidan?

 

 

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...