powered by simpleCommunicator - 2.0.57     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / ошибка пересоздания процедур
4 сообщений из 4, страница 1 из 1
ошибка пересоздания процедур
    #37004491
YVG19
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
База SYBASE 12.5.3 / SUSE 9
При попытке изменить процедуру через rename возникает ошибка. Если делать через drop - create то все нормально. На копии базы в связке SYBASE 12.5.4 / SUSE 10 все нормально прокатывает. Что не хватает? Ну - кроме знаний... :)

05:00000:00363:2010/12/09 13:37:39.89 kernel ************************************
05:00000:00363:2010/12/09 13:37:39.89 kernel SQL causing error : EXEC sp_rename 'Annual','Annual_12092010103736000'
05:00000:00363:2010/12/09 13:37:39.89 kernel ************************************
05:00000:00363:2010/12/09 13:37:39.89 server SQL Text: EXEC sp_rename 'Annual','Annual_12092010103736000'
05:00000:00363:2010/12/09 13:37:39.89 kernel curdb = 4 tempdb = 2 pstat = 0x10000
05:00000:00363:2010/12/09 13:37:39.89 kernel lasterror = 0 preverror = 0 transtate = 1
05:00000:00363:2010/12/09 13:37:39.89 kernel curcmd = 224 program = DBArtisan
05:00000:00363:2010/12/09 13:37:39.89 kernel pc: 0x0x0000000000a852c9 pcstkwalk+0x289()
05:00000:00363:2010/12/09 13:37:39.89 kernel pc: 0x0x0000000000a84eff ucstkgentrace+0x17f()
05:00000:00363:2010/12/09 13:37:39.89 kernel pc: 0x0x0000000000a3fcdf ucbacktrace+0x8f()
05:00000:00363:2010/12/09 13:37:39.89 kernel pc: 0x0x000000000042cc33 terminate_process+0xbd3()
05:00000:00363:2010/12/09 13:37:39.89 kernel pc: 0x0x0000000000a59475 kisignal+0x195()
05:00000:00363:2010/12/09 13:37:39.89 kernel pc: 0x0x0000000000745337 result+0x6b7()
05:00000:00363:2010/12/09 13:37:39.89 kernel pc: 0x0x000000000076c384 pre_aggview+0x204()
05:00000:00363:2010/12/09 13:37:39.89 kernel pc: 0x0x000000000076c5d9 s_preprocess+0x109()
05:00000:00363:2010/12/09 13:37:39.89 kernel pc: 0x0x000000000074940e s_compile+0x3ce()
05:00000:00363:2010/12/09 13:37:39.89 kernel [Handler pc: 0x0x0000000000777370 s_handle installed by the following func
tion:-]
05:00000:00363:2010/12/09 13:37:39.89 kernel pc: 0x0x0000000000773d31 sequencer+0xe31()
05:00000:00363:2010/12/09 13:37:39.89 kernel pc: 0x0x000000000075ce11 execproc+0xbae()
05:00000:00363:2010/12/09 13:37:39.89 kernel pc: 0x0x0000000000752f09 s_execute+0x3aad()
05:00000:00363:2010/12/09 13:37:39.89 kernel [Handler pc: 0x0x0000000000777370 s_handle installed by the following func
tion:-]
05:00000:00363:2010/12/09 13:37:39.89 kernel pc: 0x0x000000000077339b sequencer+0x49b()
05:00000:00363:2010/12/09 13:37:39.89 kernel pc: 0x0x000000000045cbe0 tdsrecv_language+0x290()
05:00000:00363:2010/12/09 13:37:39.89 kernel [Handler pc: 0x0x0000000000482e80 hdl_backout installed by the following f
unction:-]
05:00000:00363:2010/12/09 13:37:39.89 kernel [Handler pc: 0x0x00000000006de700 ut_handle installed by the following fun
ction:-]
05:00000:00363:2010/12/09 13:37:39.89 kernel [Handler pc: 0x0x00000000006de700 ut_handle installed by the following fun
ction:-]
...
Рейтинг: 0 / 0
ошибка пересоздания процедур
    #37005682
Компостеров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quot YVG19]База SYBASE 12.5.3 / SUSE 9
При попытке изменить процедуру через rename возникает ошибка. Если делать через drop - create то все нормально. На копии базы в связке SYBASE 12.5.4 / SUSE 10 все нормально прокатывает. Что не хватает? Ну - кроме знаний... :) /quot]

Tip or Workaround

The solution is to configure the server to allow updates to system catalogs and delete those rows having encrypted column info in syscolumns. Execute the delete inside a tran to ensure it can be rolled back if needed.

sp_configure "allow updates", 1
go
select count (*) from syscolumns where id = object_id("syscolumns") and colid >= 23
go
//Note down number of rows //
begin tran
go
delete from syscolumns where id = object_id("syscolumns") and colid >= 23
go
//Check number of rows against number written down//
commit tran / rollback tran depending on number of rows

This has to be done for every database in sysdatabases.


Resolution

Change Request(CR) 406005 fixed in ASE 12.5.4 , 15 ESD2 and 15.0.2

This problem is seen when downgrading a 12.5.3a or 12.5.4 database to a lower version, for example 12.5.4 to 12.5.3 ESD#7 or 12.5.3a (special edition with for encrypted columns) to 12.5.3.

12.5.3a and 12.5.4 have additional columns in syscolumns that are not removed when downgrading and these columns cause this problem in the lower version. The problem is tracked under CR 406005.

The following stored procs, which update syscolumns, trigger the problem:

sp_bindrule
sp_rename
sp_setreptable
sp_unbindefault
sp_unbindrule
...
Рейтинг: 0 / 0
ошибка пересоздания процедур
    #37006374
YVG19
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
select count (*) from syscolumns where id = object_id("syscolumns") and colid >= 23
go


Во всех базах выдает "0"...
...
Рейтинг: 0 / 0
ошибка пересоздания процедур
    #37006770
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On 09.12.2010 14:17, YVG19 wrote:

> При попытке изменить процедуру через rename возникает ошибка. Если делать через
> drop - create то все нормально.

Это стектрейс, лечится только инженерами Sybase.

"Доктор, когда я делаю так, мне больно" -- "Ну так не делайте так, больной!".

В общем, дропай/ создавай. Оно даже где-то полезно.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / ошибка пересоздания процедур
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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