Autor Beitrag
bbfan
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 164



BeitragVerfasst: Do 07.12.06 12:50 
Hallo!

Ich habe eine Software, die über ADO auf eine Access Datenbank zugreifft.

Bei allen meinen Test PCs klappt es super und auch bis jetzt bei ALLEN Kunden.
Allerdings meldet sich jetzt genau 1 Kunde mit folgender Fehlermeldung :

Der Vorgang ist für ein geschlossenes Objekt nicht zugelassen.

Ich kann diese einfach nicht reproduzieren, geschweige denn verstehen.

Laut google sollte folgenden Befehl ausführen oder aktivieren: "SET NOCOUNT ON"

Das verstehe ich nun aber erst recht nicht.
Wer kann helfen?

Ich vermute, es liegt an dieser function, die aber bei allen Kunden läuft... (einwenig gekürzt)

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
procedure massUpdate(ado:TADOconnection; prog: TPGBar; sqls: TStringlist);
var
 k, zahl: longint;
 sql, f: string;
 ado_c : TADOCommand;
begin
ado_c := TADOCommand.Create(nil);
ado_c.Connection:=ado;
ado.BeginTrans;
Try
 for zahl := 0 to sqls.count - 1 do
 begin
   if sqls[zahl]<>'' then
   begin
    sql := sqls[zahl];
      ado_c.CommandText:=sql;
      try ado_c.Execute(); except showmessage(sql);end;
   end;
  if k = 100 then  begin  k := 0;  application.ProcessMessages;  if prog<>NIL then prog.Position := zahl; end;
 end;
finally
 ado.CommitTrans;
 ado_c.Free;
End;
end;


Viele Grüße!
NTM
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 120

Win XP
2005 Prof
BeitragVerfasst: Do 07.12.06 16:32 
Das klickt fast als ob er die Verbindung zur Datenbank verliert.
Frag doch am besten deine Kunden wie der Fehler aufgetretten ist (was er gemacht hat) damit du denn Fehler nachvollziehen kannst.
bbfan Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 164



BeitragVerfasst: Do 07.12.06 16:48 
es nur 2 simple SQLs ausgeführt.

1. DELETE FROM..
2. INSERT INTO...


Das wars und schon bekommt er die Fehlermeldung. Die 2 Befehle werden über die oben gepostete Funktion durchgeführt.

Er arbeitet mit WinXP PRO uund hat Office 2000 drauf.

Ich habe ihm jetzt erstmal den Download Link von der neusten MDAC Schnittstelle geschickt.
Vielleicht sollte man auch die JET4 erneuern...
NTM
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 120

Win XP
2005 Prof
BeitragVerfasst: Do 07.12.06 17:16 
Sind die Tabellen evtl. miteinander Verknüpft?.
bbfan Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 164



BeitragVerfasst: Do 07.12.06 17:58 
die 2 Befehle beziehen sich auf ein und die selbe Tabelle...
Es liegt keine Verknüfung vor.