MS SQL 2000 problems with linked servers
1 отговора
279 прегледа
MS SQL 2000 problems with linked servers
Здравейте имам нужда от помощ,
имам следния проблем
Error 7405: Heterogeneous queries require the ANSI_NULLS and ANSI_WARNINGS
options to be set for the connection. This ensures consistent query
semantics. Enable these options and then reissue your query.
Линквам два сървара и стартирам сторед процедура
преди това сетвам ANSI_NULLS and ANSI_WARNINGS ON и грешката пак е налице
Някой сблъсквал ли се е с този проблем и как го е решил
Нещо такова представлява
SET ANSI_NULLS on
SET ANSI_WARNINGS on
GO
CREATE PROCEDURE SBO
@data char (8),
@data1 char(8) ,
@mes int,
@god int
AS
INSERT INTO [server].[db].[dbo].SBO
SELECT @god as godina, @mes as Mes, Klon, inspec as teller, 'pr0500' as type_transaction, COUNT(*) AS broi , sum(AGR_AMT_EQU) as Suma
FROM LON
WHERE (DATA_kl between @data and @data1) AND
(
(Apl = '11')
or
((Apl = '15') and (Type between '5500'and '5540'))
)
AND
(Acc like '0%')
GROUP BY Klon, inspec
order by Klon, inspec
Та според мен проблема е че с процедурата сетвам ANSI_NULLS and ANSI_WARNINGS ON само на сервера на който я стартирам а на другия не са сетнати обаче ако ги сетна и на двата сервера дали няма да прецакам стари процедури които си вървят досега без проблем
имам следния проблем
Error 7405: Heterogeneous queries require the ANSI_NULLS and ANSI_WARNINGS
options to be set for the connection. This ensures consistent query
semantics. Enable these options and then reissue your query.
Линквам два сървара и стартирам сторед процедура
преди това сетвам ANSI_NULLS and ANSI_WARNINGS ON и грешката пак е налице
Някой сблъсквал ли се е с този проблем и как го е решил
Нещо такова представлява
SET ANSI_NULLS on
SET ANSI_WARNINGS on
GO
CREATE PROCEDURE SBO
@data char (8),
@data1 char(8) ,
@mes int,
@god int
AS
INSERT INTO [server].[db].[dbo].SBO
SELECT @god as godina, @mes as Mes, Klon, inspec as teller, 'pr0500' as type_transaction, COUNT(*) AS broi , sum(AGR_AMT_EQU) as Suma
FROM LON
WHERE (DATA_kl between @data and @data1) AND
(
(Apl = '11')
or
((Apl = '15') and (Type between '5500'and '5540'))
)
AND
(Acc like '0%')
GROUP BY Klon, inspec
order by Klon, inspec
Та според мен проблема е че с процедурата сетвам ANSI_NULLS and ANSI_WARNINGS ON само на сервера на който я стартирам а на другия не са сетнати обаче ако ги сетна и на двата сервера дали няма да прецакам стари процедури които си вървят досега без проблем
Re: MS SQL 2000 problems with linked servers
Двете настройки на connection-а които се запазват при създаване на записана са QUOTED_IDENTIFIER и ANSI_NULLS. Просто единствено те имат отношение към парсването на SQL сорса на записаната/view-то.
Така че грешката която получаваш няма общо със създаването на записаната, a по-скоро с настройките на connection-а през който я изпълняваш. Пробвай така:
SET ANSI_NULLS, ANSI_WARNINGS ON
EXEC dbo.SBO ...
Всъщност най-добре е ако ще ползваш подобни distributed изпълнения да сложиш инициализацията на настройките в data-access layer-а -- веднага след отваряне на connection-а.
cheers,
</wqw>
Така че грешката която получаваш няма общо със създаването на записаната, a по-скоро с настройките на connection-а през който я изпълняваш. Пробвай така:
SET ANSI_NULLS, ANSI_WARNINGS ON
EXEC dbo.SBO ...
Всъщност най-добре е ако ще ползваш подобни distributed изпълнения да сложиш инициализацията на настройките в data-access layer-а -- веднага след отваряне на connection-а.
cheers,
</wqw>