[Ado.net] Datenbankanbindung
Mario Cappello
ado.net@glengamoi.com
Fri, 07 Oct 2005 14:05:30 +0200
Hallo=2C
ich habe ein Problem mit der Datenbankanbindung in Kombination mit =
Webservices.
Wenn ich eine normale Windows-Applikation schreibe und mich per OLEDB =
zu meiner Postgres-DB verbinde läuft alles wunderbar. Sobald ich aber=
=
versuche die gleiche Syntax in einem Webservice zu verwenden kommt =
folgender Fehler:
System.Data.OleDb.OleDbException: No error information available:=
=
E=5FNOINTERFACE(0x80004002).
at System.Data.OleDb.OleDbDataReader.ProcessResults(Int32 hr)
at System.Data.OleDb.OleDbDataReader.NextResult()
at System.Data.OleDb.OleDbCommand.ExecuteReaderInternal
(CommandBehavior behavior=2C String method)
at System.Data.OleDb.OleDbCommand.ExecuteReader(CommandBehavio=
r =
behavior)
at System.Data.OleDb.OleDbCommand.ExecuteReader()
at MariosWebServiceTest.Service1.DatasetDB() in =
c:=5Cinetpub=5Cwwwroot=5CMariosWebServiceTest=5CService1.asmx.vb:=
line 69
Das ist mein Quellcode:
=3CWebMethod()> =5F
Public Function StringDB() As String
=27 Verbindungszeichenfolge zusammensetzen
Dim connStr=2C i As String
connStr = =22Provider=PostgreSQL.1=3BUser =
ID=postgres=3BPassword=xxxx=3BData Source=localhost=3BLocation=DB=
1=3BExtended =
Properties==22
=27 Verbindung zur Datenbank herstellen
Dim conn As New OleDbConnection(connStr)
conn.Open()
=27 SQL-Kommando erstellen und ausführen
Dim sql As String
sql = =22SELECT * FROM test1=22
Dim cmd As New OleDbCommand(sql=2C conn)
Dim myDataReader As OleDbDataReader
myDataReader = cmd.ExecuteReader()
Do While myDataReader.Read()
i += =22 =22 =26 myDataReader.GetString(0)
Loop
myDataReader.Close()
Return i
End Function
Beim Debuggen habe ich festgestellt=2C dass die Exception erst auftritt=2C=
=
wenn der Reader oder auch ein Filler (anderes Beispiel) ausgeführt =
wird.
Brauche Hilfe.
Danke
Gruß maccap