Hab nun mangels anderer Ideen mit der CLR-SP angefangen, nun will aber die OleDB-Connection nicht mehr mitspielen
.
Delphi-Quellcode:
class method Customers.usp_Foo: Int32;
begin
using
var connection1: OleDbConnection := new OleDbConnection('
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Ablage\DATEN;Extended Properties=Paradox 5.x;')
do begin
var command1: OleDbCommand := new OleDbCommand('
SELECT KUN_NUMMER FROM KUNDE.DB', connection1);
connection1.Open;
begin
result := command1.ExecuteScalar
as Int32;
exit
end
end
end;
Zitat:
.NET Framework-Fehler beim Ausführen der benutzerdefinierten Routine oder des benutzerdefinierten Aggregats 'usp_RefreshCustomers':
System.Data.OleDb.OleDbException: Die externe Tabelle hat nicht das erwartete Format.
System.Data.OleDb.OleDbException:
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.ExecuteScalar()
at StoredProcedures.Customers.usp_RefreshCustomers()
.
Im Client funktioniert dieselbe Methode - natürlich - tadellos.
Wird wohl irgendwie an dem besonderen
SQL-Server-Kontext liegen, aber mehr fällt mir dazu wirklich nicht ein :/ .