Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
dev:connections:home [2011/01/20 18:57]
els
dev:connections:home [2016/06/28 22:38] (current)
Line 6: Line 6:
 ===== Connection Strings ===== ===== 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 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.+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.
  
  
Line 13: Line 13:
 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.  ​ 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.  ​
  
-  [ host : port : pool ] filename [ node ] &​options+  ​user/​password@ ​[ host : port : pool ] filename [ node ] &​options
  
  
 ==== Discussion ==== ==== 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 [[dev:​sql:​statements:​create_database|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 [[dev:​sql:​statements:​create_database|CREATE_DATABASE]] statement. ​ A user and password is not needed for raw data files.
  
 == host == == host ==
Line 43: Line 52:
 The options to be used when connecting to the Omnidex Environment File.  The allowed options are documented as part of the SQL [[dev:​sql:​statements:​connect:​home|CONNECT]] statement. The options to be used when connecting to the Omnidex Environment File.  The allowed options are documented as part of the SQL [[dev:​sql:​statements:​connect:​home|CONNECT]] statement.
  
-== Using Environment Variables ==+=== Using Environment Variables ​and Shell Commands ===
  
-Omnidex allows environment variables to replace any or all of the components of a connection string. ​ The syntax ​for referencing an environment variable on the remote host is {$VARIABLE},​ where VARIABLE is the name of the environment variable.  The syntax for referencing an environment variable ​on the local 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 ​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 [[appendix:​reference:​envvar:​home|general syntax]]. ​ This is because ​of the need to differentiate whether ​the environment variable ​resides ​on the client or the server.
  
-Environment variables on the remote host.  Note that that host, port and pool can only reference variables ​on the local host since that is required for communicating with the remote host: +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.
- +
-  [ {$$HOST: {$$PORT} : {$$POOL} ] {$FILENAME} [ {$NODE} ] &​{$OPTIONS} +
- +
-Environment variables on the local host: +
- +
-  [ {$$HOST} : {$$PORT} : {$$POOL} ] {$$FILENAME} [ {$$NODE} ] &​{$$OPTIONS} +
- +
-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 remote ​server ​is {$(command)}, where command is the shell command.  The syntax ​for referencing a shell command on the local server is {$$(command)}. +
- +
-Shell commands on the remote UNIX host from a local Windows client.  Note that that host, port and pool can only reference shell commands on the local host since that is required for communicating with the remote host: +
- +
-  [ {$$(type host.txt)} : {$$(type host.txt)} : {$$(type pool.txt)} ] {$(cat filename.txt)} [ {$(cat node.txt)} ] &{$(cat options.txt)} +
- +
-Shell commands on the remote host: +
- +
-  [ {$$(cat host.txt)} : {$$(cat host.txt)} : {$$(cat pool.txt)} ] {$(cat filename.txt)} [ {$(cat node.txt)} ] &{$(cat options.txt)}+
  
 +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 ==== ==== Examples ====
Line 71: Line 66:
 == Connection to local environment file == == Connection to local environment file ==
  
-This connection string connects to environment file on the local machine. ​ Because of the absence of bracketed network information,​ this connection will not require Omnidex Network Services.  ​+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   c:​\class\simple.xml
Line 79: Line 74:
   simple.xml   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 == == Connection to a remote environment file ==
Line 85: Line 86:
  
   [server1:​7555]c:​\class\simple.xml   [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 == == Connection to a remote Omnidex Connection Pool ==
Line 97: Line 104:
  
   [server1:​7555]c:​\class\simple.xml&​read   [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)}"​
  
  
 
Back to top
dev/connections/home.1295549833.txt.gz · Last modified: 2016/06/28 22:38 (external edit)