in Registry schreiben ( windows )

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
The Hit-Man
User
Beiträge: 407
Registriert: Montag 20. Februar 2006, 18:11
Wohnort: Menden / Sauerland
Kontaktdaten:

in Registry schreiben ( windows )

Beitragvon The Hit-Man » Mittwoch 28. Mai 2008, 08:39

habe hier ein schönes beispiel gefunden, wie man in die registry einen schlüssel schreiben kann.
http://www.python-forum.de/topic-5453.html?highlight=registry

jetzt kenne ich mich leider gar nicht mit schlüsseln aus. mein problem ist, ich muß eine odbc verbindung in der registry speichern. habe einfach mal einen eintrag in dem odbc manager angelgt und danach in der registry gesucht und auch gefunden. der schlüssel sieht wie folgt aus:

Code: Alles auswählen

Windows Registry Editor Version 5.00

[HKEY_USERS\S-1-5-21-1482476501-813497703-1202660629-1003\Software\ODBC\ODBC.INI\servatumSQL]
"Driver"="C:\\WINDOWS\\system32\\SQLSRV32.dll"
"Server"="thor"
"LastUser"="max"
"Description"="servatum"


und

Code: Alles auswählen

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\ODBC Data Sources]
"servatumSQL"="SQL Server"


erstens dachte ich, das der schlüssel unter dem jeweiligen user zu finden ist, da ich ja eine odbc verbindung für einen user angelegt hatte. wie kann ich denn jetzt am besten, diese schlüssel, in die reg eintragen? hatte mir das beispiel ( link oben ) angeschaut. verstehe es aber nicht ganz, wie es mit meinem schlüssel funktionieren soll.
Benutzeravatar
veers
User
Beiträge: 1219
Registriert: Mittwoch 28. Februar 2007, 20:01
Wohnort: Zürich (CH)
Kontaktdaten:

Beitragvon veers » Mittwoch 28. Mai 2008, 09:00

My Website - 29a.ch
"If privacy is outlawed, only outlaws will have privacy." - Phil Zimmermann
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5554
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Telfs (Tirol)
Kontaktdaten:

Re: in Registry schreiben ( windows )

Beitragvon gerold » Mittwoch 28. Mai 2008, 09:04

The Hit-Man hat geschrieben:erstens dachte ich, das der schlüssel unter dem jeweiligen user zu finden ist

Hallo The Hit-Man!

Für dich ist nur HKEY_CURRENT_USER relevant.

Code: Alles auswählen

#!/usr/bin/env python
# -*- coding: iso-8859-15 -*-

#[HKEY_CURRENT_USER\\Software\ODBC\ODBC.INI\servatumSQL]
#"Driver"="C:\\WINDOWS\\system32\\SQLSRV32.dll"
#"Server"="thor"
#"Description"="servatum"

#[HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\ODBC Data Sources]
#"servatumSQL"="SQL Server"

import os
import _winreg as winreg

SQLSRV32 = os.path.join(os.environ["SystemRoot"], "system32", "SQLSRV32.dll")


def create_odbc_data_source(name, server, description = ""):
   
    key = winreg.CreateKey(
        winreg.HKEY_CURRENT_USER,
        "Software\\ODBC\\ODBC.INI\\%s" % name
    )
    winreg.SetValueEx(key, "Driver", None, winreg.REG_SZ, SQLSRV32)
    winreg.SetValueEx(key, "Server", None, winreg.REG_SZ, server)
    if description:
        winreg.SetValueEx(key, "Description", None, winreg.REG_SZ, description)
    winreg.CloseKey(key)
   
    key = winreg.CreateKey(
        winreg.HKEY_CURRENT_USER,
        "Software\\ODBC\\ODBC.INI\\ODBC Data Sources"
    )
    winreg.SetValueEx(key, name, None, winreg.REG_SZ, "SQL Server")
    winreg.CloseKey(key)
   

def main():
    # Testen
    create_odbc_data_source("mein_test", "localhost", "na seavas")


if __name__ == "__main__":
    main()

Ich habe allerdings nicht getestet, ob ODBC damit wirklich funktioniert.

mfg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
The Hit-Man
User
Beiträge: 407
Registriert: Montag 20. Februar 2006, 18:11
Wohnort: Menden / Sauerland
Kontaktdaten:

Beitragvon The Hit-Man » Mittwoch 28. Mai 2008, 09:05

oh, vielen dank. hatte gerade mit nem kollegen gequatscht, der wußte auch nicht wie man das macht. werde ich sofort hier testen.

danke

EDIT:


link geht nicht.
audax
User
Beiträge: 830
Registriert: Mittwoch 19. Dezember 2007, 10:38

Beitragvon audax » Mittwoch 28. Mai 2008, 09:31

Tut er wohl :o
The Hit-Man
User
Beiträge: 407
Registriert: Montag 20. Februar 2006, 18:11
Wohnort: Menden / Sauerland
Kontaktdaten:

Beitragvon The Hit-Man » Donnerstag 29. Mai 2008, 09:03

ja, jetzt ;)

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder