blob: 6af942460f267ea71b0483d39875a4ff0fdf7d81 [file] [log] [blame]
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=edge"><![endif]-->
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="generator" content="Asciidoctor 1.5.4">
<title>Client Installation Guide</title>
<style>
/**
* @@@ START COPYRIGHT @@@
*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*
* @@@ END COPYRIGHT @@@
*/
/* Asciidoctor default stylesheet | MIT License | http://asciidoctor.org */
/* Remove the comments around the @import statement below when using this as a custom stylesheet */
/*@import "https://fonts.googleapis.com/css?family=Open+Sans:300,300italic,400,400italic,600,600italic%7CNoto+Serif:400,400italic,700,700italic%7CDroid+Sans+Mono:400";*/
article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}
audio,canvas,video{display:inline-block}
audio:not([controls]){display:none;height:0}
[hidden],template{display:none}
script{display:none!important}
html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}
body{margin:0}
a{background:transparent}
a:focus{outline:thin dotted}
a:active,a:hover{outline:0}
h1{font-size:2em;margin:.67em 0}
abbr[title]{border-bottom:1px dotted}
b,strong{font-weight:bold}
dfn{font-style:italic}
hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}
mark{background:#ff0;color:#000}
code,kbd,pre,samp{font-family:monospace;font-size:1em}
pre{white-space:pre-wrap}
q{quotes:"\201C" "\201D" "\2018" "\2019"}
small{font-size:80%}
sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}
sup{top:-.5em}
sub{bottom:-.25em}
img{border:0}
svg:not(:root){overflow:hidden}
figure{margin:0}
fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}
legend{border:0;padding:0}
button,input,select,textarea{font-family:inherit;font-size:100%;margin:0}
button,input{line-height:normal}
button,select{text-transform:none}
button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}
button[disabled],html input[disabled]{cursor:default}
input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0}
input[type="search"]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}
input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}
button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}
textarea{overflow:auto;vertical-align:top}
table{border-collapse:collapse;border-spacing:0}
*,*:before,*:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}
html,body{font-size:100%}
body{background:#fff;color:rgba(0,0,0,.8);padding:0;margin:0;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif,serif;font-weight:400;font-style:normal;line-height:1;position:relative;cursor:auto}
a:hover{cursor:pointer}
img,object,embed{max-width:100%;height:auto}
object,embed{height:100%}
img{-ms-interpolation-mode:bicubic}
#map_canvas img,#map_canvas embed,#map_canvas object,.map_canvas img,.map_canvas embed,.map_canvas object{max-width:none!important}
.left{float:left!important}
.right{float:right!important}
.text-left{text-align:left!important}
.text-right{text-align:right!important}
.text-center{text-align:center!important}
.text-justify{text-align:justify!important}
.hide{display:none}
.antialiased,body{-webkit-font-smoothing:antialiased}
img{display:inline-block;vertical-align:middle}
textarea{height:auto;min-height:50px}
select{width:100%}
p.lead,.paragraph.lead>p,#preamble>.sectionbody>.paragraph:first-of-type p{font-size:1.21875em;line-height:1.6}
.subheader,.admonitionblock td.content>.title,.audioblock>.title,.exampleblock>.title,.imageblock>.title,.listingblock>.title,.literalblock>.title,.stemblock>.title,.openblock>.title,.paragraph>.title,.quoteblock>.title,table.tableblock>.title,.verseblock>.title,.videoblock>.title,.dlist>.title,.olist>.title,.ulist>.title,.qlist>.title,.hdlist>.title{line-height:1.45;color:#3188ac;font-weight:400;margin-top:0;margin-bottom:.25em}
div,dl,dt,dd,ul,ol,li,h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6,pre,form,p,blockquote,th,td{margin:0;padding:0;direction:ltr}
a{color:#2156a5;text-decoration:underline;line-height:inherit}
a:hover,a:focus{color:#1d4b8f}
a img{border:none}
p{font-family:inherit;font-weight:400;font-size:1em;line-height:1.6;margin-bottom:1.25em;text-rendering:optimizeLegibility}
p aside{font-size:.875em;line-height:1.35;font-style:italic}
/* Defines headings */
h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:bold;font-style:normal;color:#3188ac;text-rendering:optimizeLegibility;margin-top:1em;margin-bottom:.5em;line-height:1.0125em}
h1 small,h2 small,h3 small,#toctitle small,.sidebarblock>.content>.title small,h4 small,h5 small,h6 small{font-size:60%;color:#e99b8f;line-height:0}
h1{font-size:2.125em}
h2{font-size:1.6875em}
h3,#toctitle,.sidebarblock>.content>.title{font-size:1.375em}
h4,h5{font-size:1.125em}
h6{font-size:1em}
hr{border:solid #ddddd8;border-width:1px 0 0;clear:both;margin:1.25em 0 1.1875em;height:0}
em,i{font-style:italic;line-height:inherit}
strong,b{font-weight:bold;line-height:inherit}
small{font-size:60%;line-height:inherit}
/* Defines the `text` (passthru) format */
code{font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;font-weight:bold;color:#3188ac}
ul,ol,dl{font-size:1em;line-height:1.6;margin-bottom:1.25em;list-style-position:outside;font-family:inherit}
ul,ol,ul.no-bullet,ol.no-bullet{margin-left:1.5em}
ul li ul,ul li ol{margin-left:1.25em;margin-bottom:0;font-size:1em}
ul.square li ul,ul.circle li ul,ul.disc li ul{list-style:inherit}
ul.square{list-style-type:square}
ul.circle{list-style-type:circle}
ul.disc{list-style-type:disc}
ul.no-bullet{list-style:none}
ol li ul,ol li ol{margin-left:1.25em;margin-bottom:0}
dl dt{margin-bottom:.3125em;font-weight:bold}
dl dd{margin-bottom:1.25em}
abbr,acronym{text-transform:uppercase;font-size:90%;color:rgba(0,0,0,.8);border-bottom:1px dotted #ddd;cursor:help}
abbr{text-transform:none}
blockquote{margin:0 0 1.25em;padding:.5625em 1.25em 0 1.1875em;border-left:1px solid #ddd}
blockquote cite{display:block;font-size:.9375em;color:rgba(0,0,0,.6)}
blockquote cite:before{content:"\2014 \0020"}
blockquote cite a,blockquote cite a:visited{color:rgba(0,0,0,.6)}
blockquote,blockquote p{line-height:1.6;color:rgba(0,0,0,.85)}
@media only screen and (min-width:768px){h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{line-height:1.2}
h1{font-size:2.75em}
h2{font-size:2.3125em}
h3,#toctitle,.sidebarblock>.content>.title{font-size:1.6875em}
h4{font-size:1.4375em}}table{background:#fff;margin-bottom:1.25em;border:solid 1px #dedede}
table thead,table tfoot{background:#f7f8f7;font-weight:bold}
table thead tr th,table thead tr td,table tfoot tr th,table tfoot tr td{padding:.5em .625em .625em;font-size:inherit;color:rgba(0,0,0,.8);text-align:left}
table tr th,table tr td{padding:.5625em .625em;font-size:inherit;color:rgba(0,0,0,.8)}
table tr.even,table tr.alt,table tr:nth-of-type(even){background:#f8f8f7}
table thead tr th,table tfoot tr th,table tbody tr td,table tr td,table tfoot tr td{display:table-cell;line-height:1.6}
h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{line-height:1.2;word-spacing:-.05em}
h1 strong,h2 strong,h3 strong,#toctitle strong,.sidebarblock>.content>.title strong,h4 strong,h5 strong,h6 strong{font-weight:400}
.clearfix:before,.clearfix:after,.float-group:before,.float-group:after{content:" ";display:table}
.clearfix:after,.float-group:after{clear:both}
*:not(pre)>code{font-size:1.0em;font-style:normal!important;letter-spacing:0;padding:.1em .5ex;word-spacing:-.15em;-webkit-border-radius:4px;border-radius:4px;line-height:1.45;text-rendering:optimizeSpeed}
/**:not(pre)>code{font-size:.9375em;font-style:normal!important;letter-spacing:0;padding:.1em .5ex;word-spacing:-.15em;background-color:#f7f7f8;-webkit-border-radius:4px;border-radius:4px;line-height:1.45;text-rendering:optimizeSpeed}*/
pre,pre>code{line-height:1.45;color:rgba(0,0,0,.9);font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;font-weight:400;text-rendering:optimizeSpeed}
.keyseq{color:rgba(51,51,51,.8)}
kbd{display:inline-block;color:rgba(0,0,0,.8);font-size:.75em;line-height:1.4;background-color:#f7f7f7;border:1px solid #ccc;-webkit-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 1px 0 rgba(0,0,0,.2),0 0 0 .1em white inset;box-shadow:0 1px 0 rgba(0,0,0,.2),0 0 0 .1em #fff inset;margin:-.15em .15em 0 .15em;padding:.2em .6em .2em .5em;vertical-align:middle;white-space:nowrap}
.keyseq kbd:first-child{margin-left:0}
.keyseq kbd:last-child{margin-right:0}
.menuseq,.menu{color:rgba(0,0,0,.8)}
b.button:before,b.button:after{position:relative;top:-1px;font-weight:400}
b.button:before{content:"[";padding:0 3px 0 2px}
b.button:after{content:"]";padding:0 2px 0 3px}
p a>code:hover{color:rgba(0,0,0,.9)}
#header,#content,#footnotes,#footer{width:100%;margin-left:auto;margin-right:auto;margin-top:0;margin-bottom:0;max-width:62.5em;*zoom:1;position:relative;padding-left:.9375em;padding-right:.9375em}
#header:before,#header:after,#content:before,#content:after,#footnotes:before,#footnotes:after,#footer:before,#footer:after{content:" ";display:table}
#header:after,#content:after,#footnotes:after,#footer:after{clear:both}
#content{margin-top:1.25em}
#content:before{content:none}
/* #header>h1:first-child{color:rgba(0,0,0,.85);margin-top:2.25rem;margin-bottom:0} */
#header>h1:first-child{color:#3188ac;margin-top:2.25rem;margin-bottom:0}
#header>h1:first-child+#toc{margin-top:8px;border-top:1px solid #ddddd8}
#header>h1:only-child,body.toc2 #header>h1:nth-last-child(2){border-bottom:1px solid #ddddd8;padding-bottom:8px}
#header .details{border-bottom:1px solid #ddddd8;line-height:1.45;padding-top:.25em;padding-bottom:.25em;padding-left:.25em;color:rgba(0,0,0,.6);display:-ms-flexbox;display:-webkit-flex;display:flex;-ms-flex-flow:row wrap;-webkit-flex-flow:row wrap;flex-flow:row wrap}
#header .details span:first-child{margin-left:-.125em}
#header .details span.email a{color:rgba(0,0,0,.85)}
#header .details br{display:none}
#header .details br+span:before{content:"\00a0\2013\00a0"}
#header .details br+span.author:before{content:"\00a0\22c5\00a0";color:rgba(0,0,0,.85)}
#header .details br+span#revremark:before{content:"\00a0|\00a0"}
#header #revnumber{text-transform:capitalize}
#header #revnumber:after{content:"\00a0"}
#content>h1:first-child:not([class]){color:rgba(0,0,0,.85);border-bottom:1px solid #ddddd8;padding-bottom:8px;margin-top:0;padding-top:1rem;margin-bottom:1.25rem}
#toc{border-bottom:1px solid #efefed;padding-bottom:.5em}
#toc>ul{margin-left:.125em}
#toc ul.sectlevel0>li>a{font-style:italic}
#toc ul.sectlevel0 ul.sectlevel1{margin:.5em 0}
#toc ul{font-family:"Open Sans","DejaVu Sans",sans-serif;list-style-type:none}
#toc a{text-decoration:none}
#toc a:active{text-decoration:underline}
#toctitle{color:#3188ac;font-size:1.2em}
@media only screen and (min-width:768px){#toctitle{font-size:1.375em}
body.toc2{padding-left:15em;padding-right:0}
#toc.toc2{margin-top:0!important;background-color:#f8f8f7;position:fixed;width:15em;left:0;top:0;border-right:1px solid #efefed;border-top-width:0!important;border-bottom-width:0!important;z-index:1000;padding:1.25em 1em;height:100%;overflow:auto}
#toc.toc2 #toctitle{margin-top:0;font-size:1.2em}
#toc.toc2>ul{font-size:.9em;margin-bottom:0}
#toc.toc2 ul ul{margin-left:0;padding-left:1em}
#toc.toc2 ul.sectlevel0 ul.sectlevel1{padding-left:0;margin-top:.5em;margin-bottom:.5em}
body.toc2.toc-right{padding-left:0;padding-right:15em}
body.toc2.toc-right #toc.toc2{border-right-width:0;border-left:1px solid #efefed;left:auto;right:0}}@media only screen and (min-width:1280px){body.toc2{padding-left:20em;padding-right:0}
/* Controls width of panel */
#toc.toc2{width:20em}
#toc.toc2 #toctitle{font-size:1.375em}
#toc.toc2>ul{font-size:.95em}
#toc.toc2 ul ul{padding-left:1.25em}
body.toc2.toc-right{padding-left:0;padding-right:20em}}#content #toc{border-style:solid;border-width:1px;border-color:#e0e0dc;margin-bottom:1.25em;padding:1.25em;background:#f8f8f7;-webkit-border-radius:4px;border-radius:4px}
#content #toc>:first-child{margin-top:0}
#content #toc>:last-child{margin-bottom:0}
#footer{max-width:100%;background-color:rgba(0,0,0,.8);padding:1.25em}
#footer-text,#footer_nav{color:rgba(255,255,255,.8);line-height:1.44}
#footer a{color: #990000}
.sect1{padding-bottom:.625em}
@media only screen and (min-width:768px){.sect1{padding-bottom:1.25em}}.sect1+.sect1{border-top:1px solid #efefed}
#content h1>a.anchor,h2>a.anchor,h3>a.anchor,#toctitle>a.anchor,.sidebarblock>.content>.title>a.anchor,h4>a.anchor,h5>a.anchor,h6>a.anchor{position:absolute;z-index:1001;width:1.5ex;margin-left:-1.5ex;display:block;text-decoration:none!important;visibility:hidden;text-align:center;font-weight:400}
#content h1>a.anchor:before,h2>a.anchor:before,h3>a.anchor:before,#toctitle>a.anchor:before,.sidebarblock>.content>.title>a.anchor:before,h4>a.anchor:before,h5>a.anchor:before,h6>a.anchor:before{content:"\00A7";font-size:.85em;display:block;padding-top:.1em}
#content h1:hover>a.anchor,#content h1>a.anchor:hover,h2:hover>a.anchor,h2>a.anchor:hover,h3:hover>a.anchor,#toctitle:hover>a.anchor,.sidebarblock>.content>.title:hover>a.anchor,h3>a.anchor:hover,#toctitle>a.anchor:hover,.sidebarblock>.content>.title>a.anchor:hover,h4:hover>a.anchor,h4>a.anchor:hover,h5:hover>a.anchor,h5>a.anchor:hover,h6:hover>a.anchor,h6>a.anchor:hover{visibility:visible}
#content h1>a.link,h2>a.link,h3>a.link,#toctitle>a.link,.sidebarblock>.content>.title>a.link,h4>a.link,h5>a.link,h6>a.link{color:#990000;text-decoration:none}
#content h1>a.link:hover,h2>a.link:hover,h3>a.link:hover,#toctitle>a.link:hover,.sidebarblock>.content>.title>a.link:hover,h4>a.link:hover,h5>a.link:hover,h6>a.link:hover{color:#a53221}
.audioblock,.imageblock,.literalblock,.listingblock,.stemblock,.videoblock{margin-bottom:1.25em}
.admonitionblock td.content>.title,.audioblock>.title,.exampleblock>.title,.imageblock>.title,.listingblock>.title,.literalblock>.title,.stemblock>.title,.openblock>.title,.paragraph>.title,.quoteblock>.title,table.tableblock>.title,.verseblock>.title,.videoblock>.title,.dlist>.title,.olist>.title,.ulist>.title,.qlist>.title,.hdlist>.title{text-rendering:optimizeLegibility;text-align:left;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif,serif;font-size:1rem;font-weight:bold}
/* Here */
table.tableblock>caption.title{white-space:nowrap;overflow:visible;max-width:0}
.paragraph.lead>p,#preamble>.sectionbody>.paragraph:first-of-type p{color:rgba(0,0,0,.85)}
table.tableblock #preamble>.sectionbody>.paragraph:first-of-type p{font-size:inherit}
.admonitionblock>table{border-collapse:separate;border:0;background:none;width:100%}
.admonitionblock>table td.icon{text-align:center;width:80px}
.admonitionblock>table td.icon img{max-width:none}
.admonitionblock>table td.icon .title{font-weight:bold;font-family:"Open Sans","DejaVu Sans",sans-serif;text-transform:uppercase}
.admonitionblock>table td.content{padding-left:1.125em;padding-right:1.25em;border-left:1px solid #ddddd8;color:rgba(0,0,0,.6)}
.admonitionblock>table td.content>:last-child>:last-child{margin-bottom:0}
.exampleblock>.content{border-style:solid;border-width:1px;border-color:#e6e6e6;margin-bottom:1.25em;padding:1.25em;background:#fff;-webkit-border-radius:4px;border-radius:4px}
.exampleblock>.content>:first-child{margin-top:0}
.exampleblock>.content>:last-child{margin-bottom:0}
.sidebarblock{border-style:solid;border-width:1px;border-color:#e0e0dc;margin-bottom:1.25em;padding:1.25em;background:#f8f8f7;-webkit-border-radius:4px;border-radius:4px}
.sidebarblock>:first-child{margin-top:0}
.sidebarblock>:last-child{margin-bottom:0}
.sidebarblock>.content>.title{color:#7a2518;margin-top:0;text-align:center}
.exampleblock>.content>:last-child>:last-child,.exampleblock>.content .olist>ol>li:last-child>:last-child,.exampleblock>.content .ulist>ul>li:last-child>:last-child,.exampleblock>.content .qlist>ol>li:last-child>:last-child,.sidebarblock>.content>:last-child>:last-child,.sidebarblock>.content .olist>ol>li:last-child>:last-child,.sidebarblock>.content .ulist>ul>li:last-child>:last-child,.sidebarblock>.content .qlist>ol>li:last-child>:last-child{margin-bottom:0}
.literalblock pre,.listingblock pre:not(.highlight),.listingblock pre[class="highlight"],.listingblock pre[class^="highlight "],.listingblock pre.CodeRay,.listingblock pre.prettyprint{background:#f7f7f8}
.sidebarblock .literalblock pre,.sidebarblock .listingblock pre:not(.highlight),.sidebarblock .listingblock pre[class="highlight"],.sidebarblock .listingblock pre[class^="highlight "],.sidebarblock .listingblock pre.CodeRay,.sidebarblock .listingblock pre.prettyprint{background:#f2f1f1}
.literalblock pre,.literalblock pre[class],.listingblock pre,.listingblock pre[class]{-webkit-border-radius:4px;border-radius:4px;word-wrap:break-word;padding:1em;font-size:.8125em}
.literalblock pre.nowrap,.literalblock pre[class].nowrap,.listingblock pre.nowrap,.listingblock pre[class].nowrap{overflow-x:auto;white-space:pre;word-wrap:normal}
@media only screen and (min-width:768px){.literalblock pre,.literalblock pre[class],.listingblock pre,.listingblock pre[class]{font-size:.90625em}}@media only screen and (min-width:1280px){.literalblock pre,.literalblock pre[class],.listingblock pre,.listingblock pre[class]{font-size:1em}}.literalblock.output pre{color:#f7f7f8;background-color:rgba(0,0,0,.9)}
.listingblock pre.highlightjs{padding:0}
.listingblock pre.highlightjs>code{padding:1em;-webkit-border-radius:4px;border-radius:4px}
.listingblock pre.prettyprint{border-width:0}
.listingblock>.content{position:relative}
.listingblock code[data-lang]:before{display:none;content:attr(data-lang);position:absolute;font-size:.75em;top:.425rem;right:.5rem;line-height:1;text-transform:uppercase;color:#999}
.listingblock:hover code[data-lang]:before{display:block}
.listingblock.terminal pre .command:before{content:attr(data-prompt);padding-right:.5em;color:#999}
.listingblock.terminal pre .command:not([data-prompt]):before{content:"$"}
table.pyhltable{border-collapse:separate;border:0;margin-bottom:0;background:none}
table.pyhltable td{vertical-align:top;padding-top:0;padding-bottom:0}
table.pyhltable td.code{padding-left:.75em;padding-right:0}
pre.pygments .lineno,table.pyhltable td:not(.code){color:#999;padding-left:0;padding-right:.5em;border-right:1px solid #ddddd8}
pre.pygments .lineno{display:inline-block;margin-right:.25em}
table.pyhltable .linenodiv{background:none!important;padding-right:0!important}
.quoteblock{margin:0 1em 1.25em 1.5em;display:table}
.quoteblock>.title{margin-left:-1.5em;margin-bottom:.75em}
.quoteblock blockquote,.quoteblock blockquote p{color:rgba(0,0,0,.85);font-size:1.15rem;line-height:1.75;word-spacing:.1em;letter-spacing:0;font-style:italic;text-align:justify}
.quoteblock blockquote{margin:0;padding:0;border:0}
.quoteblock blockquote:before{content:"\201c";float:left;font-size:2.75em;font-weight:bold;line-height:.6em;margin-left:-.6em;color:#7a2518;text-shadow:0 1px 2px rgba(0,0,0,.1)}
.quoteblock blockquote>.paragraph:last-child p{margin-bottom:0}
.quoteblock .attribution{margin-top:.5em;margin-right:.5ex;text-align:right}
.quoteblock .quoteblock{margin-left:0;margin-right:0;padding:.5em 0;border-left:3px solid rgba(0,0,0,.6)}
.quoteblock .quoteblock blockquote{padding:0 0 0 .75em}
.quoteblock .quoteblock blockquote:before{display:none}
.verseblock{margin:0 1em 1.25em 1em}
.verseblock pre{font-family:"Open Sans","DejaVu Sans",sans;font-size:1.15rem;color:rgba(0,0,0,.85);font-weight:300;text-rendering:optimizeLegibility}
.verseblock pre strong{font-weight:400}
.verseblock .attribution{margin-top:1.25rem;margin-left:.5ex}
.quoteblock .attribution,.verseblock .attribution{font-size:.9375em;line-height:1.45;font-style:italic}
.quoteblock .attribution br,.verseblock .attribution br{display:none}
.quoteblock .attribution cite,.verseblock .attribution cite{display:block;letter-spacing:-.05em;color:rgba(0,0,0,.6)}
.quoteblock.abstract{margin:0 0 1.25em 0;display:block}
.quoteblock.abstract blockquote,.quoteblock.abstract blockquote p{text-align:left;word-spacing:0}
.quoteblock.abstract blockquote:before,.quoteblock.abstract blockquote p:first-of-type:before{display:none}
table.tableblock{max-width:100%;border-collapse:separate}
table.tableblock td>.paragraph:last-child p>p:last-child,table.tableblock th>p:last-child,table.tableblock td>p:last-child{margin-bottom:0}
table.spread{width:100%}
table.tableblock,th.tableblock,td.tableblock{border:0 solid #dedede}
table.grid-all th.tableblock,table.grid-all td.tableblock{border-width:0 1px 1px 0}
table.grid-all tfoot>tr>th.tableblock,table.grid-all tfoot>tr>td.tableblock{border-width:1px 1px 0 0}
table.grid-cols th.tableblock,table.grid-cols td.tableblock{border-width:0 1px 0 0}
table.grid-all *>tr>.tableblock:last-child,table.grid-cols *>tr>.tableblock:last-child{border-right-width:0}
table.grid-rows th.tableblock,table.grid-rows td.tableblock{border-width:0 0 1px 0}
table.grid-all tbody>tr:last-child>th.tableblock,table.grid-all tbody>tr:last-child>td.tableblock,table.grid-all thead:last-child>tr>th.tableblock,table.grid-rows tbody>tr:last-child>th.tableblock,table.grid-rows tbody>tr:last-child>td.tableblock,table.grid-rows thead:last-child>tr>th.tableblock{border-bottom-width:0}
table.grid-rows tfoot>tr>th.tableblock,table.grid-rows tfoot>tr>td.tableblock{border-width:1px 0 0 0}
table.frame-all{border-width:1px}
table.frame-sides{border-width:0 1px}
table.frame-topbot{border-width:1px 0}
th.halign-left,td.halign-left{text-align:left}
th.halign-right,td.halign-right{text-align:right}
th.halign-center,td.halign-center{text-align:center}
th.valign-top,td.valign-top{vertical-align:top}
th.valign-bottom,td.valign-bottom{vertical-align:bottom}
th.valign-middle,td.valign-middle{vertical-align:middle}
table thead th,table tfoot th{font-weight:bold}
tbody tr th{display:table-cell;line-height:1.6;background:#f7f8f7}
tbody tr th,tbody tr th p,tfoot tr th,tfoot tr th p{color:rgba(0,0,0,.8);font-weight:bold}
p.tableblock>code:only-child{background:none;padding:0}
p.tableblock{font-size:1em}
td>div.verse{white-space:pre}
ol{margin-left:1.75em}
ul li ol{margin-left:1.5em}
dl dd{margin-left:1.125em}
dl dd:last-child,dl dd:last-child>:last-child{margin-bottom:0}
ol>li p,ul>li p,ul dd,ol dd,.olist .olist,.ulist .ulist,.ulist .olist,.olist .ulist{margin-bottom:.625em}
ul.unstyled,ol.unnumbered,ul.checklist,ul.none{list-style-type:none}
ul.unstyled,ol.unnumbered,ul.checklist{margin-left:.625em}
ul.checklist li>p:first-child>.fa-square-o:first-child,ul.checklist li>p:first-child>.fa-check-square-o:first-child{width:1em;font-size:.85em}
ul.checklist li>p:first-child>input[type="checkbox"]:first-child{width:1em;position:relative;top:1px}
ul.inline{margin:0 auto .625em auto;margin-left:-1.375em;margin-right:0;padding:0;list-style:none;overflow:hidden}
ul.inline>li{list-style:none;float:left;margin-left:1.375em;display:block}
ul.inline>li>*{display:block}
.unstyled dl dt{font-weight:400;font-style:normal}
ol.arabic{list-style-type:decimal}
ol.decimal{list-style-type:decimal-leading-zero}
ol.loweralpha{list-style-type:lower-alpha}
ol.upperalpha{list-style-type:upper-alpha}
ol.lowerroman{list-style-type:lower-roman}
ol.upperroman{list-style-type:upper-roman}
ol.lowergreek{list-style-type:lower-greek}
.hdlist>table,.colist>table{border:0;background:none}
.hdlist>table>tbody>tr,.colist>table>tbody>tr{background:none}
td.hdlist1{padding-right:.75em;font-weight:bold}
td.hdlist1,td.hdlist2{vertical-align:top}
.literalblock+.colist,.listingblock+.colist{margin-top:-.5em}
.colist>table tr>td:first-of-type{padding:0 .75em;line-height:1}
.colist>table tr>td:last-of-type{padding:.25em 0}
.thumb,.th{line-height:0;display:inline-block;border:solid 4px #fff;-webkit-box-shadow:0 0 0 1px #ddd;box-shadow:0 0 0 1px #ddd}
.imageblock.left,.imageblock[style*="float: left"]{margin:.25em .625em 1.25em 0}
.imageblock.right,.imageblock[style*="float: right"]{margin:.25em 0 1.25em .625em}
.imageblock>.title{margin-bottom:0}
.imageblock.thumb,.imageblock.th{border-width:6px}
.imageblock.thumb>.title,.imageblock.th>.title{padding:0 .125em}
.image.left,.image.right{margin-top:.25em;margin-bottom:.25em;display:inline-block;line-height:0}
.image.left{margin-right:.625em}
.image.right{margin-left:.625em}
a.image{text-decoration:none}
span.footnote,span.footnoteref{vertical-align:super;font-size:.875em}
span.footnote a,span.footnoteref a{text-decoration:none}
span.footnote a:active,span.footnoteref a:active{text-decoration:underline}
#footnotes{padding-top:.75em;padding-bottom:.75em;margin-bottom:.625em}
#footnotes hr{width:20%;min-width:6.25em;margin:-.25em 0 .75em 0;border-width:1px 0 0 0}
#footnotes .footnote{padding:0 .375em;line-height:1.3;font-size:.875em;margin-left:1.2em;text-indent:-1.2em;margin-bottom:.2em}
#footnotes .footnote a:first-of-type{font-weight:bold;text-decoration:none}
#footnotes .footnote:last-of-type{margin-bottom:0}
#content #footnotes{margin-top:-.625em;margin-bottom:0;padding:.75em 0}
.gist .file-data>table{border:0;background:#fff;width:100%;margin-bottom:0}
.gist .file-data>table td.line-data{width:99%}
div.unbreakable{page-break-inside:avoid}
.big{font-size:larger}
.small{font-size:smaller}
.underline{text-decoration:underline}
.overline{text-decoration:overline}
.line-through{text-decoration:line-through}
.aqua{color:#00bfbf}
.aqua-background{background-color:#00fafa}
.black{color:#000}
.black-background{background-color:#000}
.blue{color:#0000bf}
.blue-background{background-color:#0000fa}
.fuchsia{color:#bf00bf}
.fuchsia-background{background-color:#fa00fa}
.gray{color:#606060}
.gray-background{background-color:#7d7d7d}
.green{color:#006000}
.green-background{background-color:#007d00}
.lime{color:#00bf00}
.lime-background{background-color:#00fa00}
.maroon{color:#600000}
.maroon-background{background-color:#7d0000}
.navy{color:#000060}
.navy-background{background-color:#00007d}
.olive{color:#606000}
.olive-background{background-color:#7d7d00}
.purple{color:#600060}
.purple-background{background-color:#7d007d}
.red{color:#bf0000}
.red-background{background-color:#fa0000}
.silver{color:#909090}
.silver-background{background-color:#bcbcbc}
.teal{color:#006060}
.teal-background{background-color:#007d7d}
.white{color:#bfbfbf}
.white-background{background-color:#fafafa}
.yellow{color:#bfbf00}
.yellow-background{background-color:#fafa00}
span.icon>.fa{cursor:default}
.admonitionblock td.icon [class^="fa icon-"]{font-size:2.5em;text-shadow:1px 1px 2px rgba(0,0,0,.5);cursor:default}
.admonitionblock td.icon .icon-note:before{content:"\f05a";color:#19407c}
.admonitionblock td.icon .icon-tip:before{content:"\f0eb";text-shadow:1px 1px 2px rgba(155,155,0,.8);color:#111}
.admonitionblock td.icon .icon-warning:before{content:"\f071";color:#bf6900}
.admonitionblock td.icon .icon-caution:before{content:"\f06d";color:#bf3400}
.admonitionblock td.icon .icon-important:before{content:"\f06a";color:#bf0000}
.conum[data-value]{display:inline-block;color:#fff!important;background-color:rgba(0,0,0,.8);-webkit-border-radius:100px;border-radius:100px;text-align:center;font-size:.75em;width:1.67em;height:1.67em;line-height:1.67em;font-family:"Open Sans","DejaVu Sans",sans-serif;font-style:normal;font-weight:bold}
.conum[data-value] *{color:#fff!important}
.conum[data-value]+b{display:none}
.conum[data-value]:after{content:attr(data-value)}
pre .conum[data-value]{position:relative;top:-.125em}
b.conum *{color:inherit!important}
.conum:not([data-value]):empty{display:none}
h1,h2{letter-spacing:-.01em}
dt,th.tableblock,td.content{text-rendering:optimizeLegibility}
p,td.content{letter-spacing:-.01em}
p strong,td.content strong{letter-spacing:-.005em}
p,blockquote,dt,td.content{font-size:1.0625rem}
p{margin-bottom:1.25rem}
.sidebarblock p,.sidebarblock dt,.sidebarblock td.content,p.tableblock{font-size:1em}
.exampleblock>.content{background-color:#fffef7;border-color:#e0e0dc;-webkit-box-shadow:0 1px 4px #e0e0dc;box-shadow:0 1px 4px #e0e0dc}
.print-only{display:none!important}
@media print{@page{margin:1.25cm .75cm}
*{-webkit-box-shadow:none!important;box-shadow:none!important;text-shadow:none!important}
a{color:inherit!important;text-decoration:underline!important}
a.bare,a[href^="#"],a[href^="mailto:"]{text-decoration:none!important}
a[href^="http:"]:not(.bare):after,a[href^="https:"]:not(.bare):after{content:"(" attr(href) ")";display:inline-block;font-size:.875em;padding-left:.25em}
abbr[title]:after{content:" (" attr(title) ")"}
pre,blockquote,tr,img{page-break-inside:avoid}
thead{display:table-header-group}
img{max-width:100%!important}
p,blockquote,dt,td.content{font-size:1em;orphans:3;widows:3}
h2,h3,#toctitle,.sidebarblock>.content>.title{page-break-after:avoid}
#toc,.sidebarblock,.exampleblock>.content{background:none!important}
#toc{border-bottom:1px solid #ddddd8!important;padding-bottom:0!important}
.sect1{padding-bottom:0!important}
.sect1+.sect1{border:0!important}
#header>h1:first-child{margin-top:1.25rem}
body.book #header{text-align:center}
body.book #header>h1:first-child{border:0!important;margin:2.5em 0 1em 0}
body.book #header .details{border:0!important;display:block;padding:0!important}
body.book #header .details span:first-child{margin-left:0!important}
body.book #header .details br{display:block}
body.book #header .details br+span:before{content:none!important}
body.book #toc{border:0!important;text-align:left!important;padding:0!important;margin:0!important}
body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-break-before:always}
.listingblock code[data-lang]:before{display:block}
#footer{background:none!important;padding:0 .9375em}
#footer-text{color:rgba(0,0,0,.6)!important;font-size:.9em}
.hide-on-print{display:none!important}
.print-only{display:block!important}
.hide-for-print{display:none!important}
.show-for-print{display:inherit!important}}
div.paragraph.indented p {padding-left: 3em;}
div.paragraph.indented2 p {padding-left: 6em;}
div.paragraph.indented3 p {padding-left: 9em;}
</style>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.5.0/css/font-awesome.min.css">
<style>
/* Stylesheet for CodeRay to match GitHub theme | MIT License | http://foundation.zurb.com */
/*pre.CodeRay {background-color:#f7f7f8;}*/
.CodeRay .line-numbers{border-right:1px solid #d8d8d8;padding:0 0.5em 0 .25em}
.CodeRay span.line-numbers{display:inline-block;margin-right:.5em;color:rgba(0,0,0,.3)}
.CodeRay .line-numbers strong{color:rgba(0,0,0,.4)}
table.CodeRay{border-collapse:separate;border-spacing:0;margin-bottom:0;border:0;background:none}
table.CodeRay td{vertical-align: top;line-height:1.45}
table.CodeRay td.line-numbers{text-align:right}
table.CodeRay td.line-numbers>pre{padding:0;color:rgba(0,0,0,.3)}
table.CodeRay td.code{padding:0 0 0 .5em}
table.CodeRay td.code>pre{padding:0}
.CodeRay .debug{color:#fff !important;background:#000080 !important}
.CodeRay .annotation{color:#007}
.CodeRay .attribute-name{color:#000080}
.CodeRay .attribute-value{color:#700}
.CodeRay .binary{color:#509}
.CodeRay .comment{color:#998;font-style:italic}
.CodeRay .char{color:#04d}
.CodeRay .char .content{color:#04d}
.CodeRay .char .delimiter{color:#039}
.CodeRay .class{color:#458;font-weight:bold}
.CodeRay .complex{color:#a08}
.CodeRay .constant,.CodeRay .predefined-constant{color:#008080}
.CodeRay .color{color:#099}
.CodeRay .class-variable{color:#369}
.CodeRay .decorator{color:#b0b}
.CodeRay .definition{color:#099}
.CodeRay .delimiter{color:#000}
.CodeRay .doc{color:#970}
.CodeRay .doctype{color:#34b}
.CodeRay .doc-string{color:#d42}
.CodeRay .escape{color:#666}
.CodeRay .entity{color:#800}
.CodeRay .error{color:#808}
.CodeRay .exception{color:inherit}
.CodeRay .filename{color:#099}
.CodeRay .function{color:#900;font-weight:bold}
.CodeRay .global-variable{color:#008080}
.CodeRay .hex{color:#058}
.CodeRay .integer,.CodeRay .float{color:#099}
.CodeRay .include{color:#555}
.CodeRay .inline{color:#000}
.CodeRay .inline .inline{background:#ccc}
.CodeRay .inline .inline .inline{background:#bbb}
.CodeRay .inline .inline-delimiter{color:#d14}
.CodeRay .inline-delimiter{color:#d14}
.CodeRay .important{color:#555;font-weight:bold}
.CodeRay .interpreted{color:#b2b}
.CodeRay .instance-variable{color:#008080}
.CodeRay .label{color:#970}
.CodeRay .local-variable{color:#963}
.CodeRay .octal{color:#40e}
.CodeRay .predefined{color:#369}
.CodeRay .preprocessor{color:#579}
.CodeRay .pseudo-class{color:#555}
.CodeRay .directive{font-weight:bold}
.CodeRay .type{font-weight:bold}
.CodeRay .predefined-type{color:inherit}
.CodeRay .reserved,.CodeRay .keyword {color:#000;font-weight:bold}
.CodeRay .key{color:#808}
.CodeRay .key .delimiter{color:#606}
.CodeRay .key .char{color:#80f}
.CodeRay .value{color:#088}
.CodeRay .regexp .delimiter{color:#808}
.CodeRay .regexp .content{color:#808}
.CodeRay .regexp .modifier{color:#808}
.CodeRay .regexp .char{color:#d14}
.CodeRay .regexp .function{color:#404;font-weight:bold}
.CodeRay .string{color:#d20}
.CodeRay .string .string .string{background:#ffd0d0}
.CodeRay .string .content{color:#d14}
.CodeRay .string .char{color:#d14}
.CodeRay .string .delimiter{color:#d14}
.CodeRay .shell{color:#d14}
.CodeRay .shell .delimiter{color:#d14}
.CodeRay .symbol{color:#990073}
.CodeRay .symbol .content{color:#a60}
.CodeRay .symbol .delimiter{color:#630}
.CodeRay .tag{color:#008080}
.CodeRay .tag-special{color:#d70}
.CodeRay .variable{color:#036}
.CodeRay .insert{background:#afa}
.CodeRay .delete{background:#faa}
.CodeRay .change{color:#aaf;background:#007}
.CodeRay .head{color:#f8f;background:#505}
.CodeRay .insert .insert{color:#080}
.CodeRay .delete .delete{color:#800}
.CodeRay .change .change{color:#66f}
.CodeRay .head .head{color:#f4f}
</style>
</head>
<body class="book toc2 toc-left">
<div id="header">
<h1>Client Installation Guide</h1>
<div class="details">
<span id="revnumber">version 2.4.0</span>
</div>
<div id="toc" class="toc2">
<div id="toctitle">Table of Contents</div>
<ul class="sectlevel1">
<li><a href="#_about_this_document">1. About This Document</a>
<ul class="sectlevel2">
<li><a href="#_intended_audience">1.1. Intended Audience</a></li>
<li><a href="#_new_and_changed_information">1.2. New and Changed Information</a></li>
<li><a href="#_notation_conventions">1.3. Notation Conventions</a></li>
<li><a href="#_comments_encouraged">1.4. Comments Encouraged</a></li>
</ul>
</li>
<li><a href="#introduction">2. Introduction</a>
<ul class="sectlevel2">
<li><a href="#_client_summary">2.1. Client Summary</a>
<ul class="sectlevel3">
<li><a href="#_jdbc_based_clients">2.1.1. JDBC-Based Clients</a></li>
<li><a href="#_odbc_based_clients">2.1.2. ODBC-Based Clients</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="#_preparation">3. Preparation</a>
<ul class="sectlevel2">
<li><a href="#java-setup">3.1. Java Setup</a>
<ul class="sectlevel3">
<li><a href="#java-validation">3.1.1. Verify Java Version</a></li>
<li><a href="#java-install">3.1.2. Install Java</a></li>
</ul>
</li>
<li><a href="#download-client-software">3.2. Download Client Software</a>
<ul class="sectlevel3">
<li><a href="#download-windows">3.2.1. Windows Download</a></li>
<li><a href="#download-linux">3.2.2. Linux Download</a></li>
</ul>
</li>
<li><a href="#unpack-client-software">3.3. Unpack Client Software</a>
<ul class="sectlevel3">
<li><a href="#_unpack_jdbc_based_client_software">3.3.1. Unpack JDBC-Based Client Software</a></li>
<li><a href="#_unpack_odbc_based_client_software">3.3.2. Unpack ODBC-Based Client Software</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="#jdbct4">4. Install JDBC Type-4 Driver</a>
<ul class="sectlevel2">
<li><a href="#_prerequisites">4.1. Prerequisites</a></li>
<li><a href="#jdbct4-validate-install">4.2. Validate Install Directory</a></li>
<li><a href="#jdbct4-setup-env">4.3. Set Up Client Environment</a>
<ul class="sectlevel3">
<li><a href="#jdbct4-java-development">4.3.1. Java Development</a></li>
<li><a href="#_configure_applications">4.3.2. Configure Applications</a></li>
</ul>
</li>
<li><a href="#jdbct4-test-programs">4.4. Test Programs</a></li>
<li><a href="#_uninstall_jdbc_type_4_driver">4.5. Uninstall JDBC Type-4 Driver</a></li>
</ul>
</li>
<li><a href="#trafci">5. Install trafci</a>
<ul class="sectlevel2">
<li><a href="#_prerequisites_2">5.1. Prerequisites</a></li>
<li><a href="#trafci_perl_python">5.2. Install Perl or Python</a></li>
<li><a href="#trafci-verify-install">5.3. Verify Installation</a></li>
<li><a href="#trafci-run-installer">5.4. Run trafci Installer</a>
<ul class="sectlevel3">
<li><a href="#trafci-wizard-install">5.4.1. GUI Wizard Install</a></li>
<li><a href="#trafci-cmd-install">5.4.2. Command-Line Installation Steps</a></li>
</ul>
</li>
<li><a href="#_verify_installed_software_files">5.5. Verify Installed Software Files</a></li>
<li><a href="#_modify_path_variable">5.6. Modify PATH variable</a></li>
<li><a href="#_test_launching_trafci">5.7. Test Launching trafci</a>
<ul class="sectlevel3">
<li><a href="#_windows_example">5.7.1. Windows Example</a></li>
<li><a href="#_linux_example">5.7.2. Linux Example</a></li>
</ul>
</li>
<li><a href="#trafci-uninstall">5.8. Uninstall trafci</a></li>
</ul>
</li>
<li><a href="#_configure_dbvisualizer">6. Configure DBVisualizer</a>
<ul class="sectlevel2">
<li><a href="#_prerequisites_3">6.1. Prerequisites</a></li>
<li><a href="#_configuration_instructions">6.2. Configuration Instructions</a>
<ul class="sectlevel3">
<li><a href="#_register_jdbc_type_4_driver">6.2.1. Register JDBC Type-4 Driver</a></li>
<li><a href="#_create_database_connection">6.2.2. Create Database Connection</a></li>
<li><a href="#_disable_connection_validation_select_option">6.2.3. Disable Connection Validation Select Option</a></li>
<li><a href="#_connect_to_trafodion">6.2.4. Connect to Trafodion</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="#_configure_squirrel_client">7. Configure SQuirreL Client</a>
<ul class="sectlevel2">
<li><a href="#_prerequisites_4">7.1. Prerequisites</a></li>
<li><a href="#_configuration_instructions_2">7.2. Configuration Instructions</a>
<ul class="sectlevel3">
<li><a href="#_register_jdbc_type_4_driver_2">7.2.1. Register JDBC Type-4 Driver</a></li>
<li><a href="#_connect_to_trafodion_2">7.2.2. Connect to Trafodion</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="#odbc-linux-install">8. Install Linux ODBC Driver</a>
<ul class="sectlevel2">
<li><a href="#_installation_requirements">8.1. Installation Requirements</a></li>
<li><a href="#_validate_install_directory">8.2. Validate Install Directory</a></li>
<li><a href="#_install_reinstall_linux_odbc_driver">8.3. Install/Reinstall Linux ODBC Driver</a>
<ul class="sectlevel3">
<li><a href="#linux_odbc_client_env">8.3.1. Set Up Client Environment</a></li>
<li><a href="#_enable_compression">8.3.2. Enable Compression</a></li>
</ul>
</li>
<li><a href="#_use_third_party_driver_manager">8.4. Use Third-Party Driver Manager</a></li>
<li><a href="#_run_sample_program_code_connect_test_code">8.5. Run Sample Program (<code>connect_test</code>)</a></li>
<li><a href="#linux_odbc_run_basicsql">8.6. Run Sample Program (<code>basicsql</code>)</a></li>
</ul>
</li>
<li><a href="#odb-install">9. Install odb</a>
<ul class="sectlevel2">
<li><a href="#_odb_requirements">9.1. odb Requirements</a></li>
<li><a href="#odb-install-unixodbc">9.2. Install and Configure unixODBC</a>
<ul class="sectlevel3">
<li><a href="#_configure_unixodbc">9.2.1. Configure unixODBC</a></li>
<li><a href="#_configure_data_sources">9.2.2. Configure Data Sources</a></li>
</ul>
</li>
<li><a href="#odb-verify-install">9.3. Verify odb Installation</a></li>
<li><a href="#odb-uninstall">9.4. Uninstall odb</a></li>
</ul>
</li>
<li><a href="#install-windows-odbc-driver">10. Install Windows ODBC Driver</a>
<ul class="sectlevel2">
<li><a href="#_installation_requirements_2">10.1. Installation Requirements</a></li>
<li><a href="#win_odbc_install">10.2. Installation Instructions</a></li>
<li><a href="#win_odbc_setup_data_source">10.3. Set Up ODBC Data Source</a>
<ul class="sectlevel3">
<li><a href="#_enable_compression_2">10.3.1. Enable Compression</a></li>
</ul>
</li>
<li><a href="#win_odbc_run_basicsql">10.4. Run Sample Program (<code>basicsql</code>)</a></li>
<li><a href="#_reinstall_windows_odbc_driver">10.5. Reinstall Windows ODBC Driver</a></li>
<li><a href="#win_odbc_uninstall">10.6. Uninstalling Windows ODBC Driver</a></li>
</ul>
</li>
<li><a href="#_configure_tableau_client">11. Configure Tableau Client</a>
<ul class="sectlevel2">
<li><a href="#_prerequisite_software">11.1. Prerequisite Software</a></li>
<li><a href="#_tableau_datasource_configuration_tdc_file">11.2. Tableau Datasource Configuration (.tdc) File</a>
<ul class="sectlevel3">
<li><a href="#_create_tdc_file">11.2.1. Create .tdc File</a></li>
<li><a href="#_install_tdc_file">11.2.2. Install .tdc File</a></li>
</ul>
</li>
<li><a href="#_connnect_to_trafodion">11.3. Connnect to Trafodion</a></li>
</ul>
</li>
<li><a href="#_how_to">12. How To</a>
<ul class="sectlevel2">
<li><a href="#howto-setup-path">12.1. Set Up Path Variable</a>
<ul class="sectlevel3">
<li><a href="#howto-setup-path-windows">12.1.1. Set PATH Variable on Windows</a></li>
<li><a href="#howto-setup-path-linux">12.1.2. Set PATH Variable on Linux</a></li>
<li><a href="#howto-setup-path-verify">12.1.3. Verify PATH Variable</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<div id="content">
<div id="preamble">
<div class="sectionbody">
<div class="paragraph">
<p><strong>License Statement</strong></p>
</div>
<div class="paragraph">
<p>Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file
distributed with this work for additional information regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at <a href="http://www.apache.org/licenses/LICENSE-2.0" class="bare">http://www.apache.org/licenses/LICENSE-2.0</a></p>
</div>
<div class="paragraph">
<p>Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
specific language governing permissions and limitations under the License.</p>
</div>
<div style="page-break-after: always;"></div>
<div class="paragraph">
<p><strong>Acknowledgements</strong></p>
</div>
<div class="paragraph">
<p>Microsoft®, Windows®, Windows NT®, Windows® XP, and Windows Vista® are
U.S. registered trademarks of Microsoft Corporation. Intel® and Intel®
Itanium® are trademarks of Intel Corporation in the U.S. and other
countries. Java® is a registered trademark of Oracle and/or its
affiliates. Motif, OSF/1, UNIX®, X/Open®, and the X device is a
trademark of X/Open Company Ltd. in the UK and other countries.</p>
</div>
<div class="paragraph">
<p>OSF, OSF/1, OSF/Motif, Motif, and Open Software Foundation are trademarks of
the Open Software Foundation in the U.S. and other countries.
© 1990, 1991, 1992, 1993 Open Software Foundation, Inc.</p>
</div>
<div class="paragraph">
<p>The OSF documentation and the OSF software to which it relates are derived in
part from materials supplied by the following: © 1987, 1988, 1989
Carnegie-Mellon University. © 1989, 1990, 1991 Digital Equipment
Corporation. © 1985, 1988, 1989, 1990 Encore Computer Corporation. © 1988 Free
Software Foundation, Inc. © 1987, 1988, 1989, 1990, 1991 Hewlett-Packard
Company. © 1985, 1987, 1988, 1989, 1990, 1991, 1992 International
Business Machines Corporation. © 1988, 1989 Massachusetts Institute of
Technology. © 1988, 1989, 1990 Mentat Inc. © 1988 Microsoft Corporation.
© 1987, 1988, 1989, 1990, 1991,
1992 SecureWare, Inc. © 1990, 1991 Siemens Nixdorf Informations systeme
AG. © 1986, 1989, 1996, 1997 Sun Microsystems, Inc. © 1989, 1990, 1991
Transarc Corporation.</p>
</div>
<div class="paragraph">
<p>OSF software and documentation are based in part
on the Fourth Berkeley Software Distribution under license from The
Regents of the University of California. OSF acknowledges the following
individuals and institutions for their role in its development: Kenneth
C.R.C. Arnold, Gregory S. Couch, Conrad C. Huang, Ed James, Symmetric
Computer Systems, Robert Elz. © 1980, 1981, 1982, 1983, 1985, 1986,
1987, 1988, 1989 Regents of the University of California. OSF MAKES NO
WARRANTY OF ANY KIND WITH REGARD TO THE OSF MATERIAL PROVIDED HEREIN,
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS FOR A PARTICULAR PURPOSE. OSF shall not be liable for errors
contained herein or for incidental consequential damages in connection
with the furnishing, performance, or use of this material.</p>
</div>
<div style="page-break-after: always;"></div>
<div class="paragraph">
<p><strong>Revision History</strong></p>
</div>
<table class="tableblock frame-all grid-all spread">
<colgroup>
<col style="width: 50%;">
<col style="width: 50%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">Version</th>
<th class="tableblock halign-left valign-top">Date</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">2.2.0</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">TBD</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">2.1.0</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">May 1, 2017</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">2.0.1</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">July 7, 2016</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">2.0.0</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">June 6, 2016</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">1.3.0</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">January, 2016</p></td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="sect1">
<h2 id="_about_this_document">1. About This Document</h2>
<div class="sectionbody">
<div class="paragraph">
<p>This manual describes how to install and configure client applications that enable you to connect to and use a Trafodion database.</p>
</div>
<div class="sect2">
<h3 id="_intended_audience">1.1. Intended Audience</h3>
<div class="paragraph">
<p>This manual is intended for users who want to connect to and use a Trafodion database.</p>
</div>
</div>
<div class="sect2">
<h3 id="_new_and_changed_information">1.2. New and Changed Information</h3>
<div class="paragraph">
<p>This manual shows updated versions for Trafodion Release 2.4.0.</p>
</div>
</div>
<div class="sect2">
<h3 id="_notation_conventions">1.3. Notation Conventions</h3>
<div class="paragraph">
<p>This list summarizes the notation conventions for syntax presentation in this manual.</p>
</div>
<div class="ulist">
<ul>
<li>
<p>UPPERCASE LETTERS</p>
<div class="paragraph">
<p>Uppercase letters indicate keywords and reserved words. Type these items exactly as shown. Items not enclosed in brackets are required.</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="CodeRay highlight"><code data-lang="text">SELECT</code></pre>
</div>
</div>
</li>
<li>
<p>lowercase letters</p>
<div class="paragraph">
<p>Lowercase letters, regardless of font, indicate variable items that you supply. Items not enclosed in brackets are required.</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="CodeRay highlight"><code data-lang="text">file-name</code></pre>
</div>
</div>
</li>
</ul>
</div>
<div style="page-break-after: always;"></div>
<div class="ulist">
<ul>
<li>
<p>&#91; &#93; Brackets</p>
<div class="paragraph">
<p>Brackets enclose optional syntax items.</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="CodeRay highlight"><code data-lang="text">DATETIME [start-field TO] end-field</code></pre>
</div>
</div>
<div class="paragraph">
<p>A group of items enclosed in brackets is a list from which you can choose one item or none.</p>
</div>
<div class="paragraph">
<p>The items in the list can be arranged either vertically, with aligned brackets on each side of the list, or horizontally, enclosed in a pair of brackets and separated by vertical lines.</p>
</div>
<div class="paragraph">
<p>For example:</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="CodeRay highlight"><code data-lang="text">DROP SCHEMA schema [CASCADE]
DROP SCHEMA schema [ CASCADE | RESTRICT ]</code></pre>
</div>
</div>
</li>
<li>
<p>{ } Braces</p>
<div class="paragraph">
<p>Braces enclose required syntax items.</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="CodeRay highlight"><code data-lang="text">FROM { grantee [, grantee ] ... }</code></pre>
</div>
</div>
<div class="paragraph">
<p>A group of items enclosed in braces is a list from which you are required to choose one item.</p>
</div>
<div class="paragraph">
<p>The items in the list can be arranged either vertically, with aligned braces on each side of the list, or horizontally, enclosed in a pair of braces and separated by vertical lines.</p>
</div>
<div class="paragraph">
<p>For example:</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="CodeRay highlight"><code data-lang="text">INTERVAL { start-field TO end-field }
{ single-field }
INTERVAL { start-field TO end-field | single-field }</code></pre>
</div>
</div>
</li>
<li>
<p>| Vertical Line</p>
<div class="paragraph">
<p>A vertical line separates alternatives in a horizontal list that is enclosed in brackets or braces.</p>
</div>
</li>
</ul>
</div>
<div class="listingblock">
<div class="content">
<pre class="CodeRay highlight"><code data-lang="text">{expression | NULL}</code></pre>
</div>
</div>
<div style="page-break-after: always;"></div>
<div class="ulist">
<ul>
<li>
<p>&#8230; Ellipsis</p>
<div class="paragraph">
<p>An ellipsis immediately following a pair of brackets or braces indicates that you can repeat the enclosed sequence of syntax items any number of times.</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="CodeRay highlight"><code data-lang="text">ATTRIBUTE[S] attribute [, attribute] ...
{, sql-expression } ...</code></pre>
</div>
</div>
<div class="paragraph">
<p>An ellipsis immediately following a single syntax item indicates that you can repeat that syntax item any number of times.</p>
</div>
<div class="paragraph">
<p>For example:</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="CodeRay highlight"><code data-lang="text">expression-n ...</code></pre>
</div>
</div>
</li>
<li>
<p>Punctuation</p>
<div class="paragraph">
<p>Parentheses, commas, semicolons, and other symbols not previously described must be typed as shown.</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="CodeRay highlight"><code data-lang="text">DAY (datetime-expression)
@script-file</code></pre>
</div>
</div>
<div class="paragraph">
<p>Quotation marks around a symbol such as a bracket or brace indicate the symbol is a required character that you must type as shown.</p>
</div>
<div class="paragraph">
<p>For example:</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="CodeRay highlight"><code data-lang="text">&quot;{&quot; module-name [, module-name] ... &quot;}&quot;</code></pre>
</div>
</div>
</li>
</ul>
</div>
<div style="page-break-after: always;"></div>
<div class="ulist">
<ul>
<li>
<p>Item Spacing</p>
<div class="paragraph">
<p>Spaces shown between items are required unless one of the items is a punctuation symbol such as a parenthesis or a comma.</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="CodeRay highlight"><code data-lang="text">DAY (datetime-expression) DAY(datetime-expression)</code></pre>
</div>
</div>
<div class="paragraph">
<p>If there is no space between two items, spaces are not permitted. In this example, no spaces are permitted between the period and any other items:</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="CodeRay highlight"><code data-lang="text">myfile.sh</code></pre>
</div>
</div>
</li>
<li>
<p>Line Spacing</p>
<div class="paragraph">
<p>If the syntax of a command is too long to fit on a single line, each continuation line is indented three spaces and is separated from the preceding line by a blank line.</p>
</div>
<div class="paragraph">
<p>This spacing distinguishes items in a continuation line from items in a vertical list of selections.</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="CodeRay highlight"><code data-lang="text">match-value [NOT] LIKE _pattern
[ESCAPE esc-char-expression]</code></pre>
</div>
</div>
</li>
</ul>
</div>
</div>
<div class="sect2">
<h3 id="_comments_encouraged">1.4. Comments Encouraged</h3>
<div class="paragraph">
<p>We encourage your comments concerning this document. We are committed to providing documentation that meets your
needs. Send any errors found, suggestions for improvement, or compliments to <a href="mailto:user@trafodion.apache.org">user@trafodion.apache.org</a>.</p>
</div>
<div class="paragraph">
<p>Include the document title and any comment, error found, or suggestion for improvement you have concerning this document.</p>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="introduction">2. Introduction</h2>
<div class="sectionbody">
<div class="paragraph">
<p>This manual describes how to install and configure the following client applications, which enable you to connect to and use a Trafodion
database.</p>
</div>
<div class="sect2">
<h3 id="_client_summary">2.1. Client Summary</h3>
<div class="sect3">
<h4 id="_jdbc_based_clients">2.1.1. JDBC-Based Clients</h4>
<div class="paragraph">
<p>The following table lists JDBC-based clients supported by Trafodion.</p>
</div>
<table class="tableblock frame-all grid-all spread">
<colgroup>
<col style="width: 30%;">
<col style="width: 70%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">Client Name</th>
<th class="tableblock halign-left valign-top">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Trafodion JDBC Type 4 Driver</strong></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">A driver that enables Java applications that run on a client workstation to connect to a Trafodion database.<br>
<br>
<strong>NOTE:</strong> The Trafodion Command Interface (trafci), DBVisualizer, and SQuirreL SQL Client require this driver to be installed on the client
workstation.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Trafodion Command Interface (trafci)</strong></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">A command-line interface that allows you to connect to a Trafodion database and run SQL statements and other commands interactively or from
script files. For more information, see the <a href="http://trafodion.apache.org/docs/command_interface/index.html">Trafodion Command Interface Guide</a>.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>DBVisualizer</strong></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">A third-party database tool that allows you to connect to a Trafodion database. For more information, see the <a href="http://www.dbvis.com/">DbVisualizer website</a>.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>SQuirreL SQL Client</strong></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">A third-party database tool that allows you to connect to a Trafodion database. For more information, see the
<a href="http://squirrel-sql.sourceforge.net/">SQuirreL SQL Client website</a>.</p></td>
</tr>
</tbody>
</table>
</div>
<div class="sect3">
<h4 id="_odbc_based_clients">2.1.2. ODBC-Based Clients</h4>
<div class="paragraph">
<p>The following table lists ODBC-based clients supported by Trafodion.</p>
</div>
<table class="tableblock frame-all grid-all spread">
<colgroup>
<col style="width: 30%;">
<col style="width: 70%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">Client Name</th>
<th class="tableblock halign-left valign-top">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Trafodion ODBC Driver for Linux</strong></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">A driver that enables applications, which were developed for the Microsoft ODBC API and run on a Linux workstation, to connect to a
Trafodion database.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Trafodion ODBC Driver for Windows</strong></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>[Not included in this release]</strong><sup>1</sup><br>
<br>
A driver that enables applications, which were developed for the Microsoft Open Database Connectivity (ODBC) application programming
interface (API) and which run on a Windows workstation, to connect to a Trafodion database.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Trafodion odb tool</strong></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">A multi-threaded, ODBC-based command-line tool for parallel data loading and extracting. For more information, see the
<a href="http://trafodion.apache.org/docs/odb/index.html">Trafodion odb User Guide</a>.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Tableau</strong></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">An interactive data visualization products focused on business intelligence
For more information, see the <a href="http://www.tableau.com/">Tableau Software website</a>.</p></td>
</tr>
</tbody>
</table>
<div class="paragraph">
<p><sup>1</sup> License issues prevent us from including the ODBC Driver for Windows in this release. Contact
<a href="mailto:user@trafodion.apache.org">user@trafodion.apache.org</a> for help obtaining the driver.</p>
</div>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_preparation">3. Preparation</h2>
<div class="sectionbody">
<div class="paragraph">
<p>Trafodion provides JDBC and ODBC drivers plus clients that use those drivers.
In addition, you can configure third-party JDBC- and ODBC-based tools to work
with Trafodion.</p>
</div>
<div class="paragraph">
<p>Typically, you install and configure the client software in the following order:</p>
</div>
<div class="olist arabic">
<ol class="arabic">
<li>
<p>JDBC and/or ODBC drivers. (Depending on what clients you plan to use.)</p>
</li>
<li>
<p>Trafodion clients. For example, trafci and odb.</p>
</li>
<li>
<p>Third-party clients. For example, DBVisualizer, SQuirell, and/or Tableau.</p>
</li>
</ol>
</div>
<div class="paragraph">
<p>If you don&#8217;t plan to use JDBC-based clients, then please skip ahead to
<a href="#download-client-software">Download Client Software</a>.</p>
</div>
<div class="sect2">
<h3 id="java-setup">3.1. Java Setup</h3>
<div class="paragraph">
<p>The Trafodion JDBC Type 4 Driver requires Java 1.7 or higher. You need to set
the Java path to the correct location.</p>
</div>
<div class="paragraph">
<p>Depending on your planned usage, you install
the Java Development Kit (JDK, if you plan to develop Java-based applications)
or the Java Runtime Environment (JRE, if you plan to use packaged JDBC-based
products only).</p>
</div>
<div class="sect3">
<h4 id="java-validation">3.1.1. Verify Java Version</h4>
<div class="paragraph">
<p>To display the Java version of the client workstation on the screen, enter:</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="CodeRay highlight"><code data-lang="text">java -version</code></pre>
</div>
</div>
<div class="listingblock">
<div class="title">Example 1: Java Installed and PATH Variable Set Correctly</div>
<div class="content">
<pre class="CodeRay highlight"><code data-lang="text">C:\&gt; java -version
java version &quot;1.7.0_45&quot; # This is the version you need to check
Java(TM) SE Runtime Environment (build 1.7.0_45-b18)
Java HotSpot(TM) Client VM (build 24.45-b08, mixed mode, sharing)
C:\&gt;</code></pre>
</div>
</div>
<div class="paragraph">
<p>If the version is not 1.7 or higher, then please upgrade you Java installation
See <a href="#java-install">Install Java</a>.</p>
</div>
<div class="paragraph">
<p>If the version is 1.7 or higher, then skip ahead to <a href="#download-client-software">Download Client Software</a>.</p>
</div>
<div class="listingblock">
<div class="title">Example 2: Path Not Set</div>
<div class="content">
<pre class="CodeRay highlight"><code data-lang="text">'java' is not recognized as an internal or external command, operable program or batch file.`</code></pre>
</div>
</div>
<div class="paragraph">
<p>If you have installed Java, then this message indicates that you&#8217;ve not included
the Java directory in your search path. See <a href="#howto-setup-path">Set Up PATH Variable</a>.</p>
</div>
</div>
<div class="sect3">
<h4 id="java-install">3.1.2. Install Java</h4>
<div class="paragraph">
<p>Refer to: <a href="http://www.java.com/en/download" class="bare">http://www.java.com/en/download</a>.</p>
</div>
<div class="paragraph">
<p>Once installed, follow the instruction in <a href="#howto-setup-path">Set Up PATH Variable</a>
to ensure that your Java environment has been set up properly.</p>
</div>
</div>
</div>
<div class="sect2">
<h3 id="download-client-software">3.2. Download Client Software</h3>
<div class="paragraph">
<p>The Trafodion client software is available from the <a href="http://trafodion.apache.org/download.html">Trafodion Download</a> page. There is one
<code>Trafodion Clients</code> package per release listed under <strong>&lt;version&gt; Binaries</strong>.</p>
</div>
<div class="paragraph">
<p>The <code>Trafodion Clients</code> package consists of a zipped tar file that contains the Trafodion Clients tar file.
The Trafodion Client binaries are in the <code>clients</code> folder, which contains the following files:</p>
</div>
<table class="tableblock frame-all grid-all spread">
<colgroup>
<col style="width: 30%;">
<col style="width: 70%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">File</th>
<th class="tableblock halign-left valign-top">Usage</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>JDBCT4.zip</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Trafodion JDBC Type 4 Driver.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>DISCLAIMER</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Apache disclaimer.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>LICENCE</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Apache license.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>NOTICE</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Apache notice.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>odbc64_linux.tar.gz</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Trafodion odb tool.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>TRAF_ODBC_Linux_Driver_64.tar.gz</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Trafodion ODBC driver for Linux.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>TRAFODB-2.2.0.exe</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Trafodion odb tool for windows.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>trafci.zip</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">The Trafodion command interpreter <code>trafci</code>.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>TFODBC64-*.exe</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>[Not included in this release]</strong><sup>1</sup> Trafodion ODBC Driver for Windows.</p></td>
</tr>
</tbody>
</table>
<div class="paragraph">
<p><sup>1</sup> License issues prevent us from including the ODBC Driver for Windows in this release. Contact
<a href="mailto:user@trafodion.apache.org">user@trafodion.apache.org</a> for help obtaining the driver.</p>
</div>
<div style="page-break-after: always;"></div>
<div class="sect3">
<h4 id="download-windows">3.2.1. Windows Download</h4>
<div class="paragraph">
<p>Do the following:</p>
</div>
<div class="olist arabic">
<ol class="arabic">
<li>
<p>Create a download folder on the client workstation. For example, <code>c:\trafodion</code>.</p>
</li>
<li>
<p>Open a Web browser and navigate to the Trafodion downloads site <a href="http://trafodion.apache.org/download.html" class="bare">http://trafodion.apache.org/download.html</a>.</p>
</li>
<li>
<p>Orient yourself to the binaries for the release you&#8217;re installing.
Click on the <code>Trafodion Clients</code> link to start downloading the Trafodion clients tar file to your workstation.</p>
</li>
<li>
<p>Place the <code>apache-trafodion-clients-*.tar.gz</code> file into the download folder.</p>
<div class="ulist">
<ul>
<li>
<p>Unpack the <code>apache-trafodion-clients-*.tar.gz</code> file using an unzip program of your choice. This creates
an <code>apache-trafodion-clients-*.tar</code> file.</p>
</li>
<li>
<p>Unpack the <code>apache-trafodion-clients-*.tar</code> file using an unzip program of your choice.</p>
</li>
</ul>
</div>
</li>
<li>
<p>Verify content of the <code>clients</code> directory:</p>
<div class="listingblock">
<div class="content">
<pre class="CodeRay highlight"><code data-lang="text">JDBCT4.zip LICENSE NOTICE odb64_linux.tar.gz trafci.zip TRAF_ODBC_Linux_Driver_64.tar.gz</code></pre>
</div>
</div>
<div class="paragraph">
<p>You use these files to install the different Trafodion clients.</p>
</div>
</li>
</ol>
</div>
<div style="page-break-after: always;"></div>
</div>
<div class="sect3">
<h4 id="download-linux">3.2.2. Linux Download</h4>
<div class="paragraph">
<p>Do the following:</p>
</div>
<div class="olist arabic">
<ol class="arabic">
<li>
<p>Create a download directory on the client workstation. For example, <code>$HOME/trafodion</code>.</p>
</li>
<li>
<p>Open a Web browser and navigate to the Trafodion downloads site <a href="http://trafodion.apache.org/download.html" class="bare">http://trafodion.apache.org/download.html</a>.</p>
</li>
<li>
<p>Orient yourself to the binaries for the release you&#8217;re installing.
Right-click on the <code>Trafodion Clients</code> link and select <strong>Copy link address</strong>.</p>
</li>
<li>
<p>Go to the download directory on the client workstation and use <code>wget</code> to download the client package
using the URL you copied in step 3 above.</p>
</li>
<li>
<p>Unpack the <code>apache-trafodion-clients-*.tar.gz</code> using <code>tar</code>.</p>
<div class="paragraph">
<p><strong>Example</strong></p>
</div>
<div class="listingblock">
<div class="content">
<pre class="CodeRay highlight"><code data-lang="text">$ mkdir $HOME/trafodion
$ cd $HOME/trafodion
$ wget &lt;link to package&gt;
$ tar -xzvf apache-trafodion_clients-*.tar.gz
$ cd clients
$ ls
LICENSE odb64_linux.tar.gz TRAF_ODBC_Linux_Driver_64.tar.gz
JDBCT4.zip NOTICE trafci.zip
$</code></pre>
</div>
</div>
<div class="paragraph">
<p>You use these files to install the different Trafodion clients.</p>
</div>
</li>
</ol>
</div>
<div style="page-break-after: always;"></div>
</div>
</div>
<div class="sect2">
<h3 id="unpack-client-software">3.3. Unpack Client Software</h3>
<div class="paragraph">
<p>The client packages are located on the <code>client</code> subdirectory where you unpacked
the Trafodion distribution file. For example, <code>c:\trafodion\clients</code> (Windows)
or <code>$HOME/trafodion/clients</code> (Linux).</p>
</div>
<div class="paragraph">
<p>Unpack the client software and its dependencies you intend to use as follows.</p>
</div>
<div class="sect3">
<h4 id="_unpack_jdbc_based_client_software">3.3.1. Unpack JDBC-Based Client Software</h4>
<table class="tableblock frame-all grid-all spread">
<colgroup>
<col style="width: 30%;">
<col style="width: 30%;">
<col style="width: 40%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">File</th>
<th class="tableblock halign-left valign-top">Description</th>
<th class="tableblock halign-left valign-top">Recommended Target Directory</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>JDBCT4.zip</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">JDBC Type 4 Driver</p></td>
<td class="tableblock halign-left valign-top"><div><div class="ulist">
<ul>
<li>
<p><strong>Windows:</strong> <code>c:\trafodion\jdbct4</code></p>
</li>
<li>
<p><strong>Linux:</strong> <code>$HOME/trafodion/jdbct4</code></p>
</li>
</ul>
</div></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>trafci.zip</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Command Interface</p></td>
<td class="tableblock halign-left valign-top"><div><div class="ulist">
<ul>
<li>
<p><strong>Windows:</strong> <code>c:\trafodion\trafci</code></p>
</li>
<li>
<p><strong>Linux:</strong> <code>$HOME/trafodion/trafci</code></p>
</li>
</ul>
</div></div></td>
</tr>
</tbody>
</table>
<div class="paragraph">
<p><strong>Windows</strong></p>
</div>
<div class="paragraph">
<p>Use your favorite compress/uncompress utility to unpack the file to the target directory
defined in the table above.</p>
</div>
<div class="paragraph">
<p><strong>Linux</strong></p>
</div>
<div class="paragraph">
<p>Unpack the <code>.zip</code> file using the <code>unzip &lt;file&gt; -d &lt;target-directory&gt;</code> command:</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="CodeRay highlight"><code data-lang="text">$ cd $HOME/trafodion/clients
$ unzip JDBCT4.zip -d $HOME/trafodion/jdbct4
.
.
.
$ unzip trafci.zip -d $HOME/trafodion/trafci
.
.
.
$ cd ..
$ ls
apache-trafodion_clients-2.2.0.tar.gz clients jdbct4 trafci
$</code></pre>
</div>
</div>
<div class="paragraph">
<p>Once complete, a fully-installed <code>c:\trafodion</code> (Windows) or
<code>$HOME/trafodion</code> directory should contain the following directories:</p>
</div>
<div class="ulist">
<ul>
<li>
<p><code>clients</code>: The compressed client software.</p>
</li>
<li>
<p><code>jdbct4</code>: The Trafodion JDBC Type 4 driver installation directory.</p>
</li>
<li>
<p><code>trafci</code>: The Trafodion Command Interpreter installation directory.</p>
</li>
</ul>
</div>
</div>
<div class="sect3">
<h4 id="_unpack_odbc_based_client_software">3.3.2. Unpack ODBC-Based Client Software</h4>
<table class="tableblock frame-all grid-all spread">
<colgroup>
<col style="width: 30%;">
<col style="width: 30%;">
<col style="width: 40%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">File</th>
<th class="tableblock halign-left valign-top">Description</th>
<th class="tableblock halign-left valign-top">Recommended Target Directory</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>TRAF_ODBC_Linux_Driver_64.tar.gz</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Linux ODBC Driver</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>$HOME/trafodion/odbc</code></p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>odb64_linux.tar.gz</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Linux odb Utility</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>$HOME/trafodion/odb</code></p></td>
</tr>
</tbody>
</table>
<div class="paragraph">
<p><strong>Linux</strong></p>
</div>
<div class="paragraph">
<p>Unpack the <code>.tar.gz</code> file using the <code>tar -xzvf &lt;file&gt; -C &lt;target-directory&gt;</code> command.</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="CodeRay highlight"><code data-lang="text">$ cd $HOME/trafodion/clients
$ mkdir $HOME/trafodion/odbc
$ tar -xzvf TRAF_ODBC_Linux_Driver_64.tar.gz -C $HOME/trafodion/odbc
.
.
.
$ mkdir $HOME/trafodion/odb
$ tar -xzvf odb64_linux.tar.gz -C $HOME/trafodion/odb
.
.
.
$ cd ..
$ ls
apache-trafodion_clients-2.2.0.tar.gz clients odb odbc</code></pre>
</div>
</div>
<div class="paragraph">
<p>Once complete, a fully-installed <code>c:\trafodion</code> (Windows) or
<code>$HOME/trafodion</code> directory should contain:</p>
</div>
<div class="ulist">
<ul>
<li>
<p><code>clients</code>: The compressed client software.</p>
</li>
<li>
<p><code>odb</code>: The Trafodion odb utility installation directory.</p>
</li>
<li>
<p><code>odbc</code>: The Trafodion ODBC driver installation directory.</p>
</li>
</ul>
</div>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="jdbct4">4. Install JDBC Type-4 Driver</h2>
<div class="sectionbody">
<div class="sect2">
<h3 id="_prerequisites">4.1. Prerequisites</h3>
<div class="paragraph">
<p>If you have not done so already, please ensure that you have <a href="#java-setup">setup your Java environment</a>
and <a href="#download-software">unpackaged the Trafodion client software</a>.</p>
</div>
<div class="paragraph">
<p>The examples in this chapter assumes that you have unpackaged the JDBC Type 4 driver installation files
to <code>c:\trafodion\jdbct4</code> (Windows) or <code>$HOME/trafodion/jdbct4</code> (Linux).</p>
</div>
</div>
<div class="sect2">
<h3 id="jdbct4-validate-install">4.2. Validate Install Directory</h3>
<div class="paragraph">
<p>The content of the <code>jdbct4</code> installation directory is as follows:</p>
</div>
<table class="tableblock frame-all grid-all spread">
<colgroup>
<col style="width: 33%;">
<col style="width: 30%;">
<col style="width: 37%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">Installation Folder</th>
<th class="tableblock halign-left valign-top">Files</th>
<th class="tableblock halign-left valign-top">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>/lib</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>jdbcT4.jar</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Product JAR file.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>/samples</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>t4jdbc.properties</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Properties file that you can configure for your application environment.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>README</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Readme file that explains how to use the common sample set.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>/samples/common</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>sampleUtils.java</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Sample source code for creating, populating, and dropping sample tables.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>/samples/DBMetaSample</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>DBMetaSample.java</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Sample source code for getting metadata about the sample tables.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>README</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Readme file that explains how to use this sample set.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>/samples/PreparedStatementSample</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>PreparedStatementSample.java</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Sample code for simple or parameterized SELECT statements that are prepared.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>README</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Readme file that explains how to use this sample set.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>/samples/ResultSetSample</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>README</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Readme file that explains how to use this sample set.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>ResultSetSample.java</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Sample source code for fetching rows from a result set.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>/samples/StatementSample</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>README</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Readme file that explains how to use this sample set.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>StatementSample.java</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Sample source code for fetching rows from a simple SELECT statement.</p></td>
</tr>
</tbody>
</table>
<div style="page-break-after: always;"></div>
</div>
<div class="sect2">
<h3 id="jdbct4-setup-env">4.3. Set Up Client Environment</h3>
<div class="sect3">
<h4 id="jdbct4-java-development">4.3.1. Java Development</h4>
<div class="paragraph">
<p>If you plan to write and run Java applications that use the Trafodion JDBC Type 4 Driver to connect to a Trafodion database, then set these
environment variables on the client workstation, replacing <code><em>jdk-directory</em></code> with the location of your Java Development Kit and
replacing <code><em>jdbc-installation-directory</em></code> with the name of the directory where you downloaded the JDBC Type 4 driver:</p>
</div>
<table class="tableblock frame-all grid-all spread">
<colgroup>
<col style="width: 20%;">
<col style="width: 40%;">
<col style="width: 40%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">Environment Variable</th>
<th class="tableblock halign-left valign-top">On Windows</th>
<th class="tableblock halign-left valign-top">On Linux</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>JAVA_HOME</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>set JAVA_HOME="<em>jdk-directory</em>"</code><sup>1</sup></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>export JAVA_HOME=<em>jdk-directory</em></code></p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>PATH</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>set PATH=%PATH%;%JAVA_HOME%\bin</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>export PATH=$PATH:$JAVA_HOME/bin</code></p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>CLASSPATH</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>set CLASSPATH=%CLASSPATH%;_jdbc-installation-directory_\lib\jdbcT4.jar;</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>export CLASSPATH=$CLASSPATH:_jdbc-installation-directory_/lib/jdbcT4.jar:</code></p></td>
</tr>
</tbody>
</table>
<div class="paragraph">
<p><sup>1</sup> Enclose the <em>jdk-directory</em> in quotes to ensure that Windows can find the directory correctly. You can use the <code>set &lt;variable&gt;</code> command to verify the setting.</p>
</div>
<div style="page-break-after: always;"></div>
</div>
<div class="sect3">
<h4 id="_configure_applications">4.3.2. Configure Applications</h4>
<div class="paragraph">
<p>Edit the <code>t4jdbc.properties</code> file in the <code>samples</code> folder. Refer to the <code>README</code> file in the <code>samples</code> folder for instructions.</p>
</div>
<div class="paragraph">
<p>Set these values for your environment:</p>
</div>
<div class="ulist">
<ul>
<li>
<p><code>catalog</code>: Specify a catalog that exists in the database.</p>
</li>
<li>
<p><code>schema</code>: Specify a schema that exists in the database.</p>
</li>
<li>
<p><code>user</code>: Specify the name of a user who will be accessing the database.</p>
</li>
<li>
<p><code>password</code>: Specify the password of a user who will be accessing the database.</p>
</li>
<li>
<p><code>url</code>: Specify this string: <code>jdbc:t4jdbc://&lt;host-name&gt;:&lt;port-number&gt;/:</code></p>
</li>
</ul>
</div>
<div class="paragraph">
<p><code>&lt;host-name&gt;</code> is the IP address or host name of the database platform.</p>
</div>
<div class="paragraph">
<p><code>&lt;port-number&gt;</code> is the location where the
Trafodion Database Connectivity Service (DCS) is running. (Default: <strong>23400</strong>).</p>
</div>
<div class="paragraph">
<p>See the <a href="http://trafodion.apache.org/docs/dcs_reference/index.html">Trafodion Database Connectivity Services Reference Guide</a>
for information about how to configure the DCS port.</p>
</div>
<div class="paragraph">
<p><strong>Example</strong></p>
</div>
<div class="paragraph">
<p>In this example, Trafodion authentication has not been enabled. Therefore, you can use a dummy
user and password. If authentication is enabled, then use your user and password information.</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="CodeRay highlight"><code data-lang="text">catalog = TRAFODION
schema = SEABASE
user = usr
password = pwd
url = jdbc:t4jdbc://trafodion.host.com:23400/:</code></pre>
</div>
</div>
<div class="admonitionblock note">
<table>
<tr>
<td class="icon">
<i class="fa icon-note" title="Note"></i>
</td>
<td class="content">
The driver’s class name is <code>org.trafodion.jdbc.t4.T4Driver</code>.
</td>
</tr>
</table>
</div>
<div style="page-break-after: always;"></div>
</div>
</div>
<div class="sect2">
<h3 id="jdbct4-test-programs">4.4. Test Programs</h3>
<div class="admonitionblock note">
<table>
<tr>
<td class="icon">
<i class="fa icon-note" title="Note"></i>
</td>
<td class="content">
You must use JDK and set up the environmental variables as documented in
<a href="#jdbct4-java-development">Java Development</a> to build the test programs.
</td>
</tr>
</table>
</div>
<div class="paragraph">
<p>The <code>README</code> file in the <code>samples</code> folder provide information for how you build and run sample Java programs.
You can use these programs to verify the setup of the Trafodion JDBC Type-4 driver.</p>
</div>
<div class="paragraph">
<p>See the <a href="#jdbct4-validate-install">Validate Install Directory</a> section above for information on the different
sample programs that are included with the Trafodion JDBC Type-4 driver.</p>
</div>
<div class="paragraph">
<p><strong>Windows Example</strong></p>
</div>
<div class="paragraph">
<p>Build and run the StatementSample test program to verify the JDBC Type-4 driver installation.</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="CodeRay highlight"><code data-lang="text">C:\trafodion\jdbct4\samples&gt; cd StatementSample
C:\trafodion\jdbct4\samples\StatementSample&gt; %JAVA_HOME%\bin\javac -classpath ..\..\lib\jdbcT4.jar *.java ..\common\*.java
Note: ..\common\sampleUtils.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
C:\trafodion\jdbct4\samples\StatementSample&gt; %JAVA_HOME%\bin\java -classpath ..\..\lib\jdbcT4.jar;..;. -Dt4jdbc.properties=..\t4jdbc.properties StatementSample
Mar 16, 2016 9:36:54 PM common.sampleUtils getPropertiesConnection
INFO: DriverManager.getConnection(url, props) passed
Inserting TimeStamp
Simple Select
Printing ResultSetMetaData ...
No. of Columns 12
Column 1 Data Type: CHAR Name: C1
Column 2 Data Type: SMALLINT Name: C2
Column 3 Data Type: INTEGER Name: C3
Column 4 Data Type: BIGINT Name: C4
Column 5 Data Type: VARCHAR Name: C5
Column 6 Data Type: NUMERIC Name: C6
Column 7 Data Type: DECIMAL Name: C7
Column 8 Data Type: DATE Name: C8
Column 9 Data Type: TIME Name: C9
Column 10 Data Type: TIMESTAMP Name: C10
Column 11 Data Type: REAL Name: C11
Column 12 Data Type: DOUBLE PRECISION Name: C12
Fetching rows...
Printing Row 1 using getString(), getObject()
Column 1 - Row1 ,Row1
Column 2 - 100,100
Column 3 - 12345678,12345678
Column 4 - 123456789012,123456789012
Column 5 - Selva,Selva
Column 6 - 100.12,100.12
Column 7 - 100.12,100.12
Column 8 - 2000-05-06,2000-05-06
Column 9 - 10:11:12,10:11:12
Column 10 - 2000-05-06 10:11:12.000000,2000-05-06 10:11:12.0
Column 11 - 100.12,100.12
Column 12 - 100.12,100.12
Printing Row 2 using getString(), getObject()
Column 1 - Row2 ,Row2
Column 2 - -100,-100
Column 3 - -12345678,-12345678
Column 4 - -123456789012,-123456789012
Column 5 - Selva,Selva
Column 6 - -100.12,-100.12
Column 7 - -100.12,-100.12
Column 8 - 2000-05-16,2000-05-16
Column 9 - 10:11:12,10:11:12
Column 10 - 2000-05-06 10:11:12.000000,2000-05-06 10:11:12.0
Column 11 - -100.12,-100.12
Column 12 - -100.12,-100.12
Printing Row 3 using getString(), getObject()
Column 1 - TimeStamp ,TimeStamp
Column 2 - -100,-100
Column 3 - -12345678,-12345678
Column 4 - -123456789012,-123456789012
Column 5 - Selva,Selva
Column 6 - -100.12,-100.12
Column 7 - -100.12,-100.12
Column 8 - 2016-03-16,2016-03-16
Column 9 - 21:37:03,21:37:03
Column 10 - 2016-03-16 21:37:03.053,2016-03-16 21:37:03.053
Column 11 - -100.12,-100.12
Column 12 - -100.12,-100.12
End of Data
C:\trafodion\jdbct4\samples\StatementSample&gt;</code></pre>
</div>
</div>
<div style="page-break-after: always;"></div>
<div class="paragraph">
<p><strong>Linux Example</strong></p>
</div>
<div class="paragraph">
<p>Build and run the StatementSample test program to verify the JDBC Type-4 driver installation.</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="CodeRay highlight"><code data-lang="text">$ cd $HOME/trafodion/jdbct4/samples/StatementSample
$ $JAVA_HOME/bin/javac -classpath ../../lib/jdbcT4.jar *.java ../common/*.java
Note: ..\common\sampleUtils.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
$ $JAVA_HOME/bin/java -classpath ../../lib/jdbcT4.jar:..:. -Dt4jdbc.properties=../t4jdbc.properties StatementSample
Mar 16, 2016 9:36:54 PM common.sampleUtils getPropertiesConnection
INFO: DriverManager.getConnection(url, props) passed
Inserting TimeStamp
Simple Select
Printing ResultSetMetaData ...
No. of Columns 12
Column 1 Data Type: CHAR Name: C1
Column 2 Data Type: SMALLINT Name: C2
Column 3 Data Type: INTEGER Name: C3
Column 4 Data Type: BIGINT Name: C4
Column 5 Data Type: VARCHAR Name: C5
Column 6 Data Type: NUMERIC Name: C6
Column 7 Data Type: DECIMAL Name: C7
Column 8 Data Type: DATE Name: C8
Column 9 Data Type: TIME Name: C9
Column 10 Data Type: TIMESTAMP Name: C10
Column 11 Data Type: REAL Name: C11
Column 12 Data Type: DOUBLE PRECISION Name: C12
Fetching rows...
Printing Row 1 using getString(), getObject()
Column 1 - Row1 ,Row1
Column 2 - 100,100
Column 3 - 12345678,12345678
Column 4 - 123456789012,123456789012
Column 5 - Selva,Selva
Column 6 - 100.12,100.12
Column 7 - 100.12,100.12
Column 8 - 2000-05-06,2000-05-06
Column 9 - 10:11:12,10:11:12
Column 10 - 2000-05-06 10:11:12.000000,2000-05-06 10:11:12.0
Column 11 - 100.12,100.12
Column 12 - 100.12,100.12
Printing Row 2 using getString(), getObject()
Column 1 - Row2 ,Row2
Column 2 - -100,-100
Column 3 - -12345678,-12345678
Column 4 - -123456789012,-123456789012
Column 5 - Selva,Selva
Column 6 - -100.12,-100.12
Column 7 - -100.12,-100.12
Column 8 - 2000-05-16,2000-05-16
Column 9 - 10:11:12,10:11:12
Column 10 - 2000-05-06 10:11:12.000000,2000-05-06 10:11:12.0
Column 11 - -100.12,-100.12
Column 12 - -100.12,-100.12
Printing Row 3 using getString(), getObject()
Column 1 - TimeStamp ,TimeStamp
Column 2 - -100,-100
Column 3 - -12345678,-12345678
Column 4 - -123456789012,-123456789012
Column 5 - Selva,Selva
Column 6 - -100.12,-100.12
Column 7 - -100.12,-100.12
Column 8 - 2016-03-16,2016-03-16
Column 9 - 21:37:03,21:37:03
Column 10 - 2016-03-16 21:37:03.053,2016-03-16 21:37:03.053
Column 11 - -100.12,-100.12
Column 12 - -100.12,-100.12
End of Data
$</code></pre>
</div>
</div>
<div style="page-break-after: always;"></div>
</div>
<div class="sect2">
<h3 id="_uninstall_jdbc_type_4_driver">4.5. Uninstall JDBC Type-4 Driver</h3>
<div class="paragraph">
<p>Run one of these sets of commands to remove the Trafodion JDBC Type 4 Driver:</p>
</div>
<div class="ulist">
<ul>
<li>
<p>On Windows:</p>
<div class="listingblock">
<div class="content">
<pre class="CodeRay highlight"><code data-lang="text">rmdir /s /q &lt;jdbc-installation-directory&gt;</code></pre>
</div>
</div>
<div class="paragraph">
<p><strong>Example</strong></p>
</div>
<div class="listingblock">
<div class="content">
<pre class="CodeRay highlight"><code data-lang="text">rmdir /s /q c:\trafodion\jdbct4</code></pre>
</div>
</div>
</li>
<li>
<p>On Linux:</p>
<div class="listingblock">
<div class="content">
<pre class="CodeRay highlight"><code data-lang="text">rm -rf &lt;jdbc-installation-directory&gt;</code></pre>
</div>
</div>
<div class="paragraph">
<p><strong>Example</strong></p>
</div>
<div class="listingblock">
<div class="content">
<pre class="CodeRay highlight"><code data-lang="text">rm -rf $HOME/trafodion/jdbct4</code></pre>
</div>
</div>
</li>
</ul>
</div>
<div class="admonitionblock note">
<table>
<tr>
<td class="icon">
<i class="fa icon-note" title="Note"></i>
</td>
<td class="content">
Remember to update/remove environmental variables if you&#8217;ve created them in th
<a href="#jdbct4-java-development">Java Development</a>.
</td>
</tr>
</table>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="trafci">5. Install trafci</h2>
<div class="sectionbody">
<div class="sect2">
<h3 id="_prerequisites_2">5.1. Prerequisites</h3>
<div class="paragraph">
<p>If you have not done so already, please ensure that you have <a href="#java-setup">setup your Java environment</a>,
<a href="#download-software">unpackaged the Trafodion client software</a>, and <a href="#jdbct4">installed the JDBC Type-4 Driver</a>.
.</p>
</div>
<div class="paragraph">
<p>The examples in this chapter assumes that you have unpackaged the trafci installation file
to <code>c:\trafodion\trafci</code> (Windows) or <code>$HOME/trafodion/trafci</code> (Linux).</p>
</div>
</div>
<div class="sect2">
<h3 id="trafci_perl_python">5.2. Install Perl or Python</h3>
<div class="paragraph">
<p>If you plan to use Perl or Python scripts with trafci, verify that you have Perl or Python installed on the client workstation. trafci supports
these versions of Perl and Python:</p>
</div>
<div class="ulist">
<ul>
<li>
<p>Perl version 5.8.8</p>
</li>
<li>
<p>Python version 2.3.4</p>
</li>
</ul>
</div>
<div class="paragraph">
<p>If you do not have Perl or Python, download it from any open-source software provider. You can perform this installation procedure anytime
before or after installing trafci.</p>
</div>
<div class="paragraph">
<p>If you plan to run the sample scripts provided with trafci, verify that you have the Perl JavaServer and Jython (Java implementation of Python)
installed on your client workstation. Use the trafci Installation Wizard to automatically download and install both the Perl JavaServer and
Jython open source extensions. To download them manually, see the <code>README</code> in the samples directory.</p>
</div>
<div style="page-break-after: always;"></div>
</div>
<div class="sect2">
<h3 id="trafci-verify-install">5.3. Verify Installation</h3>
<div class="paragraph">
<p>Verify that <code>c:\trafodion\trafci</code> (Windows) or <code>$HOME/trafodion/trafci</code> (Linux) contains the following files:</p>
</div>
<div class="ulist">
<ul>
<li>
<p><code>README</code></p>
</li>
<li>
<p><code>trafciInstaller.jar</code></p>
</li>
</ul>
</div>
</div>
<div class="sect2">
<h3 id="trafci-run-installer">5.4. Run trafci Installer</h3>
<div class="paragraph">
<p><code>trafciInstaller.jar</code> is used to install trafci.</p>
</div>
<div class="paragraph">
<p>Two modes are supported:</p>
</div>
<div class="ulist">
<ul>
<li>
<p><a href="#trafci-wizard-install">GUI Wizard Install</a></p>
</li>
<li>
<p><a href="#trafci-cmd-install">Command-Line Install</a></p>
</li>
</ul>
</div>
<div class="sect3">
<h4 id="trafci-wizard-install">5.4.1. GUI Wizard Install</h4>
<div class="admonitionblock note">
<table>
<tr>
<td class="icon">
<i class="fa icon-note" title="Note"></i>
</td>
<td class="content">
You must have the X Window system installed on your Linux client workstation to run the trafci Installer Wizard.
If you do not, then use the <a href="#trafci-cmd-install">Command-Line Install</a> instructions below.
&lt;&lt;&lt;
==== Launch the Installer Wizard
</td>
</tr>
</table>
</div>
<div class="olist arabic">
<ol class="arabic">
<li>
<p>Move to the trafci install directory.</p>
<div class="ulist">
<ul>
<li>
<p><strong>Windows:</strong> <code>c:\trafodion\trafci</code></p>
</li>
<li>
<p><strong>Linux:</strong> <code>$HOME/trafodion/trafci</code></p>
</li>
</ul>
</div>
</li>
<li>
<p>Double-click on <code>trafciInstaller.jar</code></p>
</li>
</ol>
</div>
<div class="paragraph">
<p>If the trafci Installer Wizard does not start, then do the following from a command prompt:</p>
</div>
<div class="olist arabic">
<ol class="arabic">
<li>
<p>Change director to the trafci install directory.</p>
<div class="ulist">
<ul>
<li>
<p><strong>Windows:</strong> <code>cd c:\trafodion\trafci</code></p>
</li>
<li>
<p><strong>Linux:</strong> <code>cd $HOME/trafodion/trafci</code></p>
</li>
</ul>
</div>
</li>
<li>
<p>Launch the trafci Installer Wizard: <code>java -jar trafciInstaller.jar</code></p>
</li>
</ol>
</div>
<div class="sect4">
<h5 id="trafci-using-wizard">Using the Installer Wizard</h5>
<div class="paragraph">
<p>When you execute <code>trafciInstaller.jar</code>, the Installer Wizard appears:</p>
</div>
<div class="paragraph">
<p><span class="image"><img src="images/InstallerWizardWelcome.jpg" alt="trafci Installer Wizard welcome screen"></span></p>
</div>
<div class="olist arabic">
<ol class="arabic">
<li>
<p>Click one of the buttons for the type of installation that you would like to perform:</p>
<div class="ulist">
<ul>
<li>
<p><strong>Standard Installation</strong> to start the Installer Wizard. Guides you through installing both the core trafci components and the optional open
source extensions.</p>
</li>
<li>
<p><strong>Core Components</strong> for a quick installation of the core trafci files.</p>
</li>
<li>
<p><strong>Optional Components</strong> if you have already installed the core trafci files but want to install only the optional open source extensions.</p>
</li>
</ul>
</div>
</li>
<li>
<p>After you have selected the components you wish to install, browse and select the JDBC JAR file and then specify an installation directory
where you will install trafci.</p>
<div class="paragraph">
<p><span class="image"><img src="images/InstallerWizardPaths.jpg" alt="trafci select path dialog"></span></p>
</div>
</li>
<li>
<p>To locate the <strong>JDBC Type 4 Driver JAR file</strong>, click <strong>Browse</strong> next to the <strong>JDBC Type 4 Driver JAR File</strong>.</p>
<div class="paragraph">
<p>Navigate to the lib folder of the Trafodion JDBC driver and select the <code>jdbcT4.jar</code> file
(<code>c:\trafodion\jdbct4\lib\jdbcT4.jar</code> on Windows, <code>$HOME/trafodion/jdbct4/lib/jdbcT4.jar</code> on Linux), and then click <strong>Select</strong>.</p>
</div>
<div class="paragraph">
<p>The Installer Wizard now displays the path of the JDBC driver JAR file for <strong>JDBC Type 4 Driver JAR File</strong>.</p>
</div>
</li>
<li>
<p>To select the <strong>Trafodion Command Interface installation directory</strong>, click <strong>Browse</strong> next to the <strong>Trafodion Command Interface installation directory</strong></p>
<div class="paragraph">
<p>Navicate to <code>c:\trafodion</code> (Windows) or <code>$HOME/trafodion</code> (Linux)and click on <strong>Select</strong>.</p>
</div>
<div class="paragraph">
<p>The Installer Wizard now displays the path of the installation directory for <strong>Trafodion Command Interface installation directory</strong>.</p>
</div>
<div class="paragraph">
<p><span class="image"><img src="images/trafci_Installation_Choices.jpg" alt="trafci installation choices"></span></p>
</div>
</li>
<li>
<p>Click <strong>Next</strong> to review the open-source legal disclaimer.</p>
</li>
<li>
<p>If you agree to the terms and conditions, select the check box, and click <strong>Next</strong>.</p>
<div class="paragraph">
<p>The Installer Wizard dialog box shows which components are available for you to download and install.</p>
</div>
<div class="paragraph">
<p><span class="image"><img src="images/OptionalComponents.jpg" alt="trafci component selection"></span></p>
</div>
</li>
<li>
<p>Select the optional components to be downloaded and installed. Each optional component is installed if the component box is checked.</p>
<div class="paragraph">
<p>If you want to change the download URL for the extensions, click <strong>Edit URL</strong>, and this dialog box appears:</p>
</div>
<div class="paragraph">
<p><span class="image"><img src="images/PerlJavaServerURL.jpg" alt="trafci edit download URL"></span></p>
</div>
<div class="paragraph">
<p>Type a new path, and click <strong>OK</strong>.</p>
</div>
<div class="admonitionblock note">
<table>
<tr>
<td class="icon">
<i class="fa icon-note" title="Note"></i>
</td>
<td class="content">
Perl and Python must be installed for the respective extensions to work.
</td>
</tr>
</table>
</div>
</li>
<li>
<p>If you do not require a proxy server, proceed to Step 12.</p>
</li>
<li>
<p>If you require a proxy server, select <strong>Use the following proxy settings</strong> and enter the proxy server and port for downloading the open
source extensions.</p>
<div class="paragraph">
<p><span class="image"><img src="images/ProxySettings.jpg" alt="trafci proxy settings"></span></p>
</div>
</li>
<li>
<p>Click <strong>Detect Proxy Server(s)</strong> to try to auto-detect your proxy settings. If trafci detects one or more proxy servers, it displays
them in a drop-down menu next to the <strong>Detect Proxy Server(s)</strong> button.</p>
</li>
<li>
<p>Click <strong>Install</strong> to start the installation.</p>
</li>
<li>
<p>After the core trafci files are installed, the <strong>Installation Status</strong> dialog box appears indicating how many files were extracted to the
installation directory:</p>
<div class="paragraph">
<p><span class="image"><img src="images/Extracted_Files.jpg" alt="trafci extracted files" width="600" height="600"></span></p>
</div>
<div class="paragraph">
<p>Click <strong>OK</strong> to continue the installation.</p>
</div>
</li>
<li>
<p>If you chose to install the optional components, the installer attempts to download and install them. The progress bar indicates the
download progress of each file. In addition, an installation log provides details about the status of the download and installation of
the components.</p>
<div class="paragraph">
<p><span class="image"><img src="images/InstallComplete.jpg" alt="trafci installation complete"></span></p>
</div>
</li>
<li>
<p>After all trafci files are installed, the Installer Wizard completes.</p>
</li>
<li>
<p>Click <strong>Exit</strong>.</p>
</li>
</ol>
</div>
<div style="page-break-after: always;"></div>
</div>
</div>
<div class="sect3">
<h4 id="trafci-cmd-install">5.4.2. Command-Line Installation Steps</h4>
<div class="olist arabic">
<ol class="arabic">
<li>
<p>At a command prompt, change to the directory where you extracted the contents of the distribution (.zip) file:</p>
<div class="paragraph">
<p><strong>Windows</strong></p>
</div>
<div class="listingblock">
<div class="content">
<pre class="CodeRay highlight"><code data-lang="text">c:\&gt; cd c:\trafodion\trafci
c:\trafodion\trafci&gt; dir