Simptomi
Kada pokušate da izmenite zapis u tabeli koristeći Microsoft OLE DB dobavljač za SQL Server (SQLOLEDB), dobijate sledeću poruku o grešci:
Napomena
Greška tokom izvršavanja'-2147467259 (80004005)':
Nenavedena greška
Dobićete ovu poruku kada su ispunjeni svi sledeći uslovi:
Tabela sadrži okidač, a okidač koristi komandu FETCH.
Računar ima instaliran Microsoft Data Access Components (MDAC) 2.8.
Komanda FETCH ne koristi opcionalnu odredbu INTO.
Rešenje
Da biste rešili ovaj problem, nabavite najnoviji servisni paket za Microsoft Windows XP. Kliknite na sledeći broj članka da biste videli članak u Microsoft bazi znanja da biste videli dodatne informacije:
322389 Nabavljanje najnovijeg servisnog paketa za Windows XP
Status
Microsoft je potvrdio da je ovo problem u Microsoft proizvodima koji su navedeni u odeljku „Odnosi se na“.
Koraci za reprodukovanje problema
Da biste reprodukovali problem, kreirajte okidač ažuriranja koji koristi komandu FETCH, a zatim kreirajte Microsoft Visual Basic 6.0 projekat:
Pokrenite SQL Query Analyzer, a zatim se povežite sa instancom sistema SQL Server 2000.
On the Query menu, click Change Database. Pojavljuje se dijalog " Izbor baze podataka imena servera ".
Napomena: Ime servera je čuvar mesta za ime instance sistema SQL Server 2000 sa kojom ste povezani.
U koloni " Ime " izaberite stavku "kafane", a zatim kliknite na dugme "U redu".
U SQL analizatoru upita pokrenite sledeći Transact-SQL izraz:
CREATE TRIGGER jobs_Trigger1 ON dbo.jobs FOR UPDATE AS BEGIN DECLARE @job_id int DECLARE job_inserted_cursor CURSOR LOCAL FAST_FORWARD FOR Select job_id FROM inserted OPEN job_inserted_cursor FETCH NEXT FROM job_inserted_cursor /* The error occurs. */ /* FETCH NEXT FROM job_inserted_cursor INTO @job_id The error does not occur. */ CLOSE job_inserted_cursor DEALLOCATE job_inserted_cursor ENDPokrenite Microsoft Visual Basic 6.0.
U dijalogu " Novi projekat " izaberite stavku "Standardni EXE", a zatim kliknite na dugme "Otvori". Podrazumevano se pravi obrazac pod imenom "Obrazac1".
U istraživaču programa Project kliknite desnim tasterom miša na obrazac "Obrazac1 ", a zatim izaberite stavku "Prikaži kôd".
Nalepite sledeći kôd u prozor sa kodom obrasca "Obrazac1":
Dim cn Dim rs Private Sub Form_Load() Set cn = CreateObject("ADODB.Connection") cn.Open "Provider=SQLOLEDB;Pwd=<password>;UID=<user name>;Initial Catalog=pubs;Data Source=<data source>" cn.CursorLocation = 2 Set rs = CreateObject("ADODB.Recordset") rs.Open "select * from jobs", cn, 1, 3 rs.MoveLast rs(1).Value = "Test" rs.Update End SubNapomena, lozinka, korisničko ime i izvor podataka su čuvari mesta za lozinku, korisničko ime i izvor podataka za okruženje.
U meniju "Pokreni " kliknite na dugme "Start". Primetili ste poruku o grešci koja se pominje u odeljku "Simptomi".
Reference
Kliknite na sledeći broj članka da biste videli članak u Microsoft bazi znanja da biste videli dodatne informacije:
824684 Opis standardne terminologije koja se koristi za opisivanje Microsoft softverskih ispravki
Za više informacija posetite sledeće Microsoft Developer Network (MSDN) veb lokacije:
Instaliranje OLE DB dobavljača za SQL Server
https://msdn2.microsoft.com/library/aa198252(sql.80).aspx
Pokretači
https://msdn2.microsoft.com/library/aa213995(sql.80).aspx
Transact-SQL kursori
https://msdn2.microsoft.com/library/aa172595(sql.80).aspx