Shail: ASP und MySql

Hi,

ich habe gerade MySQL auf meinem Rechner installiert.
Da ich über eine ASP-Datei auf die Tabellen unter
MySql zugreifen soll, muss ich ja erst eine Verbindung
dazu herstellen. Ich weiss aber nich t wie.
Bei SQL sieht es z.B. so aus:

SET conn = Server.CreateObject("ADODB.Connection")
 conn.open "UID=sa;PWD=;DSN=Test"

Conn.Execute("Select * from Tabelle1")

Kann mir bitte jemand sagen, wie es bei MySql aussieht?

Danke im Voraus

Sohail

  1. Hi,

    Hallo

    ich mag/kann kein asp aber es hat einer so eine ähnliche Frage schonmal heute gestellt, jurz unter dir: [pref:t=39818&m=218138]

    Gruß Christoph

    --
    Ich bin ein spezialisz!
    (Zitat von VENGA JO)
    sh:) fo:) rl:° br:& ie:| mo:) va:) fl:) ss:| ls:< js:|
    Die Erklärung zum Selfcode findest du hier: http://emmanuel.dammerer.at/selfcode.html
    Einen Decoder für den Selfcode findest du hier: http://peter.in-berlin.de/projekte/selfcode
    1. sorry für mein Deutsch...

      Gruß Christoph

      --
      Ich bin ein spezialisz!
      (Zitat von VENGA JO)
      sh:) fo:) rl:° br:& ie:| mo:) va:) fl:) ss:| ls:< js:|
      Die Erklärung zum Selfcode findest du hier: http://emmanuel.dammerer.at/selfcode.html
      Einen Decoder für den Selfcode findest du hier: http://peter.in-berlin.de/projekte/selfcode
  2. http://forum.de.selfhtml.org/faq/#Q-10

    Warum, zum Teufel, sollte ich für Dich die Antwort aller fünf Minuten wiederholen?

    *Knurr*

    fastix

    1. Hi fastix,

      da hast du auch keine richtige Antwort am Lager gehabt. Vielleicht deswegen musst du die Antwort alle fünf Minuten wiederholen. :-=

      Sohail

      1. Hi fastix,

        Sohail!!!

        Vielleicht steht es Dir erstmal an die genannte Antwort und an den genannten Stellen (Links)zu aufmerksam zu lesen.
        Vieleicht steht es Dir aber auch an, zu beschreiben, was an der Antwort falsch sei.

        Bis dahin betrachte ich Deine Äußerung als "Pubs".

        fastix

        1. Sohail!!!

          Speziell für Dich gibts unten gleich Bilder!

          1. Guten Moregen erstmal,

            1. ich glaube, du musst erstmal die Frage richtig lesen und dann beantworten.

            2. die Frage war, wie man das ganze unter ASP hinbekommt und nicht warum man nicht das mit PHP versucht!! Wie das ganze unter PHP funktioniret was ich bereits.

            Sohail

            1. Guten Moregen erstmal,

              Ja, guten Morgen!

              Dort steht beschrieben, wie Du zunächst den ODBC Treiber für MySQL einrichtest.

              -> Hast Du das getan?

              Ok. Dann weiter:

              Dim strDriver
               strDriver = "DRIVER=MySQL;"
               #Schau bitte genau in der Dokumentation nach, wie der ODBC- Treiberhier genannt werden muss. Unter:
              http://www.mysql.com/products/myodbc/manual.html#Connection_parameters
              findest Du Hinweise, die zwar (nach einem ersten Überblick) nicht für ASP sind, aber die einzelnen Punkte sind nachvollziehbar. Und dem ODBC ist es egal, welche Sprache verwendet wird: es erwartet immer die gleichen Angaben beim gleichen Verbindungstyp (hier MySQL).

              Dim strServer
               strServer = "SERVER=localhost;Host=%;"
               #Das wird wohl stimmen.

              Dim strUsername
               strUsername = "UID = username;"
               #Das auch

              Dim strPassword
               strPassword = "PWD = passwort;"
               #Das auch

              Dim strDatabase
               strDatabase = "DATABASE=C:\mysql\data\mysql;"
               #Das mit Sicherheit nicht. Du musst nicht den Pfad zum Programm, sondern die verwendete MySQL- Datenbank angeben. Spätestens darauf hättest Du kommen können, wenn Du den Treiber und eine System- DSN einrichtest.

              strDatabase = "DATABASE=DeinDatenbankName;"
               #DeinDatenbankname meint das, was Du am MySQL- Prompt mit
              "use _database_" aufrufst.

              Deswegen ja auch:
               Fehlertyp:
              Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
              [Microsoft][ODBC Driver Manager] Der Datenquellenname wurde nicht gefunden, und es wurde kein Standardtreiber angegeben

              Schon allein aus dieser Fehlermeldung heraus muss ich erstmal klarstellen, ob der ODBC- Treiber überhaupt eingerichtet ist.

              Abgesehen, davon, dass Microsoft- Fehlermeldungen _oft_ falsch sind führt diese doch auf den richtigen Pfad. Das schreibt Dir jemand, der "keine" Ahnung von %ASP% hat, weil er dessen Verwendung als "nicht sinnvoll" ablehnt. Ich reisse mir also den Arsch auf um zu helfen und denke mich in eine Programmiersprache hinein. Da wäre sachlichere Antwort besser gewesen.

              Etwa so: "Ich habe folgendes getan: ODBC- Treiber eingerichtet. Geht noch nicht. Folgende Fehlermermeldung: "plapla". Wie kann mir weiter geholfen werden?"

              Einen neuen Thread zu eröffnen oder pampig zu reagieren bringt dann nichts. (siehe FAQ des Forums) http://forum.de.selfhtml.org/faq/#Q-06
              http://forum.de.selfhtml.org/faq/#Q-11

              Noch was zur Sache:

              Wenn Du nicht gerade ein Installationsskript schreibst(meine Vermutung), ist es nicht sinnvoll bei Datenbankzugriffen jedesmal den Zugriff neu einzurichten. Ich vermute, das Einrichten einer System- DSN und das Benutzen derselben ist wesentlich performanter. Stell Dir immer vor, Du hättest hunderte (oder mehr) Zugriffe pro Minute... Und meine Erfahrungen mit Perl::ODBC sind bezüglich der Performance eher bescheiden. ODBC ist ein geländegängiger Rollstuhl, kein Rennwagen. Deswegen (und weil es gerade für ASP'ler einfacher umzustellen ist) habe ich Dir vorgeschlagen, bei Zusammenarbeit mit MySQL PHP zu nutzen. Ich kann daran nichts unsinniges sehen.

              fastix

              1. Hallo,

                ich glaube das ganze Problem liegt an meiner ODBC-Verbindung.
                Ich habe zwar die MyODBC-3.51.06.exe-Datei installiert und die
                kann ich auch unter ODBC-Treibern Sehen, aber beim Öffnen von
                "WinMySQLAdmin 1.4" bekomme ich die Meldung "MyODBC Not found".
                Ich kann auch keine neue ODBC zu meiner neu angelegten Datenbank
                erstellen.

                Habe ich die falsche Version von MyODBC?

                Danke
                Sohail

                1. Hallo,
                  Habe ich die falsche Version von MyODBC?

                  Nein.

                  ich gehe mal davon aus, daß Du es installiert hast. :)

                  Ok.

                  Hast Du unten mal die bebilderte Anleitung zum Anlegen einer System-DSN befolgt?

                  Vorher(!) muss aber eine Datenbank, optimal eine Datentabelle und ein Datensatz exitieren. Die kannst Du leicht am Prompt anlegen.

                  Wenn Du den Server nicht erreichst: anders als bei Access muss der Datenbankserver als Dienst laufen.

                  Tut er das? Ja. Ok. Nein: Starte mal den mysqld-nt.exe, und dann gehe in Start-> -> Systensteuerung -> Verwaltung -> Dienste und stelle sicher, dass der Dienst gestartet ist und das dies künftig automatisch erfolgt.
                  Du weisst sicher, dass Du den Port 3306 schließen musst (Firwewall) oder dem Mysql- Server nur für das Nachbarnetz erlauben darfst (Personal Firwalls). Sonst kann praktisch jeder... Ich vermute, Dein Passwort ist noch leer.

                  ----------------------------------------------------------------------
                  C:\windows> cd \mysql\bin
                  C:\mysql\bin> mysql
                  Welcome to the MySQL monitor.  Commands end with ; or \g.
                  Your MySQL connection id is 12 to server version: 4.0.3-beta-nt

                  Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

                  mysql> create database test;
                    Query OK, 1 row affected (0.01 sec)
                  mysql> use test;
                    Database changed
                  mysql> CREATE TABLE xtest (nr BIGINT NOT NULL ,name TEXT NOT NULL ,vname TEXT NOT NULL);
                    Query OK, 1 row affected (0.01 sec)
                  mysql> INSERT INTO test values(1,"Meier","Hans")
                    Query OK, 1 row affected (0.01 sec)
                  mysql> exit
                    bye
                  ----------------------------------------------------------------------
                  Dann gibt es eine Datenbank "test" mit der tabelle "xtest", die Spalten nr(GroßeGanzzahl), name(Text), vname(Text) und eine Datenzeile enthält.

                  Ok. Merk Dir den Datenbankname(test), den Tabellename(xtest) und befolge die bebilderte Anleitung :) unten.

                  1. ich meine die:

                    [pref:t=39818&m=218338]

                    1. Eins noch:

                      Ich weiss ja nicht, was Du als User und Passwort eingibts. Aber ich weiss, dass doert nicht die Anmeldedaten von Windows reingehören. MySQL hat eine eigene User- und Rechteverwaltung. Folglich mußt Du, wenn Du da noch nichts dran getan hast Benutzer und Passwort einfach leer lassen.

                      Ich hoffe, das hilft Dir weiter.

                      fastix

                      1. Hai,

                        danke für deine Bemühungen.
                        Unter dieser Adresse ?t=39818&m=218338 bekomme ich eine Fehlermeldung.

                        Ich neben MYSql auch die MySQL-Front_2.5_Setup.exe installiert. Das ist sozusagen eine Datenbankverwalter für MySQL und hat eine Oberfläche wie MSSQL. Da kann ich direke einen Datenstz reinschreiben.

                        Bei kir ist der Dienst(MySql) gestartet und auf Automatisch gestellt.
                        Ich bekomme aber immernoch die gleiche fehlermeldung und die MyODBC wird nicht gefunden. Ich glaube nicht, dass das etwas mit einstellungen zutun hat. Vielleicht übersehe ich etwas. Ich habe MyODBC nochmal installiert. Ich bekomme aber nichts raus.

                        Danke nochals
                        Sohail

                        1. Hai,

                          Fisch :)

                          Poste noch mal Dein Skript.

                          fastix

                          1. Und schau auch mal hier nach:

                            http://forum.de.selfhtml.org/archiv/2003/2/38622/#m211503

                            Da wurde das Problem wohl schon mal iergendwie gelöst.

                            /Tip: wenn das alles nicht hilft nimm mal die Suchfunktion und gib einfach ASP und MYSQL ein... Durchsuche dann auch das Archiv.

                            fastix

                            1. Hallo,

                              es hast sich erledigt. Die Antwort von Axel hat mich geholfen.
                              Ich habe nämlich den gleichen Fehler gemacht und zwar, bei mir
                              heisst auch die der mySQL Treiber {MySQL ODBC 3.51 Driver} und
                              nicht MyODBC.

                              Ich habe aber jetzt ein anderes Problem. Wenn ich eine ODBC-Konfiguration
                              kann ich ja auch eine UserID und ein Passwort eingeben. Wenn ich
                              aber das mache und dann Test Data Source klicke bekomme ich eine
                              Fehlermeldung:

                              [MySql][ODBC 3.51 Driver] Access denied for user: 'sohail@localhost'(using Password:Yes)

                              Kannst du damit was anfangen.

                              Danke
                              Sohail

                              1. Hallo,
                                [MySql][ODBC 3.51 Driver] Access denied for user: 'sohail@localhost'(using Password:Yes)

                                Ja, das stand wohl auch letztendlich so in einer FAQ's, auf die ich verwiesen habe.

                                Kannst du damit was anfangen.

                                Ja. MySQL hat eine eigene Userverwaltung. Diese liegt in den der Datenbank mysql.
                                Wenn Du also einen Benutzer angeben willst, so musst Du diesen erst mal anlegen und ihm auch ein Passwort zuweisen.

                                Das ist auch sehr zu empfehlen, das sonst jeder weltweit auf Deine Datenbanken über den Port 3306 zugreifen kann... Alternative: Sperrung des Ports durch eine Firwall.

                                Wie die Benutzervervaltung von MySQL funktioniert ist nicht mit 3 Zeilen beschrieben. Am besten Du schaust in die MySQL-Tutorials oder besorgst Dir ein Buch. (z.B. "mysql in 21 tagen")

                                Ich hab das übrigens was gefunden:

                                http://www.online-tutorial.de/cgi-bin/tutorials.pl?Select=Tutorials&Rubrik=MySql&x=109&y=2

                                fastix

                                1. Ich hab das übrigens was gefunden:

                                  http://www.rent-a-database.de/mysql/
                                  Ist auf Deutsch...

                                  fastix

                                  1. Hallo,

                                    danke. Ich habe zwei DateTime Felder in meiner Tabelle.
                                    Wie kann ich in MySQL diese Felder automatisch füllen.

                                    Bei SQL reicht es mit Now(). Bei MySQL bekomme ich nur
                                    Null raus. Ich habe es auch mit Date() versucht, da habe
                                    ich dieses unsinnige Datum 2008-03-20 03:00:00 heraus bekommen.
                                    Hast du eine Idee?

                                    Sohail

                                    1. Hallo,

                                      da habe ich dieses unsinnige Datum 2008-03-20 03:00:00 heraus bekommen.
                                      Hast du eine Idee?

                                      (1) Dies ist eine ISO gerechte Datums/Uhrzeitangabe: 20. März 2008
                                      (2) Datum/Uhrzeit in MySQL immer so eintragen. Es kann damit rechnen:

                                      http://www.rent-a-database.de/mysql/mysql-166.html

                                      Bitte lesen...

                                      fastix

                                    2. Hallo,

                                      2008-03-20 03:00:00

                                      Datum und Uhrzeit auf dem Rechner mal richtig einstellen könnte auch helfen

                                      :)

                                      fastix