-
API QSYCHGPW in Visual Basic 6
Hallo Zusammen,
ich versuche krampfhaft das API QSYCHGPW in einem VB Programm zum Laufen zu bekommen. Die Verbindung zur AS400 funktioniert, sie wird mit einem User durchgeführt der *SECOFR ist. Es wird kein Fehler ausgegeben, aber das Passwort wird nicht geändert. Vielleicht hat von euch einer eine Idee.
Hier der Code:
Dim cniSeries2 As New ADODB.Connection
Dim cm_QSYS_QSYCHGPW As New ADODB.Command
CnString$ = "Provider=IBMDA400;Data Source=10.1.1.1;User ID=xxxx;Password=xxxxx"
cniSeries2.Open CnString, "", ""
Set cm_QSYS_QSYCHGPW.ActiveConnection = cniSeries2
cm_QSYS_QSYCHGPW.CommandText = "{{CALL /QSYS.LIB/QSYS.LIB/QSYCHGPW.PGM(?,?,?,?)}}"
cm_QSYS_QSYCHGPW.Prepared = True
cm_QSYS_QSYCHGPW.Parameters.Append cm_QSYS_QSYCHGPW.CreateParameter("USERID", adChar, adParamInput, 10)
cm_QSYS_QSYCHGPW.Parameters.Append cm_QSYS_QSYCHGPW.CreateParameter("CURPWD", adChar, adParamInput, 10)
cm_QSYS_QSYCHGPW.Parameters.Append cm_QSYS_QSYCHGPW.CreateParameter("NEWPWD", adChar, adParamInput, 10)
cm_QSYS_QSYCHGPW.Parameters.Append cm_QSYS_QSYCHGPW.CreateParameter("RETURN", adChar, adParamInputOutput, 12)
cm_QSYS_QSYCHGPW.Parameters.Item(0) = Main.TextUser
cm_QSYS_QSYCHGPW.Parameters.Item(1) = Main.TextPassword
cm_QSYS_QSYCHGPW.Parameters.Item(2) = Main.TextNewPassword
On Error Resume Next
cm_QSYS_QSYCHGPW.Execute
-
Der 4. Parameter muss als Struktur übergeben werden. Dabei darf keinerlei Übersetzung stattfinden. Die Struktur (Error-Code-Variable) ist folgendermassen aufgebaut:
1-4 = 4-Byte Binary Länge des gesamten Puffers
5-8 = 4-Byte Binary Länge des verfügbaren Puffers
9-15 = 7-Byte MSGID (CPF-Nachricht)
16 = Reserve
17-n = Daten zur MSGID
Die Daten werden in EBCDIC zurückgegeben.
Um den Parameter korrekt zu übergeben musst du als Parameter-Typ adBinary wählen und die Struktur vorher entsprechend aufbereiten.
Besser für den Aufruf von Programmen (incl. ASCII-EBCDIC-Wandlung) ist das CWBX-OCX mit Struktur-/String-/Long-Konvertern.
Wenn du Fehler ignorieren willst (dann allerdings ohne Kontrolle, ob das Kennwort tatsächlich geändert wurde) muss der 4. Parameter (adBinary) mit String$(8, vbNullChar) übergeben werden.
-
Muss es denn unbedingt der API sein. Es geht doch auch so:
Code:
' Variablen deklarieren
Dim systemNames As New cwbx.systemNames
Dim as400 As New cwbx.AS400System
On Error GoTo failed
' Standardsystem abrufen und zur Initialisierung des Objekts AS400System
' verwenden
as400.Define systemNames.DefaultSystem
' Versuchen, das Kennwort für Benutzer "user" auf dem Standardsystem zu ändern
as400.ChangePassword "user", "oldpw", "newpw"
MsgBox "Kennwort erfolgreich geändert"
Exit Sub
failed:
' Fehlerinformationen anzeigen
MsgBox "Fehlernummer = " & Err.Number & vbCr & _
"Fehlerbeschreibung = " & Err.Description & vbCr & _
"Fehlerquelle = " & Err.Source & vbCr & _
"iSeries Access für Windows-Rückkehrcode = " & as400.Errors.ReturnCode
' Alle zurückgegebenen iSeries Access für Windows-Nachrichten anzeigen
For Each cwbErr In as400.Errors
MsgBox "iSeries Access für Windows-Nachrichtentext: " & vbCr & cwbErr.Text
Next
Das ist ein Beispiel aus den Activex Automatisierungsobjekten.
Bruno
Similar Threads
-
By Der_Unwissende in forum IBM i Hauptforum
Antworten: 3
Letzter Beitrag: 08-09-06, 10:10
-
By lyrics in forum IBM i Hauptforum
Antworten: 4
Letzter Beitrag: 29-08-06, 09:03
-
By schojo in forum NEWSboard Programmierung
Antworten: 11
Letzter Beitrag: 26-04-05, 14:53
-
By HPKahn in forum NEWSboard Programmierung
Antworten: 1
Letzter Beitrag: 01-02-05, 09:23
-
By thoughtless in forum NEWSboard Windows
Antworten: 0
Letzter Beitrag: 10-06-04, 10:23
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- You may not post attachments
- You may not edit your posts
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks