Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
SQL Server 2000/2005/2008, Express, Access, MySQL, Oracle
Erore SQLServer2005
mercoledì 26 marzo 2008 - 16.29
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
elsinore
Profilo
| Junior Member
191
messaggi | Data Invio:
mer 26 mar 2008 - 16:29
Ciao a tutti,
io ho un applicazione che fa delle query su un DB SQL2005..... da alcune postazioni non capisco perchè mi genere questo errore..
"the commit transaction request has no corresponding begin transaction"
siccome il codice che esegue è lo stesso.....e da altre postazioni funziona correttamente, da cosa può dipendere questo errore??
grazie!
lbenaglia
Profilo
| Guru
5.625
messaggi | Data Invio:
mer 26 mar 2008 - 16:31
>io ho un applicazione che fa delle query su un DB SQL2005.....
>da alcune postazioni non capisco perchè mi genere questo errore..
>
>"the commit transaction request has no corresponding begin transaction"
Perché da qualche parte esegui una COMMIT TRAN senza la corrispondente BEGIN TRAN
>siccome il codice che esegue è lo stesso.....e da altre postazioni
>funziona correttamente, da cosa può dipendere questo errore??
Da quello che ho riportato sopra.
>grazie!
Prego.
Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org
elsinore
Profilo
| Junior Member
191
messaggi | Data Invio:
mer 26 mar 2008 - 16:33
ma in soldoni cosa vuol dire?
nel codice eseguo delle insert.......ma è sempre lo stesso il codice....
lbenaglia
Profilo
| Guru
5.625
messaggi | Data Invio:
mer 26 mar 2008 - 16:34
>ma in soldoni cosa vuol dire?
>
>nel codice eseguo delle insert.......ma è sempre lo stesso il
>codice....
Eh, posta il codice che lo analiziamo...
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org
elsinore
Profilo
| Junior Member
191
messaggi | Data Invio:
mer 26 mar 2008 - 16:45
per esempio una query è questa....
'INSERT INTO COST_VALIDITY (ID_OBJ,ID_DB_OBJ_TYPE,BEGIN_DATE,END_DATE,COST,COST_TYPE,DESCRIPTION) VALUES ('{66928DFC-8A47-4E6D-8769-F443731D515E}','3','03/27/2008 00:00:00','12/12/9999 23:59:59','33','0','')'
lbenaglia
Profilo
| Guru
5.625
messaggi | Data Invio:
mer 26 mar 2008 - 16:56
>per esempio una query è questa....
>
>'INSERT INTO COST_VALIDITY (ID_OBJ,ID_DB_OBJ_TYPE,BEGIN_DATE,END_DATE,COST,COST_TYPE,DESCRIPTION)
>VALUES ('{66928DFC-8A47-4E6D-8769-F443731D515E}','3','03/27/2008
>00:00:00','12/12/9999 23:59:59','33','0','')'
Questa query NON può procurare l'errore che segnali dato che esegue una transazione implicita.
Occhio al formato delle date. Per evitare problemi di interpretazione utilizza il formato ANSI SQL 'YYYYMMDD hh:mm:ss'.
Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org
elsinore
Profilo
| Junior Member
191
messaggi | Data Invio:
mer 26 mar 2008 - 17:04
605_sql.zip
...ok ho sbagliato la pagina in cui guardare....sorry!
l'errore slata fuori quando eseguo un'altra pagina....
ma nella pagina cosa devo cercare di preciso? mi sembra di vedere solo select o insert o update diciamo "normali"...
ti allego tutto il codice in un txt...
nel txt richiamo questo codice in altre classi.....e penso che qui esegua le transizioni sql
{**
Commits the current transaction.
}
procedure TZConnection.StartTransaction;
begin
if not FAutoCommit and (FExplicitTransactionCounter = 0) then
DatabaseError('Invalid operation in non AutoCommit mode.');
if FExplicitTransactionCounter = 0 then
AutoCommit := False;
Inc(FExplicitTransactionCounter);
end;
{**
Commits the current transaction.
}
procedure TZConnection.Commit;
var
ExplicitTran: Boolean;
begin
if FConnection = nil then
DatabaseError('Connection is not open yet.');
if FAutoCommit then
DatabaseError('Invalid operation in AutoCommit mode.');
ExplicitTran := FExplicitTransactionCounter > 0;
if FExplicitTransactionCounter < 2 then//when 0 then AutoCommit was turned off, when 1 StartTransaction was used
begin
ShowSqlHourGlass;
try
try
FConnection.Commit;
finally
FExplicitTransactionCounter := 0;
if ExplicitTran then
AutoCommit := True;
end;
finally
HideSqlHourGlass;
end;
DoCommit;
end
else
Dec(FExplicitTransactionCounter);
end;
però come ti dicevo questo codice viene eseguito sempre....non capisco perchè cone le stesse query (da pc diversi) mi faccia apparire quell'errore....
lbenaglia
Profilo
| Guru
5.625
messaggi | Data Invio:
mer 26 mar 2008 - 17:22
>ma nella pagina cosa devo cercare di preciso? mi sembra di vedere
>solo select o insert o update diciamo "normali"...
>
>ti allego tutto il codice in un txt...
Mi viene il mal di mare a leggere quel codice
Cattura col Profiler la sessione che ottieni eseguendo la pagina, salva il file di trace ed allegalo alla tua risposta.
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org
elsinore
Profilo
| Junior Member
191
messaggi | Data Invio:
mer 26 mar 2008 - 17:29
"Cattura col Profiler la sessione che ottieni eseguendo la pagina, salva il file di trace ed allegalo alla tua risposta."
non mi uccidere...ma......come si fa?
lbenaglia
Profilo
| Guru
5.625
messaggi | Data Invio:
mer 26 mar 2008 - 17:34
>non mi uccidere...ma......come si fa?
"Using SQL Server Profiler"
http://msdn2.microsoft.com/en-us/library/ms187929.aspx
Buona lettura
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org
elsinore
Profilo
| Junior Member
191
messaggi | Data Invio:
mer 26 mar 2008 - 17:38
....il problema è che l'errore avviene su un server dal quale accedo via Citrix....quindi io direttamente non ho accesso al DB server....cmq farò fare il check che mi dici a chi di dovere!
Hai visto sopra che ho postato il codice del commit e del trans?
li ci vedi errori?
lbenaglia
Profilo
| Guru
5.625
messaggi | Data Invio:
mer 26 mar 2008 - 17:56
>Hai visto sopra che ho postato il codice del commit e del trans?
Solo ora dato che prima non c'era
>li ci vedi errori?
Non conosco quel linguaggio e sinceramente non ho il tempo di studiarlo.
Sicuramente l'errore è dovuto al fatto che la riga FConnection.Commit viene chiamata anche quando non dovrebbe.
Ora tocca a te scovare il bug...
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org
elsinore
Profilo
| Junior Member
191
messaggi | Data Invio:
mer 26 mar 2008 - 17:58
ok...cmq domani mi studio/guardo il trace...... grazie!
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !