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

Есть код:
Код: 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
PRINT в хранимой процедуре
    #33817732
Chingachgook
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Лучше закомментировать принты - они создают траффик, заодно проверите - в принтах ли дело ;)

а код ошибки какой ?
-------------------------
Киса, я дам вам этот город на разграбление. Вам 3-х дней хватит?
...
Рейтинг: 0 / 0
PRINT в хранимой процедуре
    #33818297
Фотография buser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторпроисходит ошибка 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
PRINT в хранимой процедуре
    #33818298
Фотография buser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, принты и прочая хрень отлавливаются через SqlConnection.InfoMessage Event. Удачи... См. код вашей пр-ры...
...
Рейтинг: 0 / 0
PRINT в хранимой процедуре
    #33818343
Фотография HandKot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
PRINT в хранимой процедуре
    #33818377
Фотография buser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторЭто не моя ХП Это результат её выполнения - ошибка этого уровня приводит к з-ю коннекта... Да... код пр-ры покажите...
...
Рейтинг: 0 / 0
PRINT в хранимой процедуре
    #33818406
Фотография HandKot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
PRINT в хранимой процедуре
    #33818469
Фотография buser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
... Это точно весь код без купюр? поспрашайте на MS SQL
...
Рейтинг: 0 / 0
PRINT в хранимой процедуре
    #33818486
Фотография HandKot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это точно весь код.
Если закоментировать ПРИНТ, то она работает без проблем.
Данная ХП запускается и из Басика и тоже все хорошо.

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


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