Ankündigung

Einklappen
Keine Ankündigung bisher.

Python Zugriff auf SQL Datenbank

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Python Zugriff auf SQL Datenbank

    Seit der Umstellung auf 64 bit kann ich per Python-Script nicht mehr auf meine Datenbank zugreifen (Script läuft in der Shell). Ein 'mysql -u xxxx -p' mit den gleichen Zugangsdaten funktioniert einwandfrei. Der Python-Zugriff erfolgt mit dem mysql-connector-python.

    #2
    Siehe https://forum.df.eu/forum/produkte/w...agedhosting-64

    Kommentar


      #3
      Danke, aber das ist es nicht. Es geht da um Python als Webanwendung; ich habe aber eine reine Shell-Anwendung. Laut DF soll es ja auf der Shell funktionieren - und das tut es leider nicht!

      Kommentar


        #4
        Zitat von rexfue Beitrag anzeigen
        Danke, aber das ist es nicht. Es geht da um Python als Webanwendung; ich habe aber eine reine Shell-Anwendung. Laut DF soll es ja auf der Shell funktionieren - und das tut es leider nicht!
        Was tun Sie denn genau und was bekommen Sie als Meldung zurück? Dann gehe ich dem gerne einmal nach!

        Mit freundlichen Grüßen

        Nils Dornblut
        Blog - Facebook - Twitter
        Communitybetreiber: domainfactory GmbH
        Impressum / Pflichtangaben

        Kommentar


          #5
          OK, danke schon mal.

          Hier erst mal das abgespeckte Python -Script:
          Code:
          import mysql.connector
          
          mydb = mysql.connector.connect(
          host="localhost",
          user="XXXXXX",
          password="XXXXXXX",
          database="db12345"
          )
          
          mycursor = mydb.cursor()
          
          mycursor.execute("SELECT email FROM anmeldungen WHERE fdatum > 20211110")
          anmeld = mycursor.fetchall()
          print(anmeld)
          Natürlich sind die XXX durch die echten Werte ersetzt. Der Zugriff auf die Datenbank mit PHP klappt mit diesen Daten problemlos.

          Aufruf und Ausgabe:
          (.myvenv) [[email protected] PYTHON]$ python3 db1.py
          Traceback (most recent call last):
          File "/kunden/............/PYTHON/.myvenv/lib64/python3.6/site-packages/mysql/connector/connection_cext.py", line 236, in _open_connection
          self._cmysql.connect(**cnx_kwargs)
          _mysql_connector.MySQLInterfaceError: Can't connect to MySQL server on 'localhost:3306' (111)

          During handling of the above exception, another exception occurred:

          Traceback (most recent call last):
          File "db1.py", line 9, in <module>
          database="sternwarte"
          File "/kunden/............/PYTHON/.myvenv/lib64/python3.6/site-packages/mysql/connector/__init__.py", line 272, in connect
          return CMySQLConnection(*args, **kwargs)
          File "/kunden/............/PYTHON/.myvenv/lib64/python3.6/site-packages/mysql/connector/connection_cext.py", line 85, in __init__
          self.connect(**kwargs)
          File "/kunden/............/PYTHON/.myvenv/lib64/python3.6/site-packages/mysql/connector/abstracts.py", line 1014, in connect
          self._open_connection()
          File "/kunden/............PYTHON/.myvenv/lib64/python3.6/site-packages/mysql/connector/connection_cext.py", line 242, in _open_connection
          sqlstate=exc.sqlstate)
          mysql.connector.errors.DatabaseError: 2003 (HY000): Can't connect to MySQL server on 'localhost:3306' (111)
          (.myvenv) [[email protected] PYTHON]$

          Auch ein Versuch mit 'node.js' hat fehlgeschlagen, d.h. konnte keine Verbindung zu DB aufbauen.
          Was mach ich da falsch?

          Beste Grüße
          Reinhard


          Kommentar


            #6
            Hallo Reinhard,

            bitte entschuldigen sie, dass ich mich bisher nicht gemeldet habe. Sobald mir eine Rückmeldung vorliegt, melde ich mich.

            Mit freundlichen Grüßen

            Nils Dornblut
            Blog - Facebook - Twitter
            Communitybetreiber: domainfactory GmbH
            Impressum / Pflichtangaben

            Kommentar


              #7
              Zitat von rexfue Beitrag anzeigen
              OK, danke schon mal.

              Hier erst mal das abgespeckte Python -Script:
              Code:
              import mysql.connector
              
              mydb = mysql.connector.connect(
              host="localhost",
              user="XXXXXX",
              password="XXXXXXX",
              database="db12345"
              )
              
              mycursor = mydb.cursor()
              
              mycursor.execute("SELECT email FROM anmeldungen WHERE fdatum > 20211110")
              anmeld = mycursor.fetchall()
              print(anmeld)
              Natürlich sind die XXX durch die echten Werte ersetzt. Der Zugriff auf die Datenbank mit PHP klappt mit diesen Daten problemlos.

              Aufruf und Ausgabe:
              (.myvenv) [[email protected]h11090 PYTHON]$ python3 db1.py
              Traceback (most recent call last):
              File "/kunden/............/PYTHON/.myvenv/lib64/python3.6/site-packages/mysql/connector/connection_cext.py", line 236, in _open_connection
              self._cmysql.connect(**cnx_kwargs)
              _mysql_connector.MySQLInterfaceError: Can't connect to MySQL server on 'localhost:3306' (111)

              During handling of the above exception, another exception occurred:

              Traceback (most recent call last):
              File "db1.py", line 9, in <module>
              database="sternwarte"
              File "/kunden/............/PYTHON/.myvenv/lib64/python3.6/site-packages/mysql/connector/__init__.py", line 272, in connect
              return CMySQLConnection(*args, **kwargs)
              File "/kunden/............/PYTHON/.myvenv/lib64/python3.6/site-packages/mysql/connector/connection_cext.py", line 85, in __init__
              self.connect(**kwargs)
              File "/kunden/............/PYTHON/.myvenv/lib64/python3.6/site-packages/mysql/connector/abstracts.py", line 1014, in connect
              self._open_connection()
              File "/kunden/............PYTHON/.myvenv/lib64/python3.6/site-packages/mysql/connector/connection_cext.py", line 242, in _open_connection
              sqlstate=exc.sqlstate)
              mysql.connector.errors.DatabaseError: 2003 (HY000): Can't connect to MySQL server on 'localhost:3306' (111)
              (.myvenv) [[email protected] PYTHON]$

              Auch ein Versuch mit 'node.js' hat fehlgeschlagen, d.h. konnte keine Verbindung zu DB aufbauen.
              Was mach ich da falsch?
              Bitte senden Sie uns den genauen Ort des Skripts auf Ihrem Webspace in einen Anfrage an die Technik über das Kundenmenü. Wir werden uns das dann ansehen. So direkt können wir das aktuell nicht nachstellen und brauchen daher die genauen Details in Ihrer Umgebung.

              Mit freundlichen Grüßen

              Nils Dornblut

              Blog - Facebook - Twitter
              Communitybetreiber: domainfactory GmbH
              Impressum / Pflichtangaben

              Kommentar

              Lädt...
              X