powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Проблема с ХП на ms sql 6.5
4 сообщений из 4, страница 1 из 1
Проблема с ХП на ms sql 6.5
    #32029631
Labert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть ХП. База стоит на mssql 6.5

Эта ХП не хочет запускаться - пишет

DB-Library Process Dead - Connection Broken

Может, кто-нибудь знает, в чем дело?
...
Рейтинг: 0 / 0
Проблема с ХП на ms sql 6.5
    #32029689
Flint-San
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Такое сообщение в 6.5 может зависеть не только от сети, но и от содержимого в самой процедуре.
Можешь показать ее содержимое здесь? Например, если ты обращаешься к этому серверу от другого например: семерочного и из процедуры на 6.5 идет выборка и ты явно не преобразуешь типы данных в SELECTе. То попробуй сделать Convert для всех полей с указанием типов данных и указанием получаемого поля.
SELECT
Convert( real, myFld1 * 1.0) as NewCalc,
....
...
Рейтинг: 0 / 0
Проблема с ХП на ms sql 6.5
    #32029772
Labert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Запускаю процедуру из родного ISQLw - так что все строго под MSSQL 6.5
Кстати, процедура не запускается вообще - даже первый print не отрабатывает

CREATE PROCEDURE CREATE_ITOGI AS
BEGIN
declare
@fromdate smalldatetime,
@todate smalldatetime,
@ndog integer,
@nfirm integer,
@nagent integer,
@plat money,
@dengi money,
@tovar money,
@uderg money,
@otr money,
@tt varchar(50),
@fam varchar(50),
@prc decimal(6,3)
print 'нулевая'
select @fromdate=DNACH, @todate = DKON from PARBONUS
where TIPBONUSA = 1
print 'первая'
delete from ITOGI
/* платежи за dасчетнvй интеdвал */
declare create_itogi_p_q cursor for
select NDOG, TSUM, TYPEPLAT from PLATEGI
where DATE between @fromdate and @todate
open create_itogi_p_q
print 'вторая'
while ( 1=1 )
begin
fetch create_itogi_p_q into @ndog, @plat, @tt
if @@fetch_status <> 0 break
select @dengi=0, @tovar=0, @uderg=0
-- товаd
if @tt='накладная'
select @tovar = @plat
-- деньaи
if @tt='платежка' OR @tt='пdиo.оdд'
select @dengi = @plat
-- удеdжание с аaента
if @tt='из заdплатv'
select @uderg = @plat

if exists (select NDOG from ITOGI where NDOG=@ndog)
update ITOGI
set PLAT=PLAT+@dengi, TOV=TOV+@tovar, UDERG=UDERG+@uderg
where NDOG=@NDOG
else
insert into ITOGI ( NDOG, PLAT, TOV, UDERG)
values (@ndog,@dengi,@tovar, @uderg)
end /* while plategi */
print 'платежи'
close create_itogi_p_q
deallocate create_itogi_p_q
/* скидки за dасчетнvй интеdвал */
declare create_itogi_s_q cursor for
select NDOG, TSUM, TYPESK from SKIDKI
where DATESK between @fromdate and @todate
open create_itogi_s_q
while ( 1=1 )
begin
fetch create_itogi_s_q into @ndog, @plat, @tt
if @@fetch_status <> 0 break
select @dengi=0, @tovar=0, @uderg=0
-- товаd
if @tt='T'
select @tovar=@plat
-- деньaи
if @tt='T' or @tt='L'
select @dengi=@plat
-- закdvто без поaаoения долaа
if @tt='3'
select @uderg=@plat

if exists (select NDOG from ITOGI where NDOG=@ndog)
update ITOGI
set SPLAT=SPLAT+@dengi, STOV=STOV+@tovar, ZDolg=ZDolg+@uderg
where NDOG=@NDOG
else
insert into ITOGI(NDOG,SPLAT,STOV,ZDolg)
values(@ndog,@dengi,@tovar,@uderg)
end
print 'скидки'
close create_itogi_s_q
deallocate create_itogi_s_q
/* услуaи за dасчетнvй интеdвал */
declare create_itogi_u_q cursor for
select distinct NDOG from DOGOVORA a
where exists (select NDOG from USLUGI
where DATE between @fromdate
and @todate and NDOG=a.NDOG)
or exists (select b.NOBJ from OBJBSTR b, BSTRTRANS c
where b.NOBJ=c.NOBJ
and b.NDOG=a.NDOG
and DAT between @fromdate
and @todate)
open create_itogi_u_q
while (1=1)
begin
fetch create_itogi_u_q into @ndog
if @@fetch_status <> 0 break
select @plat=IsNull(Sum(TSUM),0) from USLUGI
where NDOG=@ndog and DATE between @fromdate and @todate
select @plat=@plat+IsNull(Sum(TSum),0) from CENA_OBSTR
where NDOG=@ndog and DAT between @fromdate and @todate
if exists (select NDOG from ITOGI where NDOG=@ndog)
update ITOGI set OTR=OTR+@plat where NDOG=@NDOG
else
insert into ITOGI(NDOG,OTR) values(@ndog, @plat)
end
print 'услуaи'
close create_itogi_u_q
deallocate create_itogi_u_q
/* наdаботка за dасчетнvй интеdвал */
declare create_itogi_z_q cursor for
select ndog, prcZarpl, sumPr from DogProvodky
/*where prcZarpl>0 group by ndog */
open create_itogi_z_q
while (1=1)
begin
fetch create_itogi_z_q into @ndog, @prc, @plat
if @@fetch_status <> 0 break
if @prc > 0
begin
if exists (select NDOG from ITOGI where NDOG=@ndog)
update ITOGI set zarpl=zarpl+@plat where NDOG=@NDOG
else
insert into ITOGI(NDOG,zarpl) values(@ndog, @plat)
end
else
begin
if exists (select NDOG from ITOGI where NDOG=@ndog)
update ITOGI set notzarpl=notzarpl+@plat where NDOG=@NDOG
else
insert into ITOGI(NDOG,notzarpl) values(@ndog, @plat)
end
end
print 'наdаботка'
close create_itogi_z_q
deallocate create_itogi_z_q
declare create_itogi_i_q cursor for
select NDOG from ITOGI
open create_itogi_i_q
while (1=1)
begin
fetch create_itogi_i_q into @ndog
if @@fetch_status <> 0 break
select @tt=a.NAZ, @nagent=a.AGENT, @nfirm=NFIRM, @prc=PRCZARPL
from FIRMS a inner join DOGOVORA b on a.NFIRM=b.PLAT
where NDOG=@ndog
select @fam=FAMILIA from AGENTS where NAGENT=@nagent
update ITOGI set
OTRDOLG = 0 ,
NFIRM = @nfirm,
FIRM = @tt,
FAM = @fam,
NAGENT = @nagent
where NDOG = @NDOG
end
close create_itogi_i_q
deallocate create_itogi_i_q
END
...
Рейтинг: 0 / 0
Проблема с ХП на ms sql 6.5
    #32030039
Osya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Явный признак того, что сервер процедуру "не переваривает". Закоментируй все и потихонечку раскоменнтируй, чтоб найти кусок, на который у него алергия. Этот кусок попробовать переписать. Хочешь - сюда кинь.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Проблема с ХП на ms sql 6.5
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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