Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / PRINT в хранимой процедуре / 9 сообщений из 9, страница 1 из 1
27.06.2006, 18:20
    #33817673
HandKot
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PRINT в хранимой процедуре
Добрый день.

Есть код:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
        Try
            SQLCmd = New SqlClient.SqlCommand(strSQLCommand, SQLCn)
            SQLCmd.CommandTimeout =  0 
            SQLCmd.CommandType = CommandType.Text
            SQLCmd.ExecuteNonQuery()
            SQLCmd = Nothing
        Catch ex As Exception

        End Try

выполняются ХП. В ХП имеется оператор PRINT
в результате выполнения происходит ошибка SqlExeption с уровнем 20 и конект закрывается
Насколько я понял, это происходит из-за того, что выдается куча ПРИНТов в процедурах.
Как этого избежать? Как лучше обработать эту ошибку?

ЗЫЖ комментарить все ПРИНТы в ХП не очень хочется
...
Рейтинг: 0 / 0
27.06.2006, 18:45
    #33817732
Chingachgook
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PRINT в хранимой процедуре
Лучше закомментировать принты - они создают траффик, заодно проверите - в принтах ли дело ;)

а код ошибки какой ?
-------------------------
Киса, я дам вам этот город на разграбление. Вам 3-х дней хватит?
...
Рейтинг: 0 / 0
28.06.2006, 09:03
    #33818297
buser
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PRINT в хранимой процедуре
авторпроисходит ошибка SqlExeption с уровнем 20 и конект закрывается
Это не принты... Либо в коде пр-ры сп-но г-ся ексепшен с таким высоким Severity Level (видел я таких чудаков), либо MSDN Severity Level 20: SQL Server Fatal Error in Current Process These messages indicate that a statement has encountered a problem. Because the problem has affected only the current process, it is unlikely that the database itself has been damaged. Причины м.б. разные.
...
Рейтинг: 0 / 0
28.06.2006, 09:04
    #33818298
buser
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PRINT в хранимой процедуре
Да, принты и прочая хрень отлавливаются через SqlConnection.InfoMessage Event. Удачи... См. код вашей пр-ры...
...
Рейтинг: 0 / 0
28.06.2006, 09:31
    #33818343
HandKot
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PRINT в хранимой процедуре
buser Это не принты... Либо в коде пр-ры сп-но г-ся ексепшен с таким высоким Severity Level (видел я таких чудаков), либо

если ПРИНТы закоментировать, то все нормально выполняется

Chingachgook
Лучше закомментировать принты - они создают траффик, заодно проверите - в принтах ли дело ;)

а код ошибки какой ?

Можно закоментировать, но ПРИНТы нужны для отладки (когда я запускаю ХП в QA хоть видно что происходит)

Код: plaintext
1.
2.
3.
4.
5.
	Class	20	Byte
	Message	"General network error.  Check your network documentation. 1 2 3 4 5 6 7 8 9 10 "	String
	Procedure	"ConnectionRead (recv())."	String
	Number	11	Integer
	Source	".Net SqlClient Data Provider"	String

в сообщении об ошибке, числа - результат ПРИНТов ( их там около 60)

На сколько я понимаю, то ошибка валится в Procedure "ConnectionRead (recv()). Это не моя ХП

Есть еще предложения?
ExecuteNonQuery - единственная возможность запустить ХП?
...
Рейтинг: 0 / 0
28.06.2006, 09:45
    #33818377
buser
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PRINT в хранимой процедуре
авторЭто не моя ХП Это результат её выполнения - ошибка этого уровня приводит к з-ю коннекта... Да... код пр-ры покажите...
...
Рейтинг: 0 / 0
28.06.2006, 09:54
    #33818406
HandKot
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PRINT в хранимой процедуре
buser Это результат её выполнения - ошибка этого уровня приводит к з-ю коннекта... Да... код пр-ры покажите...
конект закрывается и ХП не выполняется

вот код
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
CREATE PROCEDURE dbo.Parsing_BNKSEEK AS
BEGIN
SET NOCOUNT ON

	DECLARE @x  binary( 128 )
	DECLARE @intRec INT

	DECLARE @VKEY	varchar	( 8000 )
	DECLARE @REAL	varchar	( 8000 )
	DECLARE @PZN	varchar	( 8000 )
	DECLARE @UER	varchar	( 8000 )
	DECLARE @RGN	varchar	( 8000 )
	DECLARE @IND	varchar	( 8000 )
	DECLARE @TNP	varchar	( 8000 )
	DECLARE @NNP	varchar	( 8000 )
	DECLARE @ADR	varchar	( 8000 )
	DECLARE @RKC	varchar	( 8000 )
	DECLARE @NAMEP	varchar	( 8000 )
	DECLARE @NAMEN	varchar	( 8000 )
	DECLARE @NEWNUM	varchar	( 8000 )
	DECLARE @NEWKS	varchar	( 8000 )
	DECLARE @PERMFO	varchar	( 8000 )
	DECLARE @SROK	varchar	( 8000 )
	DECLARE @AT1	varchar	( 8000 )
	DECLARE @AT2	varchar	( 8000 )
	DECLARE @TELEF	varchar	( 8000 )
	DECLARE @REGN	varchar	( 8000 )
	DECLARE @OKPO	varchar	( 8000 )
	DECLARE @DT_IZM	varchar	( 8000 )
	DECLARE @CKS	varchar	( 8000 )
	DECLARE @KSNP	varchar	( 8000 )
	DECLARE @DATE_IN	varchar	( 8000 )
	DECLARE @DATE_CH	varchar	( 8000 )
	DECLARE @VKEYDEL	varchar	( 8000 )
	DECLARE @UERKO	varchar	( 8000 )

	DECLARE @uinID UNIQUEIDENTIFIER
	SET @intRec =  0 

	DECLARE cur CURSOR LOCAL READ_ONLY FOR
		SELECT
			REPLACE(VKEY, '"', ''),
			REPLACE([REAL], '"', ''),
			REPLACE(PZN, '"', ''),
			REPLACE(UER, '"', ''),
			REPLACE(RGN, '"', ''),
			REPLACE(IND, '"', ''),
			REPLACE(TNP, '"', ''),
			REPLACE(NNP, '"', ''),
			REPLACE(ADR, '"', ''),
			REPLACE(RKC, '"', ''),
			REPLACE(NAMEP, '"', ''),
			REPLACE(NAMEN, '"', ''),
			REPLACE(NEWNUM, '"', ''),
			REPLACE(NEWKS, '"', ''),
			REPLACE(PERMFO, '"', ''),
			REPLACE(SROK, '"', ''),
			REPLACE(AT1, '"', ''),
			REPLACE(AT2, '"', ''),
			REPLACE(TELEF, '"', ''),
			REPLACE(REGN, '"', ''),
			REPLACE(OKPO, '"', ''),
			REPLACE(DT_IZM, '"', ''),
			REPLACE(CKS, '"', ''),
			REPLACE(KSNP, '"', ''),
			REPLACE(DATE_IN, '"', ''),
			REPLACE(DATE_CH, '"', ''),
			REPLACE(VKEYDEL, '"', ''),
			REPLACE(UERKO, '"', '')
		FROM
			IN_BNKSEEK

	OPEN cur
	FETCH cur INTO @VKEY, @REAL, @PZN, @UER, @RGN, @IND, @TNP, @NNP, @ADR, @RKC, @NAMEP, @NAMEN, @NEWNUM, @NEWKS, @PERMFO, @SROK, @AT1,
			@AT2, @TELEF, @REGN, @OKPO, @DT_IZM, @CKS, @KSNP, @DATE_IN, @DATE_CH, @VKEYDEL, @UERKO
	WHILE @@FETCH_STATUS =  0 
	BEGIN
		--Ищем банк
		SET @uinID = (SELECT BNKSEEK_ID FROM BNKSEEK WHERE VKey = @VKEY)
		IF (@uinID IS NULL)
		BEGIN
			SET @uinID = NEWID()
			INSERT INTO BNKSEEK(BNKSEEK_ID, VKEY) VALUES(@uinID, @VKEY)
		END
		
		UPDATE BNKSEEK SET
--			VKEY = @VKEY,
			[REAL] = @REAL,
			PZN = @PZN,
			UER = UER,
			RGN = @RGN,
			IND = @IND,
			TNP = @TNP,
			NNP = @NNP,
			ADR = @ADR,
			RKC = @RKC,
			NAMEP = @NAMEP,
			NAMEN = @NAMEN,
			NEWNUM = @NEWNUM,
			NEWKS = @NEWKS,
			PERMFO = @PERMFO,
			SROK = @SROK,
			AT1 = @AT1,
			AT2 = @AT2,
			TELEF = @TELEF,
			REGN = @REGN,
			OKPO = @OKPO,
--			DT_IZM = @DT_IZM,
			CKS = @CKS,
			KSNP = @KSNP,
--			DATE_IN = @DATE_IN,
--			DATE_CH = @DATE_CH,
			VKEYDEL = @VKEYDEL,
			UERKO = @UERKO
		WHERE
			BNKSEEK_ID = @uinID
			
			
		FETCH cur INTO @VKEY, @REAL, @PZN, @UER, @RGN, @IND, @TNP, @NNP, @ADR, @RKC, @NAMEP, @NAMEN, @NEWNUM, @NEWKS, @PERMFO, @SROK, @AT1,
				@AT2, @TELEF, @REGN, @OKPO, @DT_IZM, @CKS, @KSNP, @DATE_IN, @DATE_CH, @VKEYDEL, @UERKO

		SET @intRec = @intRec +  1 

		PRINT CAST(@intRec AS VARCHAR)		
		set @x = cast(str(@intRec) as varbinary)
		set context_info @x
	END


	TRUNCATE TABLE IN_BNKSEEK	

	set @x = cast('Parsing BNKSEEK HAS FINISHED !' as varbinary)
	set context_info @x

END
GO
...
Рейтинг: 0 / 0
28.06.2006, 10:13
    #33818469
buser
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PRINT в хранимой процедуре
... Это точно весь код без купюр? поспрашайте на MS SQL
...
Рейтинг: 0 / 0
28.06.2006, 10:17
    #33818486
HandKot
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PRINT в хранимой процедуре
Это точно весь код.
Если закоментировать ПРИНТ, то она работает без проблем.
Данная ХП запускается и из Басика и тоже все хорошо.

ПРоблема значит в провайдере. Как-то он странно отрабатывает
...
Рейтинг: 0 / 0
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / PRINT в хранимой процедуре / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]