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

Erstellen von ODBC DSN inklusive User und Passwort Angabe

Frage Entwicklung VB for Applications

Mitglied: AndreasHoster

AndreasHoster (Level 3) - Jetzt verbinden

16.07.2007, aktualisiert 23.10.2012, 23832 Aufrufe

Muß eine System DSN mit User / Passwort Angabe erzeugen und es klappt nicht. Ziel Datenbank auf MS SQL Server 2000. Client: Win XP

Es ist soweit, ich muß auch mal ein Frage stellen:

Ich brauche eine ODBC System DSN inklusive Angabe von Username / Passwort. Das Programm welches das benötigt stammt nicht von mir, daher muß User/Passwort angegeben werden.
Manuell über den ODBC Administrator ist es möglich.
Ich habe schon folgendes versucht:

1. Direktes Schreiben der Einträge in die Registry HKLMSoftwareODBCODBC.INI, geht für Trusted_Connection, aber ich kriege damit keine User/Passwörter rein.
Habe auch den Beitrag Datenquelle (ODBC) für SQL-Server per BAtch eintragen http://www.administrator.de/frage/datenquelle-%28odbc%29-f%c3%bcr-sql-s ... gelesen, funktioniert aber nicht (vermutlich mag der SQL 2000 Treiber keine Passwörter in der Registry)

2. Mittels ODBCCONF.EXE
Trusted Connection tut mal wieder:
odbcconf /A {CONFIGSYSDSN "SQL Server" "DSN=TEST|Server=Server1|Database=UserTemp|Description=Test|Trusted_Connection=yes"}
Der Versuch User/Passwort mitzugeben scheitert mit Ungültige SchlüsselwortWerte Paare:
odbcconf /A {CONFIGSYSDSN "SQL Server" "DSN=TEST|Server=Server1|Database=UserTemp|Description=Test|Trusted_Connection=no|UID=Test|pwd=Test"}

3. Über die ODBC API:
01.
      Option Explicit 
02.
 
03.
      'Constant Declaration 
04.
      Private Const ODBC_ADD_DSN = 1        ' Add data source 
05.
      Private Const ODBC_ADD_SYS_DSN = 4    ' Add system data source 
06.
      Private Const ODBC_CONFIG_DSN = 2     ' Configure (edit) data source 
07.
      Private Const ODBC_REMOVE_DSN = 3     ' Remove data source 
08.
      Private Const vbAPINull As Long = 0&  ' NULL Pointer 
09.
 
10.
      'Function Declare 
11.
 
12.
          Private Declare Function SQLConfigDataSource Lib "ODBCCP32.DLL" _ 
13.
          (ByVal hwndParent As Long, ByVal fRequest As Long, _ 
14.
          ByVal lpszDriver As String, ByVal lpszAttributes As String) _ 
15.
          As Long 
16.
Private Sub Command1_Click() 
17.
 
18.
          Dim intRet As Long 
19.
      Dim strDriver As String 
20.
      Dim strAttributes As String 
21.
 
22.
      'Set the driver to SQL Server because it is most common. 
23.
      strDriver = "SQL Server" 
24.
      'Set the attributes delimited by null. 
25.
      'See driver documentation for a complete 
26.
      'list of supported attributes. 
27.
      strAttributes = "SERVER=Server1" & Chr$(0) 
28.
      strAttributes = strAttributes & "DESCRIPTION=TEST Datenbank" & Chr$(0) 
29.
      strAttributes = strAttributes & "DSN=TestDB" & Chr$(0) 
30.
      strAttributes = strAttributes & "DATABASE=UserTemp" & Chr$(0) 
31.
      strAttributes = strAttributes & "Trusted_Connection=no" & Chr$(0) 
32.
      strAttributes = strAttributes & "UID=Test" & Chr$(0) 
33.
      strAttributes = strAttributes & "PWD=Test" & Chr$(0) 
34.
      'To show dialog, use Form1.Hwnd instead of vbAPINull. 
35.
      intRet = SQLConfigDataSource(vbAPINull, ODBC_ADD_SYS_DSN, _ 
36.
      strDriver, strAttributes) 
37.
      If intRet Then 
38.
          MsgBox "DSN Created" 
39.
      Else 
40.
          MsgBox "Create Failed" 
41.
      End If 
42.
 
43.
End Sub
Trusted_Connection tut auch hier, aber User/Passwort mal wieder nicht.
Ich habe auch schon statt UID/PWD (obwohl die stimmen müssten, beim Connection String bei einer DSN losen Verbindung heißt es so), Login, UserID, User, Password etc. in allen möglichen Kombinationen verwenden, es ändert nichts.

Prinzipiell muß es aber über die API doch gehen, schließlich nimmt der ODBC Admin doch auch die API, oder nicht?

Alternativ, wenn mir jemand sagt, wie ich bei einer Trusted Connection es hinbekomme, daß für den SQL Server es so aussieht als ob der Zugriff von User Test kommt würde das auch helfen.
Einfach einen neuen DB Benutzer hinzufügen mit DB Namen Test geht aber nicht, weil es gibt ja schon einen User Test. Und den vorhandenen kann ich nicht löschen, weil er Besitzer von zig Tabellen etc. ist.

Gruß,
Andreas

Nachtrag: Ich habe es auf gelöst gesetzt, nicht weil ich es hinbekommen hätte, aber weil ich die Software soweit bekommen habe, selber User und Passwort mitzugeben.
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(1)

Tipp von agowa338 zum Thema Windows 10 ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
gelöst Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (28)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

Outlook & Mail
Outlook 2010 findet ost datei nicht (18)

Frage von Floh21 zum Thema Outlook & Mail ...

Windows Server
Server 2008R2 startet nicht mehr (Bad Patch 0xa) (18)

Frage von Haures zum Thema Windows Server ...