Copies definitions for specified views, rules, defaults, triggers, or procedures from a database to an operating-system file or from an operating-system file to a database. Located in $SYBASE/OCS-12_5/bin.
In Windows NT, the utility is defncopy.exe and is located in %SYBASE%\OCS-12_5\bin.
defncopy [-X] [-a display_charset] [-I interfaces_file] [-J [client_charset]] [-K keytab_file] [-P password] [-R remote_server_principal] [-S [server_name]] [-U username] [-V security_options] [-Z security_mechanism] [-z language] { in file_name database_name | out file_name database_name [owner.]object_name [[owner.]object_name...] }
Or
defncopy -v
initiates the login with client-side password encryption in this connection to the server. defncopy (the client) specifies to the server that password encryption is desired. The server sends back an encryption key, which defncopy uses to encrypt your password, and the server uses to authenticate your password when it arrives.
If defncopy crashes, the system creates a core file which contains your password. If you did not use the encryption option, the password appears in plain text in the file. If you used the encryption option, your password is not readable.
runs defncopy from a terminal whose character set differs from that of the machine on which defncopy is running. Use -a in conjunction with -J to specify the character set translation file (.xlt file) required for the conversion. Use -a without -J only if the client character set is the same as the default character set.
The ascii_7 character set is compatible with all character sets. If either the Adaptive Server character set or the client character set is set to ascii_7, any 7-bit ASCII character can pass unaltered between client and server. Other characters produce conversion errors. See the System Administration Guide for more information on character set conversion.
specifies the name and location of the interfaces file to search when connecting to Adaptive Server. If you do not specify -I, defncopy looks for a file named interfaces in the directory specified by the SYBASE environment variable in UNIX platforms, and sql.ini in the ini subdirectory for your Sybase release directory in Windows NT.
specifies the character set to use on the client. A filter converts input between client_charset and the Adaptive Server character set.
-J client_charset requests that Adaptive Server convert to and from client_charset, the client’s character set.
-J with no argument sets character set conversion to NULL. No conversion takes place. Use this if the client and server are using the same character set.
Omitting -J sets the character set to a default for the platform. The default may not be the character set that the client is using. For more information about character sets and their associated flags, see the System Administration Guide and Configuration Guide for your platform.
specifies the path to the keytab file used for authentication in DCE.
specifies your password. If you do not specify -P, defncopy prompts for your password.
specifies the principal name for the server. By default, a server’s principal name matches the server’s network name (which is specified with the -S parameter or the DSQUERY environment variable). Use the -R parameter when the server’s principal name and network name are not the same.
specifies the name of the Adaptive Server to which to connect. If you specify -S with no argument, defncopy looks for a server named SYBASE. If you do not specify -S, defncopy uses the server specified by your DSQUERY environment variable.
specifies a login name. Login names are case sensitive. If you do not specify username, defncopy uses the current user’s operating system login name.
specifies network-based user authentication. With this option, the user must log in to the network’s security system before running the utility. In this case, users must supply their network user name with the -U option; any password supplied with the -P option is ignored.
-V can be followed by a security_options string of key-letter options to enable additional security services. These key letters are:
c – Enable data confidentiality service
i – Enable data integrity service
m – Enable mutual authentication for connection establishment
o – Enable data origin stamping service
r – Enable data replay detection
q – Enable out-of-sequence detection
specifies the name of a security mechanism to use on the connection.
Security mechanism names are defined in the $SYBASE/install/libtcl.cfg configuration file. If no security_mechanism name is supplied, the default mechanism is used. For more information on security mechanism names, see the description of the libtcl.cfg file in the Open Client/Server Configuration Guide.
is the official name of an alternate language that the server uses to display defncopy prompts and messages. Without the -z flag, defncopy uses the server’s default language.
Add languages to an Adaptive Server at installation, or afterwards with the utility langinstall (langinst in Windows NT) or the stored procedure sp_addlanguage.
specifies the direction of definition copy.
specifies the name of the operating system file destination or source for the definition copy. The copy out overwrites any existing file.
specifies the name of the database to copy the definitions from or to.
is optional if you or the Database Owner own the table being copied. If you do not specify an owner, defncopy first looks for a table of that name that you own, and then looks for one owned by the Database Owner. If another user owns the table, you must specify the owner name or the command fails.
specifies name(s) of database object(s) for defncopy to copy out. Do not use objectname when copying definitions in.
displays the version and copyright message of defncopy and returns to the operating system.
Copies definitions from the file new_proc into the database stagedb on server MERCURY. The connection with MERCURY is established with a user of name “sa” and a NULL password:
defncopy -Usa -P -SMERCURY in new_proc stagedb
Copies definitions for objects sp_calccomp and sp_vacation from the employees database on the SYBASE server to the file dc.out. Messages and prompts display in french. The user is prompted for a password:
defncopy -S -z french out dc.out employees sp_calccomp sp_vacation
Use this syntax for defncopy_r if you are using threaded drivers.
Use this syntax for defncopy_dce if you are using threaded drivers in the IBM platform.
You must set the SYBASE environment variable to the location of the current version of Adaptive Server before you can use defncopy.
The defncopy utility cannot copy table definitions or reports created with Report Workbench™.
Invoke the defncopy program directly from the operating system. defncopy provides a noninteractive way to copy out definitions (create statements) for views, rules, defaults, triggers, or procedures from a database to an operating system file. Alternatively, it copies in all the definitions from a specified file.
The in filename or out filename and the database name are required and must be stated unambiguously. For copying out, use file names that reflect both the object’s name and its owner.
defncopy ends each definition that it copies out with the comment:
/* ### DEFNCOPY: END OF DEFINITION */
Definitions created as text must end with this comment so that defncopy can copy them in successfully.
Enclose values specified to defncopy in quotation marks, if they contain characters that could be significant to the shell.
WARNING! Long comments of more than 100 characters that are placed before a create statement may cause defncopy to fail.
You must have select permission on the sysobjects and syscomments tables to copy out definitions; you do not need permission on the object itself.
You may not have select permission on the text column of the syscomments table if the System Security Officer has reset the allow select on syscomments.text column parameter with the system procedure sp_configure. This reset restricts select permission to the object owner and the System Administrator. This restriction is required in order to run Adaptive Server in the evaluated configuration, as described in the installation and configuration documentation for your platform. In this case, the object owner or a System Administrator must execute defncopy to copy out definitions.
If the text has been encrypted, it may be hidden from you even if you have all the required permissions. See “Verifying and Encrypting Source Text” in the Transact-SQL User’s Guide for more information.
You must have the appropriate create permission for the type of object you are copying in. Objects copied in belong to the copier. A System Administrator copying in definitions on behalf of a user must log in as that user to give the user proper access to the reconstructed database objects.
syscomments, sysobjects
Commands – create, select
System procedures – sp_addlanguage, sp_checkreswords, sp_configure, sp_procqmode, sp_remap
Utilities – langinstall