Hallo Leute
In dem Beitrag "Zugriff auf Paradox-DB" beschrieb Andreas Kosch wie man mit .NET auf Paradox-Datenbanken zugreift.
Ich habe das ganze in einen Web-Service eingebaut. Rufe ich diese Funktion auf, kommt folgender Fehler:
Eine nicht behandelte Ausnahme des Typs 'System.Web.Services.Protocols.SoapException' ist in system.web.services.dll aufgetreten.
Zusätzliche Informationen: System.Web.Services.Protocols.SoapException: Der Server konnte die Anforderung nicht verarbeiten. ---> System.Data.OleDb.OleDbException: Unerwarteter Fehler vom externen Datenbanktreiber (11265).
at System.Data.OleDb.OleDbCommand.ExecuteCommandTextE rrorHandling(Int32 hr)
at System.Data.OleDb.OleDbCommand.ExecuteCommandTextF orSingleResult(tagDBPARAMS dbParams, Object& executeResult)
at System.Data.OleDb.OleDbCommand.ExecuteCommandText( Object& executeResult)
at System.Data.OleDb.OleDbCommand.ExecuteCommand(Comm andBehavior behavior, Object& executeResult)
at System.Data.OleDb.OleDbCommand.ExecuteReaderIntern al(CommandBehavior behavior, String method)
at System.Data.OleDb.OleDbCommand.ExecuteReader(Comma ndBehavior behavior)
at System.Data.OleDb.OleDbCommand.System.Data.IDbComm and.ExecuteReader(CommandBehavior behavior)
at System.Data.Common.DbDataAdapter.FillFromCommand(O bject data, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
at System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
at System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, String srcTable)
at WebService1.db_connection.GetUser() in c:\inetpub\wwwroot\webservice1\db_connection.asmx. cs:line 71
--- Ende der internen Ausnahmestapelüberwachung ---
Kopiere ich den Code der Funktion in eine Funktion einer normalen Windows Anwendung geht das ohne Probleme.
Der Code sieht so aus:
String constr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\Daten\\ACS\\Dat001;Extended Properties=Paradox 5.x;";
OleDbConnection conn = new OleDbConnection(constr);
DataSet ds = new DataSet();
String selstr = "Select * from Config";
OleDbDataAdapter da = new OleDbDataAdapter(selstr,conn);
conn.Open();
da.Fill(ds,"Config");
conn.Close();
Ich habe das ganze auch schon über ODBC versucht, dass ging aber auch nicht. Da kam beim Öffnen die Meldung, dass die
DataSource nicht angegeben sei. Kopiere ich das ganze in eine normale Windows Anwendung geht es ???
Hab ich hier irgend etwas übersehen oder ist das noch eine Problem mit Zugriffsrechten ???
Hat jemand eine Idee?
cu Enrico
In dem Beitrag "Zugriff auf Paradox-DB" beschrieb Andreas Kosch wie man mit .NET auf Paradox-Datenbanken zugreift.
Ich habe das ganze in einen Web-Service eingebaut. Rufe ich diese Funktion auf, kommt folgender Fehler:
Eine nicht behandelte Ausnahme des Typs 'System.Web.Services.Protocols.SoapException' ist in system.web.services.dll aufgetreten.
Zusätzliche Informationen: System.Web.Services.Protocols.SoapException: Der Server konnte die Anforderung nicht verarbeiten. ---> System.Data.OleDb.OleDbException: Unerwarteter Fehler vom externen Datenbanktreiber (11265).
at System.Data.OleDb.OleDbCommand.ExecuteCommandTextE rrorHandling(Int32 hr)
at System.Data.OleDb.OleDbCommand.ExecuteCommandTextF orSingleResult(tagDBPARAMS dbParams, Object& executeResult)
at System.Data.OleDb.OleDbCommand.ExecuteCommandText( Object& executeResult)
at System.Data.OleDb.OleDbCommand.ExecuteCommand(Comm andBehavior behavior, Object& executeResult)
at System.Data.OleDb.OleDbCommand.ExecuteReaderIntern al(CommandBehavior behavior, String method)
at System.Data.OleDb.OleDbCommand.ExecuteReader(Comma ndBehavior behavior)
at System.Data.OleDb.OleDbCommand.System.Data.IDbComm and.ExecuteReader(CommandBehavior behavior)
at System.Data.Common.DbDataAdapter.FillFromCommand(O bject data, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
at System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
at System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, String srcTable)
at WebService1.db_connection.GetUser() in c:\inetpub\wwwroot\webservice1\db_connection.asmx. cs:line 71
--- Ende der internen Ausnahmestapelüberwachung ---
Kopiere ich den Code der Funktion in eine Funktion einer normalen Windows Anwendung geht das ohne Probleme.
Der Code sieht so aus:
String constr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\Daten\\ACS\\Dat001;Extended Properties=Paradox 5.x;";
OleDbConnection conn = new OleDbConnection(constr);
DataSet ds = new DataSet();
String selstr = "Select * from Config";
OleDbDataAdapter da = new OleDbDataAdapter(selstr,conn);
conn.Open();
da.Fill(ds,"Config");
conn.Close();
Ich habe das ganze auch schon über ODBC versucht, dass ging aber auch nicht. Da kam beim Öffnen die Meldung, dass die
DataSource nicht angegeben sei. Kopiere ich das ganze in eine normale Windows Anwendung geht es ???
Hab ich hier irgend etwas übersehen oder ist das noch eine Problem mit Zugriffsrechten ???
Hat jemand eine Idee?
cu Enrico
Comment