This section contains error messages for Adaptive Server create operations (create table, create database, and so on).
16
There is already an object named '%.*s' in the database.
This error occurs when Adaptive Server tries to create an object which already exists.
Error 2714 can occur in the following situations:
When you are creating procedures, triggers, tables, views, or rules, if you specify an object that already exists.
If you have changed your sort order to be case-insensitive and then you try to create an object that is spelled the same way as an existing object with a different case (for example, PROC1 and proc1).
When using temporary tables, the first 13 bytes of the table name, including the pound sign, must be unique for the current session. Long temporary table names are truncated to 13 characters with the pound sign. An attempt to create a second temporary table with the same name in the same session will raise Error 2714. (In contrast, temporary tables created by specifying database_name.owner.table_name may be shared among sessions, not only within one session.)
Make sure the name of the object you are trying to create does not already exist.
If you have stored procedures that create objects, make sure there is a check for the existence of the object in the stored procedure (before it is created). If you wish to re-create an object within a stored procedure, drop the object before you re-create it.
Refer to the Reference Manual for information about creating and dropping objects.
All versions
16
Procedure '%.*s' group number 1 already exists in the database. Choose another procedure name or procedure number.
Procedures that are meant to be used together in an application can be created with the same name and different version numbers, using an option of the create procedure statement. For example, procedures used with the application ticket can be named ticketproc;1, ticketproc;2, and so on. The numbers are referred to as the group numbers of the procedure.
Error 2729 occurs when:
You attempt to create a procedure without specifying any group number, and a procedure by that name already exists. Adaptive Server assumes that you want to create a procedure in the same group as the existing procedure, but the command fails since no group number is specified, and the default group number 1 already exists.
You attempt to re-use an existing group number when creating procedures with the same name.
To resolve the problem, do one of the following:
Supply a different procedure name.
Supply the same procedure name, but include a unique procedure group number. For example:
1> create procedure myproc;2 ...
This will result in two procedures with the same name and group numbers 1 and 2, respectively.
All versions
20
Received an error code of '%d' from 'intl_strblist()'.
intl_strblist is an Adaptive Server function to convert a message from the server's default language to the client's language. Error 2753 is raised when there is an inconsistency in language between the client session and the server's default language, and intl_strblist is unable to convert the message to the client format. The error code denotes the type of conversion problem that occurred.
For example, this error may be raised when you invoke an isql session with the -J option to specify a client character set different from us_english and run certain dbcc commands. The error may occur even if Adaptive Server is configured to use the alternate language.
This is not a serious error and does not cause any problems in your database. Depending on the type of error, Adaptive Server may be able to print the message string in us_english.
Use one of the following actions to address the 2753 error:
Invoke the client session without the -J option.
Use set language us_english before operations that produce the 2753 error.
All versions
16
The '%s' command is not allowed within a multi-statement transaction in the '%.*s' database.
SQL commands are grouped into the following categories:
SQL commands that are not allowed in transactions at all.
SQL commands, such as Data Definition Language (DDL) commands, that are allowed in transactions only if the required database option (ddl in tran) is set to TRUE.
SQL commands that are run across databases to create, alter or drop objects in another database, and are allowed in transactions only if the required database option (ddl in tran) is set to TRUE for that database.
Error 2762 typically occurs in the context of data definition commands such as creating, altering, or dropping objects. It occurs when Adaptive Server detects a command that is not allowed in a multi-statement transaction for the specified database. A multi-statement transaction is a set of commands prefaced with the begin transaction command, or when chained mode is on.
Error 226 is a similar error that may be raised along with Error 2762. While Error 2762 typically involves commands that are run across databases, Error 226 is raised when the command affects only the local database.
The following commands are never allowed in multi-statement transactions:
alter database
create database
dbcc reindex, dbcc fix_text
disk init
drop database
dump database, dump transaction
load database, load transaction
reconfigure
select into
set transaction isolation level
truncate table
update statistics
The following DDL commands are not normally allowed in multi-statement transactions but you can use them if you use sp_dboption to set ddl in tran to TRUE first:
create default, create index, create procedure, create rule, create schema, create table, create trigger, create view
drop default, drop index, drop procedure, drop rule, drop table, drop trigger, drop view
grant
revoke
The literal `%.*s' in the error message is the name of the database specified in the command. Note the database name before choosing any corrective action.
Error 2762 can be raised when a command creates or drops temporary objects (objects in tempdb) within the context of a multi-statement transaction. For example, this code may generate a 2762 error:
1> begin transaction 2> create table #cities 3> (city_name char(15) not null) 4> commit transaction 5> go
The error is raised when ddl in tran is set to FALSE in tempdb. Use one of the following strategies to correct this error:
Use a permanent object name, so that tempdb is not affected.
Execute the command outside a multi-statement transaction.
WARNING! Using data definition language commands on tempdb within transactions may cause concurrency problems in tempdb. Always leave ddl in tran set to FALSE in tempdb.
If the DDL command is allowed in a multi-statement transaction when ddl in tran is set to TRUE, set ddl in tran to TRUE before running the transaction. You can check the current setting of ddl in tran with sp_helpdb.
WARNING! Data definition language commands hold locks on system tables such as sysobjects and this can affect performance. Avoid using them inside transactions; if you must use them, keep the transactions short.
If the command is never allowed in a multi-statement transaction, execute it outside the multi-statement transaction.
Some applications take SQL statements as input and run them for you. If the application uses begin and commit or rollback transaction to surround those statements, Error 2762 may occur. Refer to the user guide for your application to determine if this is the case.
All versions