POPRAVEK: Prikaže se sporočilo o napaki» nedoločena napaka «, ko s ponudnikom OLE DB za SQL Server spremenite vrstico tabele


Znaki


Ko poskušate spremeniti zapis v tabeli s ponudnikom Microsoft OLE DB za strežnik SQL Server (SQLOLEDB), se prikaže to sporočilo o napaki:
Napaka v času izvajanja»-2147467259 (80004005) «: nedoločena napaka
To sporočilo prejmete, ko so izpolnjeni vsi navedeni pogoji:
  • V tabeli je sprožilec in sprožilec uporablja ukaz za pridobivanje.
  • Računalnik ima nameščen Microsoft Data Access Components (MDAC) 2,8.
  • Ukaz» Prinesi «ne uporabi pogoja v stavku.

Rešitev


To težavo odpravite tako, da pridobite najnovejši servisni paket za Microsoft Windows XP. Če želite več informacij, kliknite to številko članka iz Microsoftove zbirke znanja:
322389 Kako pridobiti najnovejši servisni paket za Windows XP

Stanje


Microsoft je potrdil, da je to težava v Microsoftovih izdelkih, ki so navedeni v razdelku» velja za «.

Navodila za reproduciranje težave

Če želite znova ustvariti težavo, ustvarite sprožilec posodobitve, ki uporablja ukaz» pridobivanje «, in nato ustvarite projekt Microsoft Visual Basic 6,0:
  1. Zaženite analizator poizvedbe SQL in vzpostavite povezavo s primerkom strežnika SQL Server 2000.
  2. V meniju poizvedba kliknite Spremeni zbirko podatkov. Prikaže se pogovorno okno Izbira zbirke podatkov imena strežnika .Opomba ime strežnika je označba mesta za ime primerka strežnika SQL Server 2000, s katerim imate vzpostavljeno povezavo.
  3. V stolpcu ime kliknite gostilnein nato kliknite v redu.
  4. V analizatorju poizvedb SQL zaženite to izjavo Transact-SQL:
    CREATE TRIGGER jobs_Trigger1ON dbo.jobsFOR UPDATE ASBEGINDECLARE    @job_id intDECLARE job_inserted_cursor CURSORLOCALFAST_FORWARDFOR   Select job_id    FROM inserted OPEN job_inserted_cursorFETCH 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_cursorDEALLOCATE job_inserted_cursorEND
  5. Zaženite Microsoft Visual Basic 6,0.
  6. V pogovornem oknu nov projekt kliknite standardna exein nato še Odpri. Privzeto je ustvarjena oblika, ki je imenovana Obrazec1.
  7. V Raziskovalcu z desno tipko miške kliknite obrazec Obrazec1 in nato kliknite Ogled kode.
  8. Prilepite to kodo v okno kode Obrazec1 obrazca:
    Dim cnDim rsPrivate 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 = 2Set rs = CreateObject("ADODB.Recordset")rs.Open "select * from jobs", cn, 1, 3rs.MoveLastrs(1).Value = "Test"rs.UpdateEnd Sub
    Opomba geslo, uporabniško imein vir podatkov sta ogradi za geslo, uporabniško ime in vir podatkov za okolje.
  9. V meniju Zaženi kliknite začetek. Opazili ste sporočilo o napaki, ki je omenjeno v razdelku» Simptomi «.

Reference


Če želite več informacij, kliknite to številko članka iz Microsoftove zbirke znanja:
824684 Opis standardne terminologije, ki se uporablja za opisovanje posodobitev programske opreme za Microsoftovo programsko opremo
Če želite več informacij, obiščite ta spletna mesta na spletnem mestu Microsoft Developer Network (MSDN):