Bejelentkezés Microsoft-fiókkal
Jelentkezzen be, vagy hozzon létre egy fiókot.
Üdvözöljük!
Válasszon másik fiókot.
Több fiókja van
Válassza ki a bejelentkezéshez használni kívánt fiókot.

Kérdés:
Van egy Access-adatbázisom és egy SQL, amely adatokat tárol. A SQL 7.0 Linked Server-funkciói között SQL az Access adatbázist más adatbázisként SQL látni. Ezenkívül egy tárolt eljárást is megírtam, amely a rekordokat az Access adatbázisból a SQL táblába másolja. Az ISQL/Query Analyzer eszközről futtatva a tárolt eljárás megfelelően fut és működik. A tárolt eljárás Dexteritásból való hívása a következő hibaüzenetet adja SQL Server: A ANSI_NULLS és a ANSI_WARNINGS beállításait meg kell állítani a
kapcsolathoz. Ez konzisztens lekérdezési szemantikai adatokat biztosít. Engedélyezze ezeket a beállításokat, majd újraadja a lekérdezést. Futtatható még ez a Dexterity-alkalmazásból tárolt eljárás?


Válasz: Igen, de a tárolt eljárást kissé
módosítani kell. Ennek az az oka, hogy az SQL-táblázatok megfelelő Dexteritásban való felolvasása érdekében ezeket a beállításokat ki kell kapcsolva, így a Dexterrel kapcsolatos híváseljárások a tárolt eljárást a tárolt eljárás futtatása előtt hibásan árolják. A felhasználónak meg kell győződnie arról, hogy a szabályokat megsértő adatokat nem vezették be a SQL táblába. Az alábbi példában a table_access access-tábla látható. A table_test a SQL táblázat.

          
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



Módosíthatjuk a tárolt eljárást, hogy az alábbihoz hasonló figyelmeztetéseket állítsunk be:

          
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



Ebben az esetben a tárolt eljárás annak az attribútumait örökli, amit az alkalmazásnak hív. Ilyen helyzetben a Dexterity felhívja theaccess_tableprocedure, amely bekapcsolja a ANSI_NULLS & ANSI_WARNINGS majd felhívja a valós tárolt eljárást, és továbbítja a paramétereket.


Ez a cikk a következő volt: TechKnowledge Document ID:10011

TechKnowledge Content

További segítségre van szüksége?

További lehetőségeket szeretne?

Fedezze fel az előfizetés előnyeit, böngésszen az oktatóanyagok között, ismerje meg, hogyan teheti biztonságossá eszközét, és így tovább.

A közösségek segítségével kérdéseket tehet fel és válaszolhat meg, visszajelzést adhat, és részletes ismeretekkel rendelkező szakértőktől hallhat.

Hasznos volt ez az információ?

Mennyire elégedett a fordítás minőségével?
Mi volt hatással a felhasználói élményére?
Ha elküldi a visszajelzést, a Microsoft felhasználja azt a termékei és szolgáltatásai továbbfejlesztéséhez. Az informatikai rendszergazda képes lesz ezeket az adatokat összegyűjteni. Adatvédelmi nyilatkozat.

Köszönjük a visszajelzését!

×