Development: SQL

Connection Strings

Omnidex uses connection strings to connect to Omnidex Environment Files. A connection string is a universal syntax that describes the location, network information, security and options for connecting to the environment file. Connection strings are used throughout the Omnidex product, including ODBC, JDBC, Omnidex Grids, and the Omnidex SQL Engine.

Syntax

The full syntax of the Omnidex connection string is shown below. It is rare that all portions are needed, though. Any portion of the connection string are optional and can be omitted and replaced with the default settings as long as enough information remains to support the connection.

user/password@ [ host : port : pool ] filename [ node ] &options

Discussion

Parameters

user

The user to be used when accessing an underlying relational database. Security can be provided in the connection string or can be recorded directly in the CREATE_DATABASE statement. A user and password is not needed for raw data files.

password

The password to be used when accessing an underlying relational database. Security can be provided in the connection string or can be recorded directly in the CREATE_DATABASE statement. A user and password is not needed for raw data files.

host

The name of the host where the Omnidex Environment File is located. If omitted, host defaults to “localhost”. Note that Omnidex Network Services must be running on that host to receive the connection.

port

The port number used to connect to host. If omitted, port defaults to 7555. Note that Omnidex Network Services must be running on that host to receive the connection.

pool

The name of an Omnidex Connection Pool to be used when connecting to this environment. If omitted, then this will not be a pooled connection. Note that Omnidex Network Services must be running on that host to receive the connection.

filename

The filename for the Omnidex Environment File. This filename can be fully qualified; otherwise, it is treated as a relative filename, relative to the current working directory of where Omnidex Network Services was launched. Filename can only be omitted if Omnidex Connection Pools are used, in which case the filename is registered as part of configuring the connection pool.

node

The Grid Node within an Omnidex Grid to connect to. Normally, connections to the Environment File for an Omnidex Grid provide access to the entire grid. Specifying the node allows a connection directly to a Grid Node. If omitted, then the connection is to the entire Omnidex Grid.

options

The options to be used when connecting to the Omnidex Environment File. The allowed options are documented as part of the SQL CONNECT statement.

Using Environment Variables and Shell Commands

Omnidex supports environment variables and shell commands to be used in many places within the product. Omnidex also allows environment variables to replace any or all of the components of a connection string. The syntax used in connection strings is more unique that the general syntax. This is because of the need to differentiate whether the environment variable resides on the client or the server.

The syntax for referencing an environment variable on the local host is {$VARIABLE}, where VARIABLE is the name of the environment variable. The syntax for referencing an environment variable on the remote host is {$$VARIABLE}. The entire connection string could be replaced with environment variables using the following syntax. Note that any variable name can be used.

Omnidex also allows shell commands to be used in place of environment variables. Shell commands can be used to allow an external process to produce the value, rather than relying on an environment variable. The syntax for referencing a shell command on the local server is {$(command)}, where command is the shell command. The syntax for referencing a shell command on the remote server is {$$(command)}. Note that if the shell command contains spaces or punctuation marks, it should be enclosed in quotation marks.

Whether using environment variables or shell commands, the host, port and pool parameters can only reference the local server. This is required since the connect to the remote server cannot be made without this information from the local server.

Examples

Connection to local environment file

This connection string connects to an environment file on the local machine. Because of the absence of bracketed network information, this connection will not require Omnidex Network Services.

c:\class\simple.xml

This same environment file could be accessed with a relative filename as long as the process' current working directory was c:\class:

simple.xml
Connection to a local environment with relational database security

This connection string connects to an environment file on the local machine passing a user and password to be sent to the underlying relational database:

myuser/mypassword@simple.xml
Connection to a remote environment file

This connection string connects to an environment file on a remote machine name 'server1':

[server1:7555]c:\class\simple.xml
Connection to a remote environment file with relational database security

This connection string connects to an environment file on a remote machine name 'server1' passing a user and password to be sent to the underlying relational database:

myuser/mypassword@[server1:7555]c:\class\simple.xml
Connection to a remote Omnidex Connection Pool

This connection string connects to a remote Omnidex Connection Pool named 'simple' on a remote machine named 'server1'. Note that the filename is omitted since it is contained in the definition of the Omnidex Connection Pool.

[server1:7555:simple]
Connection to a remote environment with options

This connection string connects to an environment file on a remote machine named 'server1' using read-only options.

[server1:7555]c:\class\simple.xml&read
Connection to a remote environment with environment variables

This connection string connects to an environment file using local environment variables for the host and port, and using a remote environment variable for the filename.

[{$HOST}:{$PORT}]{$$ENVIRONMENT_FILENAME}
Connection to a remote environment with shell commands

This connection string connects to an environment file using a local Windows shell command for the host and port, and using a remote UNIX shell command for the filename. Note that quotation marks are required because the shell command contains spaces.

[{$(host.bat)}:{$(port.bat)}]"{$$(cat filename.txt)}"

Additional Resources

See also:

 
Back to top
dev/connections/home.txt · Last modified: 2016/06/28 22:38 (external edit)
 
 
chimeric.de = chi`s home Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0