Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

ODBC Datenquelle (System-DSN) automatisch anlegen

Frage Entwicklung Batch & Shell

Mitglied: Dani

Dani (Level 5) - Jetzt verbinden

04.04.2014, aktualisiert 15:03 Uhr, 11774 Aufrufe, 10 Kommentare

Hallo zusammen,
wir müssen auf einigen Rechner (Windows 7 Enterprise, SP1, 64Bit) eine ODBC-Datenquelle (32Bit, SYSTEM-DSN) anlegen. Wir haben bereits einige Versuche hinter uns.
Leider können wir nicht den Windowsbenutzernamen verwenden, sondern einen dedizierten SQL-Benutzer. Lässt sich leider nicht ändern.

Versuch 1:
Verteilung per Gruppenrichtlinie. Leider hat dies nicht funktioniert. Auf Nachfrage beim Microsoft Support wurde uns mitgeteilt, dass dieses Problem unter Windows Server 2008R2 SP1, 64Bit bekannt sei. Leider steht noch nicht fest, ob der Fehler überhaupt gefixt wird. Hat es jemand von euch am Laufen?

Versuch 2:
Es gibt ein Tool odbcconf.exe. Dieses haben wir wie folgt aufgerufen:
01.
ODBCCONF.EXE /a {CONFIGSYSDSN "SQL Server" "DSN=dsnanme|Server=dbserver|Database=datenbank"}
.
Damit wird die Verbindung sauber angelegt. Ich habe aber keinen Parameter gefunden um Benutzername und Passwort mitzugeben.

Hier im Forum bin auf ODBC (User-DSN) Datenquelle mit Password per Script anlegen gestoßen, funktioniert aber nicht (mehr).
Unter Windows 8 bzw. Server 2012/r2 gibt es eine neue Reihe von Befehlen für ODBC. Leider nicht verfügbar für Windows 7.

Was für uns noch unklar ist, ob es per VBScript, Powershell, etc... eine Möglichkeit gibt, diese Datenquelle anzulegen? Es muss eben der Benutzer + Passwort übergeben werden.


Grüße,
Dani
Mitglied: jsysde
04.04.2014 um 16:25 Uhr
Mahlzeit.

Uih, das ist schon ne Weile her, aber letztlich sind die System-DSNs auch nur Registry-Einträge - und genau darüber hab ich die auch angelegt, allerdings unter HKCU statt unter HKLM, aber die Pfade kannst du ja anpassen. Diese wären:
[HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\ODBC Data Sources]
[HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\<softwarename>]

Installiere mal ein System manuell und schau dir dann die gemachten Einträge an. Prinzipiell sollte das funktionieren, wenn du die einfach auf allen Systemen per GPO und/oder Skript in die Registry schreibst.

Cheers,
jsysde
Bitte warten ..
Mitglied: Dani
04.04.2014 um 16:31 Uhr
Mahlzeit,
danke für deine Antwort. Leider stehen dort keine Passwörter drin, sondern die reinen Verbindungsdaten.


Grüße,
Dani
Bitte warten ..
Mitglied: colinardo
04.04.2014, aktualisiert um 17:14 Uhr
Hallo Dani,
das haben andere auch schon versucht:
Es lässt sich für eine System-DSN dauerhaft kein Passwort hinterlegen.
Übergebe Benutzername und Kennwort im Connection-String an die Datenbank.

Schönes Wochenende ...

Grüße Uwe
Bitte warten ..
Mitglied: Dani
04.04.2014 um 17:43 Uhr
Hallo Uwe,
auf dich habe ich eigentlich gezählt...

Übergebe Benutzername und Kennwort im Connection-String an die Datenbank.
Der Hersteller lässt dies leider nicht zu. Die Software liest einen System-DSN mit einem bestimmten Namen aus. Bei 50 Rechner würde sagen "Okay Jungs, heute klopfen wir die Dinger rein". Aber es geht um dreistellige Rechneranzahl, das ist schon Strafarbeit!


Grüße,
Dani
Bitte warten ..
Mitglied: colinardo
04.04.2014, aktualisiert 05.04.2014
Zitat von Dani:
Der Hersteller lässt dies leider nicht zu. Die Software liest einen System-DSN mit einem bestimmten Namen aus. Bei 50 Rechner
würde sagen "Okay Jungs, heute klopfen wir die Dinger rein". Aber es geht um dreistellige Rechneranzahl, das ist
schon Strafarbeit!
was meinst du mit reinkloppen, wenn du im Dialog Username und Passwort eingibst gilt das Password nur zum Abfragen der weiteren Verbindungseigenschaften, wird dort abe nicht dauerhaft gespeichert, zumindest ist das hier bei mir so (steht aber auch hier).

Wenn du es brauchen kannst, habe den Dialog mal vor einiger Zeit mit AutoIT über die GUI automatisiert (Gilt für ein deutsches Windows 7):
01.
#NoTrayIcon 
02.
$username = "Username" 
03.
$password = "abcde" 
04.
 
05.
BlockInput(1) 
06.
RunWait("ODBCCONF.EXE /a {CONFIGSYSDSN ""SQL Server"" ""DSN=dsnname|Server=dbserver|Database=datenbank""}") 
07.
Run("odbcad32.exe") 
08.
WinWait("ODBC-Datenquellen","",10) 
09.
WinActivate("ODBC-Datenquellen") 
10.
ControlClick("ODBC-Datenquellen","","[CLASSNN:SysTabControl321]","left",1,194,31) 
11.
sleep(500) 
12.
$listindex = ControlListView("ODBC-Datenquellen","","SysListView321","FindItem","dsnname") 
13.
if $listindex <> -1 then 
14.
	ControlListView("ODBC-Datenquellen","","SysListView321","Select",$listindex) 
15.
Else 
16.
	msgbox(0,"","Eintrag nicht gefunden") 
17.
	BlockInput(0) 
18.
	exit 1 
19.
endif 
20.
ControlClick("ODBC-Datenquellen","","Button3") 
21.
$entrydlgtitle = "Microsoft SQL Server DSN Konfiguration" 
22.
WinWaitActive($entrydlgtitle) 
23.
ControlCLick($entrydlgtitle,"","Button2") 
24.
WinWaitActive($entrydlgtitle,"",3) 
25.
ControlCLick($entrydlgtitle,"","Button2") 
26.
ControlSetText($entrydlgtitle,"","Edit1",$username) 
27.
ControlSetText($entrydlgtitle,"","Edit2",$password) 
28.
;ControlCLick($entrydlgtitle,"","Button4") 
29.
ControlCLick($entrydlgtitle,"","Button6") 
30.
WinWaitActive($entrydlgtitle,"",20) 
31.
ControlCLick($entrydlgtitle,"","Button14") 
32.
WinWaitActive($entrydlgtitle,"",3) 
33.
ControlCLick($entrydlgtitle,"","Button23") 
34.
WinWaitActive("ODBC Microsoft SQL Server Setup","",3) 
35.
ControlCLick("ODBC Microsoft SQL Server Setup","","Button2") 
36.
WinWaitActive("ODBC-Datenquellen","",3) 
37.
ControlClick("ODBC-Datenquellen","","Button5") 
38.
BlockInput(0)
Grüße Uwe
Bitte warten ..
Mitglied: Dani
04.04.2014, aktualisiert um 22:14 Uhr
Guten Abend Uwe,
bei der manuelle Konfiguration legst du den DSN an, gibtst Server, Benutzer und Passwort an - fertig. Dieser gilt bei uns solange, bis jemand an der Konfiguration des DSNs etwas dreht.
Ich bin noch über diesen Beitrag gestoplert. Kann jemand was mit der letzten Antwort anfangen?

Sieht interessant aus... Danke schon mal. Wie zuverlässig war das Skript bei euch?


Grüße,
Dani
Bitte warten ..
Mitglied: colinardo
LÖSUNG 05.04.2014, aktualisiert 12.07.2014
Zitat von Dani:

Guten Abend Uwe,
bei der manuelle Konfiguration legst du den DSN an, gibtst Server, Benutzer und Passwort an - fertig. Dieser gilt bei uns solange,
bis jemand an der Konfiguration des DSNs etwas dreht.
stimmt muss mich da korrigieren, meine Test-VM hatte dann doch schon ne Macke, mal wieder Zeit um zum Snapshot zurückzukehren
Ich bin noch über diesen Beitrag gestoplert.
Kann jemand was mit der letzten Antwort anfangen?
ja, wenn das Programm eine FileDSN nutzen würde könntet ihr das Passwort in diesem *.dsn File hinterlegen:
http://msdn.microsoft.com/en-us/library/ms710900(v=vs.85).aspx
Der Connection-String sähe dann z.B. so aus:
FILEDSN=c:\myDsnFile.dsn;
Sieht interessant aus... Danke schon mal. Wie zuverlässig war das Skript bei euch?
Von 50 Maschinen hat es keine einzige nicht geschluckt ... trotzdem vorher natürlich anpassen(Zeile 6 u. 12) und testen...

Grüße Uwe
Bitte warten ..
Mitglied: Dani
05.04.2014, aktualisiert um 12:10 Uhr
Guten Morgen Uwe,
war gestern wohl zu spät... wir haben es kopiert, angepasst und compiliert. Mehr noch nicht... Ich bin zur Zeit im Ausland, daher gebe ich es nur weiter.
Die Option als File wäre natürlich elegant, denn somit müssten wir die Datei in das Verzeichnis "x" kopieren und fertig. Gebe ich mal weiter...


Grüße,
Dani
Bitte warten ..
Mitglied: Dani
12.07.2014 um 21:54 Uhr
Guten Abend Uwe,
Die Option als File wäre natürlich elegant, denn somit müssten wir die Datei in das Verzeichnis "x" kopieren und fertig. Gebe ich mal weiter...
Nach langem Nerven hat der Hersteller nachgegeben und hat die Option als File implementiert. Macht vieles einfacher...


Gruß,
Dani
Bitte warten ..
Mitglied: colinardo
12.07.2014 um 22:14 Uhr
Zitat von Dani:

Guten Abend Uwe,
> Die Option als File wäre natürlich elegant, denn somit müssten wir die Datei in das Verzeichnis "x"
kopieren und fertig. Gebe ich mal weiter...
Nach langem Nerven hat der Hersteller nachgegeben und hat die Option als File implementiert. Macht vieles einfacher...
dann hat sich das 'Nerven' ja ausgezahlt

Schönen Abend
Grüße Uwe
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
Batch & Shell
Printerport mit Powershell anlegen (12)

Frage von Druide83 zum Thema Batch & Shell ...

Erkennung und -Abwehr
Hackers are holding San Francisco s light-rail system for ransom

Link von Lochkartenstanzer zum Thema Erkennung und -Abwehr ...

Microsoft Office
Registerkarte in Excel automatisch färben (10)

Frage von ralfkausk zum Thema Microsoft Office ...

Windows Server
Jnlp Endungen mit Java automatisch verknüpfen über GPO (10)

Frage von staybb zum Thema Windows Server ...

Heiß diskutierte Inhalte
Router & Routing
gelöst Ipv4 mieten (22)

Frage von homermg zum Thema Router & Routing ...

Windows Server
DHCP Server switchen (20)

Frage von M.Marz zum Thema Windows Server ...

Exchange Server
gelöst Exchange 2010 Berechtigungen wiederherstellen (20)

Frage von semperf1delis zum Thema Exchange Server ...

Hardware
gelöst Negative Erfahrungen LAN-Karten (19)

Frage von MegaGiga zum Thema Hardware ...