Das Notes Forum

Domino 9 und frühere Versionen => ND8: Entwicklung => Thema gestartet von: Jenson am 30.01.09 - 09:41:25

Titel: ODBCQuery.execute lässt Client abstürzen
Beitrag von: Jenson am 30.01.09 - 09:41:25
Hallo zusammen,

ich habe hier eine MS SQL Server 2005 Express Datenbank auf einem Testrechner mit Windows Vista 32 Bit Business.

Auf dem gleichen Rechner wurde eine ODBC Verbindung (System DSN) auf diese Datenbank eingerichtet. ( Server -> Datenbank "IDCard" ). Die Authentifizierung steht auf Windows NT Anmeldekonto.

Nun habe ich mir aus der Designer 8 Hilfe ein Bespiel kopiert und in das Click-Event einer Schaltfläche in einer Maske platziert.

Wenn ich das unten aufgeführte Beispiel ausführe, dann klappt alles bis hin zur Abfrage

Code
If result.IsResultSetAvailable Then

Dann stürzt der Lotus Notes Client böse ab ( Fenster, Hinweis auf Sammlung von Informationen für den Support ). Der Client ist ein 8.0.2 Standard Client.
Das interessante ist, das ich jedoch die vorhandenen Tabellen z.B. aus der Datenbank auslesen kann.

Die Datenbanktabelle im MS SQL Server ist dabei nicht wirklich komplex ( 4 Spalten, alle Text, nur 2 Datenbankeinträge vorhanden )

Kann mir jemand einen Schubs in die richtige Richtung geben woran das liegen könnte, bzw. kann das jemand bestätigen ?

Code
Sub Click(Source As Button)
	Dim con As New ODBCConnection
	Dim qry As New ODBCQuery
	Dim result As New ODBCResultSet
	Dim firstName As String
	Dim lastName As String
	Dim msg As String
	Dim ConnResult As Boolean
	
	On Error Goto errorHandler
	
	Set qry.Connection = con
	Set result.Query = qry
	con.ConnectTo("IDCard")
	qry.SQL = "SELECT * FROM StaffInfo"
	result.Execute
	msg = "Student names:" & Chr(10)
	If result.IsResultSetAvailable Then
		Do
			result.NextRow
			firstName = result.GetValue("FirstName", _
			firstName)
			lastName = result.GetValue("LastName", _
			lastName)
			msg = msg & Chr(10) & firstName & " " & _
			lastName
		Loop Until result.IsEndOfData
		Messagebox msg,, "Student Names"
		result.Close(DB_CLOSE)
	Else
		Messagebox "Cannot get result set for STUDENTS"
		Exit Sub
	End If
	con.Disconnect
	Exit Sub
	
errorHandler:
	Messagebox con.GetExtendedErrorMessage,, _
	con.GetErrorMessage
	con.Disconnect
	Exit Sub
	
End Sub
Titel: Re: ODBCQuery.execute lässt Client abstürzen
Beitrag von: Thomas Schulte am 30.01.09 - 10:42:28
Kannst du das ganze einmal mit der JDBC Variante versuchen. ODBC hat den Ruf nicht mit allen Datenbank in allen Version wirklich zu "Können".
Titel: Re: ODBCQuery.execute lässt Client abstürzen
Beitrag von: Jenson am 30.01.09 - 10:47:05
Oh oh ... da müsste ich mal in den "Dachboden" und meine verstaubten Java Kenntnisse wieder heraus holen :-)

Einen Versuch ists sicher wert. Melde mich gleich mit dem Ergebnis . . .
Titel: Re: ODBCQuery.execute lässt Client abstürzen
Beitrag von: Jenson am 30.01.09 - 12:21:10
Ich finde grade keinen Einstieg . . . In der Designer-Hilfe finde ich keine Infos ausser das Domino JDBC unterstütze . . . Hat jemand einen Beispiel-Schnipsel oder einen Link für mich ?

Danke im Vorraus


Jenson

Titel: Re: ODBCQuery.execute lässt Client abstürzen
Beitrag von: Ralf_M_Petter am 02.02.09 - 09:00:13
Sinnvoller wäre wohl mal, wenn du in das NSD reinschaust, warum Notes crashed. Dann kann man sicher leichter überlegen was man machen soll.

Grüße

Ralf
Titel: Re: ODBCQuery.execute lässt Client abstürzen
Beitrag von: Jenson am 02.02.09 - 09:19:13
Ich bin schon einen Schritt weiter.

Ich kann momentan Daten in die SQL Datenbank schreiben, auch mit angenhemer Geschwindigkeit. Allerdings habe ich eben gesehen, das ich nun auch noch Binäre Daten übertragen muss.

Kann ich über eine ODBC Connection aus LS heraus auch Bilddaten ( Attachments ) in ein Blob-Feld der SQL Datenbank übertragen ?

Ob das mit dem Lesen noch zum Absturz führt probiere ich gleich nochmal aus und schau dann in das NSD Log.


Grüsse

Jenson
Titel: Re: ODBCQuery.execute lässt Client abstürzen
Beitrag von: Jenson am 03.02.09 - 17:57:52
So . . . also das mit dem Auslesen bekomme ich nun auch hin. Woran es genau lag ? Keine Ahnung. Ich habe die ODBC-Definition neu erstellt und nun funktioniert das auch.

Zu JDBC habe ich nichts finden können, was mir den Einstieg erleichtert. Hat da jemand vielleicht einen Tip ?

Jenson
Titel: Re: ODBCQuery.execute lässt Client abstürzen
Beitrag von: koehlerbv am 03.02.09 - 20:29:57
Kann ich über eine ODBC Connection aus LS heraus auch Bilddaten ( Attachments ) in ein Blob-Feld der SQL Datenbank übertragen ?

Ja, sicher. Aber wenn Du diese Frage versteckt in einem Thread zu einem ganz anderen Problem versteckst, dann kann dies ganz leicht untergehen.

Da Du das seit heute bereits im DominoForum diskutierst, sparen wir uns erstmal weitere Antworten hierzu. Kommst Du nicht weiter, bitte einen neuen Thread aufmachen (oder dieser hier ist schneller geschlossen als Du schauen kannst).

Bernhard
Titel: Re: ODBCQuery.execute lässt Client abstürzen
Beitrag von: Jenson am 03.02.09 - 23:35:42
Ich wollte nur nicht wegen meinem Thema "n" Threads aufmachen...

Also grundsätzlich soll es funktionieren? Ich kann mir grade nur nicht vorstellen, wie ich ein lokal abgehängtes File in einem ODBCQuery.SQL einhängen soll.
Wenn das wirklich geht, dann hätte ich hier eine komplette Lösung für das Thema.

Grüsse aus Franken,

Jenson
Titel: Re: ODBCQuery.execute lässt Client abstürzen
Beitrag von: koehlerbv am 04.02.09 - 00:19:36
Ich wollte nur nicht wegen meinem Thema "n" Threads aufmachen...

Du hattest zwei Themen. Und dann zerfranst ein Thread oder man übersieht Problem Nummer 2 oder ... Mach einen neuen auf - glaube mir, das ist lohnender.

Bernhard