Lotus Notes / Domino Sonstiges > Java und .NET mit Notes/Domino

Windows-Authentizierung mit jTDS läuft nur ein Mal

<< < (2/2)

qojote:
Hi,

Frage für was brauchst du denn die DLL ?
Ich mach sowas auch öfter aber gegen eine DB2 bei Ms Sql hab ich keine Ahnung daher die Frage.
Bei einer DB2 gibst du einfach die Anmeldung im Code beim Connect zur Datenbank mit geht das bei MS SQL nicht ?
Eine Möglichkeit wäre auch nocht das du auf dem Server eine ODBC Verbindung zur Datenabkank einzurichtest
und dann über die ODBC JDBC Brigde darauf zugreifts.

Gruß
Qojote

Mark³:
Die dll benötige ich für die Authentizierung (auch Authentifizierung genannt) am SQL-Server. Wenn der SQL-Server im Mixed-Mode läuft kann man sich sowohl über User+Passwort als auch über SSPI anmelden (Integrated Security, also die Anmelderechte des momentan angemeldeten Windows-Users).
Unser SQL-Server läuft aber im Windows-Mode, soll heißen man kann sich nicht über die Kombination User+Passwort anmelden sondern man muss die 'Integrated Security' nehmen. Das ist eigentlich sehr praktisch nur leider scheint die Technik auf dem Java-Sektor dazu nicht ganz ausgereift zu sein wenn nicht einmal Microsoft das fertigbekommt  >:D

Mark³:
übrigens habe ich die ntlmauth.dll nun doch im Prozessexplorer (von Sysinternals) gefunden. Notes startet eine JVM, diese hält dann einen Handle auf die dll und gibt ihn nicht wieder her...

Mark³:
habs nun doch mit OLEDB gemacht, ist langsamer als mit Java, aber für meine Zwecke auch sehr übersichtlich:


--- Code: ---Function getSQL( ) As Boolean
'Liefert True wenn eine Person gefunden wird auf die ein Gerät mit Hostname läuft
'sonst False
On Error Goto ProcessError
Dim RecordSet As Variant
Dim strQry As String
Dim con As Variant
Dim intCount As Integer
Dim lngCount As Long
Dim strTemp As String
Dim arrValues() As String
Dim doc As NotesDocument
Dim strCon As String

Set con=createobject("ADODB.Connection")
strCon = "Provider=SQLOLEDB;" & _
"Data Source=" & DBSERVER & ";" & _
"Initial Catalog=" & DBNAME & ";" & _
"Integrated Security=SSPI"

Call LogEvent(strCon + ": " + QUERY, TYPE_EVENT,Nothing)
con.Open strCon

Set RecordSet = CreateObject("ADODB.Recordset")
RecordSet.Open QUERY,con,2,1
RecordSet.MoveFirst

Do While Not RecordSet.EOF
Set doc = db.CreateDocument
Call doc.AppendItemValue("Form", "SQLImport")
Call doc.AppendItemValue("Table", "PERSON")
Call doc.AppendItemValue("EMPLOYEE_NUMBER", RecordSet.Fields(0).Value)
Call doc.AppendItemValue("FIRST_NAME", RecordSet.Fields(1).Value)
Call doc.AppendItemValue("MIDDLE_NAME", RecordSet.Fields(2).Value)
Call doc.AppendItemValue("LAST_NAME", RecordSet.Fields(3).Value)
Call doc.AppendItemValue("NOTES_MAIL", RecordSet.Fields(4).Value)
Call doc.AppendItemValue("COSTCENTRE", RecordSet.Fields(5).Value)
Call doc.AppendItemValue("CC_NAME", RecordSet.Fields(6).Value)
Call doc.AppendItemValue("LOCATION", RecordSet.Fields(7).Value)
Call doc.AppendItemValue("PHONE", RecordSet.Fields(8).Value)
Call doc.Save(True, False)
RecordSet.MoveNext
Loop

RecordSet.close
con.close

GetSQL = True
Exit Function
ProcessError:
Msgbox LogError()
getSQL = False
Exit Function
End Function

--- Ende Code ---

Navigation

[0] Themen-Index

[*] Vorherige Sete

Zur normalen Ansicht wechseln