Auf Datenbank zugreifen

  • Python

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von SplittyDev.

    Auf Datenbank zugreifen

    Hallo, ich schreibe derzeit mit Python, eigentlich nicht freiwillig.
    Ich habe ein großen Ordner voller .py Dateien mit einer Batch Datei.
    Ich versuche einen Server von einem Mod umzuschreiben.
    Sozusagen nur Serverseitig. So sieht ein Codeausschnitt aus:

    Quellcode

    1. ("check_name_server", # server: send a test message to the name server to check whether it should be enabled
    2. [
    3. (try_begin),
    4. (eq, "$g_name_server_enabled", 0),
    5. (str_store_string, s1, "str_name_server"),
    6. (neg|str_is_empty, s1),
    7. (str_store_string, s2, "str_name_server_password"),
    8. (neg|str_is_empty, s2),
    9. (assign, reg1, 0),
    10. (assign, reg2, 0),
    11. (str_clear, s3),
    12. (send_message_to_url, "str_http_s1_password_s2_id_reg1_uid_reg2_name_s3"),
    13. (try_end),
    14. ]),
    15. ("player_check_name", # server: check the player name and unique id with the name server, if enabled
    16. [(store_script_param, ":player_id", 1), # must be valid
    17. (try_begin),
    18. (eq, "$g_name_server_enabled", 1), # this is set upon reply to a test message sent at server start
    19. (str_store_string, s1, "str_name_server"),
    20. (str_store_string, s2, "str_name_server_password"),
    21. (assign, reg1, ":player_id"),
    22. (player_get_unique_id, reg2, ":player_id"),
    23. (str_store_player_username, s3, ":player_id"),
    24. (str_encode_url, s3),
    25. (str_store_string, s0, "str_http_s1_password_s2_id_reg1_uid_reg2_name_s3"),
    26. (try_begin),
    27. (player_is_admin, ":player_id"),
    28. (str_store_string, s0, "str_http_s0_admin"),
    29. (try_end),
    30. (send_message_to_url, s0),
    31. (try_end),
    32. ]),


    So, und zwar möchte ich eine Verbindung zu einer Datenbank herstellen, es ist egal ob lokal oder im Internet.
    Ich weiß nur nicht wie das funktioniert, ich habe gelesen mit "import sqlite3" dann "connection (datenbank.sqlite)" sollte sowas zu machen sein, aber sobald ich die Scripts erstellen lasse (durch das Batch) gibt er mir Fehler aus das die Syntaxe fehlerhaft seien. Kann mir jemand helfen?

    Mfg
    Das geht relativ einfach mit dem MySQLdb Modul.

    Imports:

    Quellcode

    1. import MySQLdb


    Verbindung herstellen:

    Quellcode

    1. # Oeffne die Datenbankverbindung
    2. db = MySQLdb.connect("localhost","testuser","test123","TESTDB" )
    3. # Erstelle ein neues cursor objekt
    4. cursor = db.cursor()
    5. # SQL Query ausführen
    6. cursor.execute("SELECT VERSION()")
    7. # Stopfe das ergebnis der query in eine variable
    8. data = cursor.fetchone()
    9. print "Datenbank version : %s " % data
    10. # Verbindung trennen
    11. db.close()


    Das MySQLdb Modul ist nicht immer installiert,
    das kannst du ja leicht nachinstallieren.
    Ich glaub das Paket heißt MySQLPython oder so =D
    Ich weiß nicht es kommt mir so vor als wär es eine veränderte Python Scriptart?
    (send_message_to_url, "@--.de/?id={reg26}&uid={reg27}"),

    so sind die Scripts z.B gegliedert.
    Das ist die Batch:
    @echo off
    python -tt build_module.py
    @del *.pyc
    echo
    echo Press any key to exit...
    pause>nul


    ich habe echt keine Ahnung wie das funktionieren soll.
    Er sagt immernoch "fehlerhafter Syntax" z.B
    fobj = open("woerterbuch.txt", "r")
    sowas funktioniert z.B auch nicht.
    Nee sorry.
    Hab das nur schnell recherchiert und bin dann auf TaleWorlds gestoßen.
    Hab das noch nie gezockt und auskennen du ich mich erst recht nicht damit.

    Aber die haben en Forum, frag da doch einfach mal nach :)