15.10 - EXTERNAL NAME external_Java_reference_string - Teradata Database

Teradata Database SQL Data Definition Language Syntax and Examples

prodname
Teradata Database
vrm_release
15.10
created_date
December 2015
category
Programming Reference
featnum
B035-1144-151K
A string that specifies the JAR file, Java class within the JAR, and the Java method within the class to be invoked when the system executes the procedure in the following format:
     'jar_name:[package_name.]java_class_name.
      java_method_name[java_data_type]'
jar_name
The registered name of the JAR file associated with the procedure that the system creates when you call the built-in external procedure SQLJ.Install_Jar.
Thejar_name must conform to the rules for naming Teradata Database objects with unquoted names. The maximum length of jar_name is 128 UNICODE characters. For details about object name length limits, see SQL Fundamentals, B035-1141. Thejar_name can only include the following characters:
  • Uppercase or lowercase letters (A to Z and a to z)
  • Digits (0 through 9)
  • The special characters DOLLAR SIGN ($), NUMBER SIGN (#), and LOW LINE (_)
  • jar_name must not begin with a digit.
  • jar_name must not be a reserved word.
Additionally, jar_name cannot be a name that is reserved for JAR files that are part of the Teradata installation, where the restriction applies to any combination of uppercase and lowercase letters:
  • javFnc
  • terajdbc4
  • tdgssjava
  • tdgssconfig
See SQL External Routine Programming, B035-1147 for a list of the Java data types that you can specify in the External Java Reference String for a Java external SQL procedure.
package_name
The name and path of an external method package.
This specification is required only if the Java class and method you specify are contained in an external package.
java_class_name
The name of the Java class contained within the JAR identified by jar_name that contains the Java method to execute for this procedure.
If the Java class and method are contained in an external package, you must fully qualify java_class_name with the appropriate package name and path.
java_method_name
The name of the Java method that is performed when this procedure executes.
java_data_type
A string of one or more Java data types separated by a COMMA character and enclosed by LEFT PARENTHESIS and RIGHT PARENTHESIS characters.
The Java data type list provides a means of specifying the signature of a particular implementation of a Java method.
You must specify a Java data type list whenever the system must choose a particular overloaded implementation of the Java method.
A Java data type can be either simple or object-mapped according to the parameter mapping rules described in the topic “Data Type Mapping Between SQL and Java” in the chapter, CREATE PROCEDURE and REPLACE PROCEDURE (External Form), of SQL Data Definition Language - Detailed Topics, B035-1184.
The java_data_type names are case sensitive.
jar_name and java_class_name must be separated by a COLON character, while java_class_name and java_method_name are separated by a FULL STOP character.
For example, if you have a JAR file that is registered in the database with the name salesreports, the class contained within the JAR is named formal, and the method to be called within the class is named monthend, the complete definition for the exact method the system is to invoke when this procedure is executed is the following external Java reference string.
     salesreports:formal.monthend