Domino 9 und frühere Versionen > ND6: Entwicklung
Schreiben in eine SQL Table
RonMat:
Hallo Gemeinde,
ich habe nachfolgenden Script geschrieben, dieser funtioniert auch- mit einer Ausnahme. Es wird in der Table das"Mailsentflag" nicht geschrieben. Kann mir an dieser Stelle Jemand weiterhelfen.
Im Notesscripting habe ich doch lediglich den updateRow - oder???
Dim session As New NotesSession
Dim db As NotesDatabase
Dim docmail, Profile As NotesDocument
Set Profile=session.CurrentDatabase.GetProfileDocument("EDI_Profile")
ODBC_Name=profile.GetItemValue("ODBC_Con_Name")
ODBC_Admin=profile.GetItemValue("ODBC_Admin")
ODBC_PW=profile.GetItemValue("PW_ODBC")
Superuser=profile.GetItemValue("Superuser")
Set db = session.CurrentDatabase
Dim con As New ODBCConnection
Dim qry As New ODBCQuery
Dim result As New ODBCResultSet
Dim textmail As String
Set qry.Connection = con
Set result.Query = qry
'
If con.ConnectTo(ODBC_Name(0), ODBC_Admin(0),ODBC_PW(0)) Then
qry.SQL = "SELECT MailText FROM EDISendMail where MailSent is NULL"
result.Execute
If result.IsResultSetAvailable Then
Do
result.NextRow
textmail= result.GetValue("MailText")
Call result.SetValue("MailSentFlag)", "Yes")
result.UpdateRow
msg = msg & Chr(10) & Textmail
Loop Until result.IsEndOfData
result.Close(DB_CLOSE)
Else
Exit Sub
End If
con.Disconnect
End If
'Mailversand
Set docmail = db.CreateDocument
Set docmail = New NotesDocument( db )
docmail.Form="Memo"
Call docmail.ReplaceItemValue( "SendTo", Superuser(0))
Call docmail.ReplaceItemValue("Subject","EDI Report " & Today)
Call docmail.ReplaceItemValue("Body",msg)
Call docmail.ReplaceItemValue("ReportDate",Now)
'Call docmail.Save(True,True)
Call docmail.Send( False )
Wirsing:
Hmmm, ist die Klammer im Feldnamen von MailSentFlag beabsichtigt???
RonMat:
Nein, ist aus Versehen hineingerutscht. Habe sie im Script beseitigt und der Satz wird nach wie vor nicht upgedated. Aus MS Access kann ich die Felder bearbeiten und auch neue Werte eingeben. Also stimmen die Lese/Schreibrechte auch.
Ich verstehe es im Augenblick auch nicht, habe zwar mit ODBC nicht so viele Erfahrungen aber insgesamt sieht es von meiner Seite sauber aus. Danke für die Info
Wirsing:
Versuch mal diesen SELECT:
SELECT MailText,MailSentFlag FROM EDISendMail where MailSentFlag is NULL
Ich denke, dass das Feld, welches Du ändern möchtest auch in der Abfrage sein muss.
RonMat:
Hallo Wirsing, habe es probiert. Leider keinen Erfolg, ....es schreibt nicht. Vielleicht liegt es an den ODBC Treiber - obwohl ich die neuesten verwende. Ich suche weiter.....
Vielen Dank für Deine Ansätze
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln