[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