Reserved word errors, Missing, truncated, or corrupted source text, Quoted identifier errors – Sybase 15.0.2 User Manual

Page 125

Advertising
background image

CHAPTER 7 Troubleshooting

Installation Guide

111

After reviewing the errors and potential problem areas, and fixing those that
need to be changed, you can use

dbcc upgrade_object

to upgrade compiled

objects manually instead of waiting for the server to upgrade the objects
automatically. For details, see “Using dbcc upgrade_object” on page 113.

Reserved word errors

If

dbcc upgrade_object

finds a reserved word used as an object name in a

compiled object, it returns an error, and that object is not upgraded. To fix the
error, either manually change the object name or use quotes around the object
name, and issue the command

set quoted identifiers on

. Then drop and re-create

the compiled object.

For example, suppose you load a database dump from Adaptive Server 11.5
into Adaptive Server 15.0 and the dump contains a stored procedure that uses
the word “lock.” When you run

dbcc upgrade_object

on that stored procedure,

the command returns an error because, although “lock” was not reserved in
version 11.5, it became a reserved word in version 11.9.2. With this advance
notice, you can change the stored procedure and any related tables before they
are used in a production environment.

Missing, truncated, or corrupted source text

If the source text in

syscomments

was deleted, truncated, or otherwise

corrupted,

dbcc upgrade_object

may report syntax errors. If the source text was

not hidden, you can use

sp_helptext

to verify the completeness of the source

text. If truncation or other corruption has occurred, drop and re-create the
compiled object.

Quoted identifier errors

dbcc upgrade_object

returns a quoted identifier error if:

The compiled object was created in a pre-11.9.2 version with quoted
identifiers active (

set quoted identifiers on

).

Quoted identifiers are not active (

set quoted identifiers off

) in the current

session.

To avoid this error, activate quoted identifiers before running

dbcc

upgrade_object

. When quoted identifiers are active, you must use single quotes

instead of double quotes around quoted

dbcc upgrade_object

keywords.

Advertising