Prijavite se pomoću Microsoft naloga
Prijavite se ili kreirajte nalog.
Zdravo,
Izaberite drugi nalog.
Imate više naloga
Odaberite nalog pomoću kojeg želite da se prijavite.

Pitanje:
Imam Access DB i SQL koja skladišti informacije. Ispod funkcija povezanog servera u sistemu SQL 7.0 dozvolio sam da SQL Access DB vidi kao još SQL bazu podataka. Naveo sam i uskladištenu proceduru koja kopira zapise iz Access DB-a u SQL tabelu. Pokrećući iz ISQL/Query Analyzer, uskladištena procedura se pokreće i ispravno funkcioniše. Pozivanje uskladištene procedure iz funkcije Dexterity daje sledeću poruku o grešci od sistema SQL Server: Heterogeni upiti zahtevaju ANSI_NULLS i ANSI_WARNINGS opcije
povezivanja. Ovim se osigurava dosledna semantika upita. Omogućite ove opcije, a zatim ponovo koristite upit. Mogu li čak i da pokrenem ovu uskladištenu proceduru iz raznolikosti?


Odgovor:
Da, ali moramo neznatno da izmenimo uskladištenu proceduru. Razlog za neuspešno funkcionisanje je to što te opcije moraju da se isključe da bi se te opcije pravilno čitale SQL tako da procedure uskladištene u razmetljivosti te komande moraju da se isključe da bi one funkcionisale pre nego što se uskladišti procedura. Korisnik mora da se uverite da se podaci koji krše ova pravila ne uvode u SQL tabelu. U uzorku ispod, polje table_access je access tabela. Tabela table_test je SQL tabela.

          
if exists (select * from sysobjects where id =

object_id('dbo.access_update') and sysstat & 0xf = 4)

drop procedure dbo.access_update

GO


create procedure dbo.access_update @O_SQL_Error_State int = NULL output


as


INSERT INTO access_table ( DOCNUMBR, DOCAMNT )

SELECT access_test.DOCNUMBR, access_test.DOCAMNT

FROM access_test


GO



Možemo da izmenimo uskladištenu proceduru da bismo postavili upozorenja na ovaj način:

          
if exists (select * from sysobjects where id =

object_id('dbo.access_update') and sysstat & 0xf = 4)

drop procedure dbo.access_update

GO


create procedure dbo.access_update @O_SQL_Error_State int = NULL output


as


set ANSI_NULLS ON

SET ANSI_WARNINGS ON


exec access_table2 ( DOCNUMBR, DOCAMNT )


GO



U ovom slučaju, uskladištena procedura nasleđuje atribute onoga što je naziva. U ovoj situaciji, deteritet poziva theaccess_tableprocedure koji uključuje ANSI_NULLS & ANSI_WARNINGS a zatim poziva realnu uskladištenu proceduru i dodaje naše parametre.


Ovaj članak je techKnowledge Document ID:10011

TechKnowledge Content

Da li vam je potrebna dodatna pomoć?

Želite još opcija?

Istražite pogodnosti pretplate, pregledajte kurseve za obuku, saznajte kako da obezbedite uređaj i još mnogo toga.

Zajednice vam pomažu da postavljate pitanja i odgovarate na pitanja, dajete povratne informacije i čujete mišljenje od stručnjaka sa bogatim znanjem.

Da li su vam ove informacije koristile?

Koliko ste zadovoljni kvalitetom jezika?
Šta je uticalo na vaše iskustvo?
Kada kliknete na dugme Prosledi“, vaše povratne informacije će se koristiti za poboljšanje Microsoft proizvoda i usluga. Vaš IT administrator će moći da prikupi ove podatke. Izjava o privatnosti.

Hvala vam na povratnim informacijama!

×