Küsimus:
Mul on Access DB ja SQL tabel, mis talletada teavet. Olen 7.0 SQL Linked Serveri funktsioonide all lubanud SQL access DB-d näha vaid SQL andmebaasina. Olen kirjutanud ka salvestatud protseduuri, mis kopeerib kirjed Access DB-st SQL tabelisse. Töötab ISQL-i/päringuanalüsaatori kaudu, salvestatud protseduur töötab ja töötab õigesti. Dexterityst salvestatud protseduurile helistamisel kuvatakse järgmine tõrketeade: SQL Server heterogeensed päringud nõuavad
ühenduse ANSI_NULLS ja ANSI_WARNINGS suvandite seamist. See tagab päringute ühtse semantika. Lubage need suvandid ja seejärel sisestage päring uuesti. Kas saan seda salvestatud protseduuri isegi Dexterityst käivitada?
Vastus:
Jah, kuid peame salvestatud protseduuri veidi muutma. Põhjus, miks see nurjub, on see, et SQL tabelite õigeks lugemiseks Dexteritys tuleb need suvandid enne salvestatud protseduuri käivitamist Dexteritys salvestatud protseduuride jaoks välja lülitada. Kasutaja peab veenduma, et neid reegleid rikkuvad andmed ei SQL tabelisse. Järgmises näites on table_access accessi tabel. Table_test on SQL tabel.
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
Me saame salvestatud protseduuri muuta, et määrata oma hoiatused nii:
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
Sel juhul pärib talletatud protseduur selle, mida see nimetab, atribuudid. Selles olukorras helistab Dexterity theaccess_tableprocedure mis lülitab sisse ANSI_NULLS & ANSI_WARNINGS ja seejärel helistab reaalsalvestatud protseduurile ja läbib meie parameetrid.
See artikkel oli TechKnowledge Document ID:10011