SQL Zugriff ohne auf DB zu connecten?
aNtraXx 25.06.2003 - 14:25 1012 22
aNtraXx
trailer park king
|
also ich möchte bei einem login fenster schon alle in einem SQL-Server (myphpadmin) enthaltenen Datenbanken in einer scrollbox anzeigen, ohne zuvor auf eine der enthaltenen datenbanken zu connecten.
coden tue ich im delphi und der SQL-Befehl "SHOW DATABASES" ist mir bekannt. jedoch müsste ichm damit der befehl wirkung zeigt erst zu einer db connecten. da ja in jeder SQL datenbank die DB MYSQL vorhanden ist könnte ich ja zu dieser connecten. aber genau dass will ich nicht.
gibt es sonst irgendeine möglichkeit....bzw wie kann ich es machen?
Bearbeitet von atrox am 27.06.2003, 13:42
|
manalishi
tl;dr
|
du möchtest also ohne verbindung einen dienst benutzen. sehe ich das richtig?
|
aNtraXx
trailer park king
|
hmm naja der dienst läuft ja. connection hab ich keine. aber da muss es ja irgend ein tool im delphi geben das ich nicht kenne oder so das das umgeht und es direkt irgendwo auslest.
weil wenn ich extra in die mysql db connecten muss muss ich ja auch gezwungenermaßen einen user angeben. dh. einen den es standardmäßig gibt. das wäre der root. nur welcher admin deaktiviert nicht als allererstest diesen user bzw. vergibt ein pw?
|
Rektal
Here to stay
|
Eins muss dir prinzipiell klar sein: ohne dich mit dem MySQL Server in Verbindung zu setzen kriegst du keine Info. Ausser du siehst lokal am Filesystem nach welche Datenbanken vorhanden sind; aber das kann auch leicht an den Permissions scheitern.
Vielleicht hilft dir das SHOW DATABASES auch mit einem normalem User in der Regel alle Datenbanken anzeigt.
|
aNtraXx
trailer park king
|
naja aber der user muss von haus aus bei jedem server vorhanden sein. und das ist nun mal der root. aber wer ändert den nicht sofort um?
|
atrox
in fairy dust... I trust!
|
wer sagt, dass du dich als root connecten musst ? warum nicht irgendein neer account ohne rechte auf irgendwas ?
|
BuSHidO
ist süß
|
geh doch über die windows authentication anstatt sql server auth ...
musst auch zugriff geben ...
ohne auth ist kein zugriff möglich
|
aNtraXx
trailer park king
|
@ atrox: naja es muss ein user sein der schon von haus aus existiert. @ bushido: wie meinen?
|
erlgrey
formerly known as der~erl
|
afaik meint er das du in sql die rechte auf windows auth einstellen sollst.. so kann dann jeder? win user zugreifen.. ned schlagen wenns falsch is
|
atrox
in fairy dust... I trust!
|
Manche replies zielen offenbar auf "MS SQL-Server", während andere auf MySql hindeuten. aNtraXx hat sich da etwas ungeschickt im ersten post ausgedrückt, aber ich nehme an, er meint mysql.
afiak gibts keine default-user, auf di e du dich verlassen kannst - selbst bei oracle, die immer ihre demo-datenbank mitinstallieren (username scott, password tiger), haben den account halbwegs abgesichert, und man muß jedem admin das recht einräumen, default- und demoaccounts zulöschen.
wenn du mysqladmin im multiuser/multimandanten-mode fährst, mußt du im allgemeinen auch einen eigenen user einrichten, der nichts darf, außer datenbank-user/berechtigungen abzufragen.
|
aNtraXx
trailer park king
|
tja das müsste ich halt dann jedesmal beim programmstart durchführen. weil es sollte ja auch jemand nutzen können der sich nicht mit den datenbanken auskennt. aber dazu muss ich wieder eine verbindung haben. aber wie gesagt... mir fehlts am user also muss ich irgendwie anders zugreifen. es handelt sich zwar um sql datenbanken aber zum administrieren davon benutze ich phpmyadmin... (ned myphpamdin  )
|
Rektal
Here to stay
|
Du kannst dir einen user anlegen der zwar zur Datenbank verbinden kann aber keine Rechte hat auf eine andere DB zuzugreifen. Auflisten kannst du sie trotzdem alle.
Was "nur das auflisten" bringt (mehr hast du bis jetzt ja nicht geschrieben) weiss ich nicht, wenn du mehr machen willst muss sich der user erst wieder anmelden.
|
aNtraXx
trailer park king
|
ja schon klar. wie ich connecte und mit den tabellen und deren inhalt arbeite ist mir eh klar.
problem ist dass ich einen user anlegen muss! und der nicht von hausaus überall schon da ist. aber wie kann dann das programm bei zb der install den user anlegen den ich brauche? er muss ja auch irgendwie connecten zur db um diesen zu installieren
|
Rektal
Here to stay
|
Ohne schon administrative Rechnte auf dem MySQL Server zu haben kannst du keinen user anlegen.
Aber vielleicht ist es einfacher zu erklaeren was genau du eigentlich machen moechtest mit deinem Server und deiner Applikation die du programmierst. Ob die zwei auf getrennten Rechnern arbeiten oder nicht z.B. Und warum du keine User am Server anlegen kannst. Und warum der User am Clientprogramm keine Anmeldung haben kann. Und was der Client eigentlich machen "darf" am SQL Server. Usw.
|
aNtraXx
trailer park king
|
nun ja es geht um ein userfreundliches programm mit dem du eine datenbank updaten etc kannst. nun ja und wenn du dann eben den login hast wo du die benutzerdaten angibst will ich eine scrollbox wo alle dbnamen drinnen stehen. ZWECK: du musst nicht wissen welche datenbanken vorhanden sind. jedoch wurde zuvor noch nicht connected. und es soll von überall funktionieren auf verschiedene server. und nachdem ich ned auf allen servern user anlegen kann etc. muss das irgendwie über was anderes gehen
|