| <!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.1.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 class="paragraph"> |
| <p><strong>Disclaimer:</strong> <em>Apache Trafodion is an effort undergoing incubation at the Apache Software Foundation (ASF), sponsored by |
| the Apache Incubator PMC. Incubation is required of all newly accepted projects until a further review indicates that |
| the infrastructure, communications, and decision making process have stabilized in a manner consistent with other |
| successful ASF projects. While incubation status is not necessarily a reflection of the completeness or stability of the code, |
| it does indicate that the project has yet to be fully endorsed by the ASF.</em></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.1.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.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.1.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>[ ] 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>… 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">"{" module-name [, module-name] ... "}"</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.incubator.apache.org">user@trafodion.incubator.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.incubator.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.incubator.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.incubator.apache.org">user@trafodion.incubator.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’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:\> java -version |
| |
| java version "1.7.0_45" # 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:\></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’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.incubator.apache.org/download.html">Trafodion Download</a> page. There is one |
| <code>Trafodion Clients</code> package per release listed under <strong><version> 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>DISCLAIMER</code></p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">Trafodion Apache incubation disclaimer.</p></td> |
| </tr> |
| <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>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>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.incubator.apache.org">user@trafodion.incubator.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.incubator.apache.org/download.html" class="bare">http://trafodion.incubator.apache.org/download.html</a>.</p> |
| </li> |
| <li> |
| <p>Orient yourself to the binaries for the release you’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">DISCLAIMER 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.incubator.apache.org/download.html" class="bare">http://trafodion.incubator.apache.org/download.html</a>.</p> |
| </li> |
| <li> |
| <p>Orient yourself to the binaries for the release you’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 <link to package> |
| $ tar -xzvf apache-trafodion_clients-*-incubating.tar.gz |
| $ cd clients |
| $ ls |
| DISCLAIMER 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 <file> -d <target-directory></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.0.1-incubating.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 <file> -C <target-directory></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.0.1-incubating.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 <variable></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://<host-name>:<port-number>/:</code></p> |
| </li> |
| </ul> |
| </div> |
| <div class="paragraph"> |
| <p><code><host-name></code> is the IP address or host name of the database platform.</p> |
| </div> |
| <div class="paragraph"> |
| <p><code><port-number></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.incubator.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> cd StatementSample |
| |
| C:\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. |
| |
| C:\trafodion\jdbct4\samples\StatementSample> %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></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 <jdbc-installation-directory></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 <jdbc-installation-directory></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’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. |
| <<< |
| ==== 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:\> cd c:\trafodion\trafci |
| c:\trafodion\trafci> dir |
| README trafciInstaller.jar</code></pre> |
| </div> |
| </div> |
| <div class="paragraph"> |
| <p><strong>Linux</strong></p> |
| </div> |
| <div class="listingblock"> |
| <div class="content"> |
| <pre class="CodeRay highlight"><code data-lang="text">$ cd $HOME/trafodion/trafci |
| $ ls |
| README trafciInstaller.jar</code></pre> |
| </div> |
| </div> |
| </li> |
| <li> |
| <p>Before launching the command-line installer, see the command options below:</p> |
| <div class="listingblock"> |
| <div class="content"> |
| <pre class="CodeRay highlight"><code data-lang="text">java -jar trafciInstaller.jar -help |
| Usage: java -jar <installer jar> [ -help] | <-cm|-silent> |
| [-jdbcFile <jdbc filename>] [-installDir <install dir>] ]</code></pre> |
| </div> |
| </div> |
| <div class="paragraph"> |
| <p>The <code>-silent</code> option installs the client without prompting you for options.</p> |
| </div> |
| <div class="paragraph"> |
| <p><strong>Windows</strong></p> |
| </div> |
| <div class="listingblock"> |
| <div class="content"> |
| <pre class="CodeRay highlight"><code data-lang="text">java -jar trafciInstaller.jar -silent -jdbcFile "C:\trafodion\jdbct4\lib\jdbcT4.jar" -installDir C:\trafodion\trafci</code></pre> |
| </div> |
| </div> |
| <div class="paragraph"> |
| <p><strong>Linux</strong></p> |
| </div> |
| <div class="listingblock"> |
| <div class="content"> |
| <pre class="CodeRay highlight"><code data-lang="text">java -jar trafciInstaller.jar -silent -jdbcFile "$HOME/jdbct4/lib/jdbcT4.jar" -installDir $HOME/trafodion/trafci</code></pre> |
| </div> |
| </div> |
| <div class="paragraph"> |
| <p><em>-jdbcFile</em> and <em>-installDir</em> are optional parameters. If you do not specify those parameters, you will be prompted to enter them during |
| installation.</p> |
| </div> |
| <div style="page-break-after: always;"></div> |
| </li> |
| <li> |
| <p>Launch the command-line installer by entering this command:</p> |
| <div class="listingblock"> |
| <div class="content"> |
| <pre class="CodeRay highlight"><code data-lang="text">java -jar trafciInstaller.jar -cm</code></pre> |
| </div> |
| </div> |
| <div class="paragraph"> |
| <p>The command-line installer starts and prompts you to enter the type of installation:</p> |
| </div> |
| <div class="paragraph"> |
| <p><strong>Windows</strong></p> |
| </div> |
| <div class="listingblock"> |
| <div class="content"> |
| <pre class="CodeRay highlight"><code data-lang="text">c:\> cd c:\trafodion\trafci |
| c:\trafodion\trafci> java -jar trafciInstaller.jar -cm |
| ******************************************************************** |
| **** ** |
| **** Welcome to Trafodion Command Interface Installer ** |
| **** ** |
| **** NOTE: The installer requires a the JDBC Type 4 ** |
| **** Driver to be installed a on your workstation. ** |
| ******************************************************************** |
| Type Y for a standard installation, or N for optional components only. |
| |
| Standard Installation [Y]:</code></pre> |
| </div> |
| </div> |
| <div class="paragraph"> |
| <p><strong>Linux</strong></p> |
| </div> |
| <div class="listingblock"> |
| <div class="content"> |
| <pre class="CodeRay highlight"><code data-lang="text">$ cd $HOME/trafodion/trafci |
| $ java -jar trafciInstaller.jar -cm |
| ******************************************************************** |
| **** ** |
| **** Welcome to Trafodion Command Interface Installer ** |
| **** ** |
| **** NOTE: The installer requires a the JDBC Type 4 ** |
| **** Driver to be installed a on your workstation. ** |
| ******************************************************************** |
| Type Y for a standard installation, or N for optional components only. |
| |
| Standard Installation [Y]:</code></pre> |
| </div> |
| </div> |
| <div class="ulist"> |
| <ul> |
| <li> |
| <p>For a standard installation, type <strong>Y</strong> and press <strong>Enter</strong>.</p> |
| </li> |
| <li> |
| <p>To install the optional components only, type <strong>N</strong>, press <strong>Enter</strong>, and proceed to Step 7.</p> |
| <div class="admonitionblock note"> |
| <table> |
| <tr> |
| <td class="icon"> |
| <i class="fa icon-note" title="Note"></i> |
| </td> |
| <td class="content"> |
| All items in square brackets are default values. Press Enter to accept the default value. |
| </td> |
| </tr> |
| </table> |
| </div> |
| <div style="page-break-after: always;"></div> |
| </li> |
| </ul> |
| </div> |
| </li> |
| <li> |
| <p>Enter the full directory path and file name of the JDBC driver JAR file, <code>jdbcT4.jar</code>, which is located in the JDBC driver lib directory:</p> |
| <div class="listingblock"> |
| <div class="content"> |
| <pre class="CodeRay highlight"><code data-lang="text">JDBC Type 4 Driver JAR File |
| -------------------------------- |
| Enter the location and file name:</code></pre> |
| </div> |
| </div> |
| <div class="ulist"> |
| <ul> |
| <li> |
| <p><strong>Windows</strong>: <code>c:\trafodion\jdbct4\lib\jdbcT4.jar</code></p> |
| </li> |
| <li> |
| <p><strong>Linux</strong>: <code>/opt/user/trafodion/lib/jdbcT4.jar</code></p> |
| <div class="admonitionblock note"> |
| <table> |
| <tr> |
| <td class="icon"> |
| <i class="fa icon-note" title="Note"></i> |
| </td> |
| <td class="content"> |
| Don’t use environmental variables on Linux (such as <code>$HOME</code>). Instead, specify the full path to the |
| <code>jdbcT4.jar</code> file. |
| </td> |
| </tr> |
| </table> |
| </div> |
| </li> |
| </ul> |
| </div> |
| </li> |
| <li> |
| <p>Enter an existing directory where you would like to install trafci:</p> |
| <div class="listingblock"> |
| <div class="content"> |
| <pre class="CodeRay highlight"><code data-lang="text">Trafodion Command Interface |
| -------------------------------- |
| Enter the installation directory:</code></pre> |
| </div> |
| </div> |
| <div class="ulist"> |
| <ul> |
| <li> |
| <p><strong>Windows</strong>: <code>c:\trafodion\trafci</code></p> |
| </li> |
| <li> |
| <p><strong>Linux</strong>: <code>/opt/user/trafodion/trafci</code></p> |
| <div class="paragraph"> |
| <p>The installation status appears, indicating how many files are installed in the installation directory:</p> |
| </div> |
| <div class="listingblock"> |
| <div class="content"> |
| <pre class="CodeRay highlight"><code data-lang="text">Extracted 18 files from the |
| /opt/user/trafodion/trafci/trafciInstaller.jar archive into the |
| /opt/user/trafodion/trafci directory. |
| Core TRAFCI files installed. |
| Do you want to install the optional components? [Y]:</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"> |
| Don’t use environmental variables on Linux (such as <code>$HOME</code>). Instead, specify the full path to the |
| <code>jdbcT4.jar</code> file. |
| </td> |
| </tr> |
| </table> |
| </div> |
| </li> |
| </ul> |
| </div> |
| </li> |
| <li> |
| <p>If you do not wish to download and install the optional components, type <strong>N</strong> at the prompt and press Enter, and your installation |
| is complete. Otherwise, type <strong>Y</strong>, press <strong>Enter</strong>, and proceed through the remainder of the installation.</p> |
| <div style="page-break-after: always;"></div> |
| </li> |
| <li> |
| <p>Type <strong>Y</strong> and press <strong>Enter</strong> if you agree to the terms. If you are doing an optional install only, you are prompted to enter a valid trafci |
| installation directory:</p> |
| <div class="listingblock"> |
| <div class="content"> |
| <pre class="CodeRay highlight"><code data-lang="text">Do you agree to these terms? (Y or N): Y |
| |
| Enter your installation directory:</code></pre> |
| </div> |
| </div> |
| </li> |
| <li> |
| <p>If you do not require a proxy server, type <strong>N</strong>, press <strong>Enter</strong>, and proceed to Step 10. Otherwise, type <strong>Y</strong>, press <strong>Enter</strong>, |
| and proceed to Step 9.</p> |
| <div class="listingblock"> |
| <div class="content"> |
| <pre class="CodeRay highlight"><code data-lang="text">Use a proxy server? [N]:</code></pre> |
| </div> |
| </div> |
| </li> |
| <li> |
| <p>When prompted to auto-detect proxy servers, type <strong>Y</strong> and press <strong>Enter</strong> to direct trafci to detect your proxy settings. |
| If trafci finds proxy servers, it displays them. If you type <strong>N</strong> and press <strong>Enter</strong>, trafci prompts you to enter the proxy server and port:</p> |
| <div class="listingblock"> |
| <div class="content"> |
| <pre class="CodeRay highlight"><code data-lang="text">Use a proxy server? [Y]: Y |
| Attempt to auto-detect proxy server(s)? [Y]: N |
| Enter the proxy server (do not include the port): myproxyserver.com |
| Enter the proxy port: 8080</code></pre> |
| </div> |
| </div> |
| </li> |
| <li> |
| <p>You are prompted to select which optional components you wish to download and install. You can also change the download URL.</p> |
| <div class="listingblock"> |
| <div class="content"> |
| <pre class="CodeRay highlight"><code data-lang="text">Install Perl JavaServer extensions? [Y]: Y |
| |
| Perl JavaServer requires 3 files: Java.pm, JavaArray.pm, and JavaServer.jar |
| http://search.cpan.org/src/METZZO/Java-4.7/[URL of the folder which contains these files [http://search.cpan.org/src/METZZO/Java-4.7/]:] |
| |
| Install Perl XML SAX Module? [Y]: Y |
| |
| Perl SAX XML Module URL (PerlSAX.pm) |
| |
| Install Jython, a Java implementation of Python? [Y]: Y |
| |
| Jython URL (jython_installer-2.2.jar)</code></pre> |
| </div> |
| </div> |
| <div style="page-break-after: always;"></div> |
| </li> |
| <li> |
| <p>The setup proceeds to download and install the optional open-source components. As each component is retrieved, dots (.) are printed to |
| indicate the progress of the download.</p> |
| <div class="listingblock"> |
| <div class="content"> |
| <pre class="CodeRay highlight"><code data-lang="text">Downloading Perl JavaServer [1 of 3] - Java.pm |
| ......................... 100% |
| Downloading Perl JavaServer [2 of 3] - JavaArray.pm1 |
| ......................... 100% |
| Downloading Perl JavaServer [3 of 3] - JavaServer.jar |
| ......................... 100% |
| Successfully added settings.pl |
| Downloading Perl XML SAX Module [1 of 1] - PerlSAX.pm |
| ......................... 100% |
| Downloading Jython [1 of 1] - jython_installer-2.2.jar |
| ......................... 100% |
| Successfully Installed Jython. Successfully added settings.py |
| Trafodion Command Interface Installation Complete. |
| $</code></pre> |
| </div> |
| </div> |
| </li> |
| </ol> |
| </div> |
| <div style="page-break-after: always;"></div> |
| </div> |
| </div> |
| <div class="sect2"> |
| <h3 id="_verify_installed_software_files">5.5. Verify Installed Software Files</h3> |
| <div class="paragraph"> |
| <p>After downloading and running the installer file, verify that the trafci software files are installed in the correct locations. |
| <code>c:\trafodion\trafci</code> (Windows) or <code>$HOME/trafodion/trafci</code> (Linux).</p> |
| </div> |
| <table class="tableblock frame-all grid-all spread"> |
| <colgroup> |
| <col style="width: 15%;"> |
| <col style="width: 20%;"> |
| <col style="width: 65%;"> |
| </colgroup> |
| <thead> |
| <tr> |
| <th class="tableblock halign-left valign-top">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>bin</code></p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock"><code>trafci</code></p></td> |
| <td class="tableblock halign-left valign-top"></td> |
| </tr> |
| <tr> |
| <td class="tableblock halign-left valign-top"></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock"><code>trafci.cmd</code></p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">Windows launch file.</p></td> |
| </tr> |
| <tr> |
| <td class="tableblock halign-left valign-top"></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock"><code>trafci.pl</code></p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">Perl wrapper script. <em>trafci-perl.pl</em> is renamed <em>trafci.pl</em>. To run this script, see the |
| <a href="http://trafodion.incubator.apache.org/docs/command_interface/index.html"><em>Trafodion Command Interface Guide</em></a>.</p></td> |
| </tr> |
| <tr> |
| <td class="tableblock halign-left valign-top"></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock"><code>trafci.py</code></p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">Python wrapper script. trafci-python.py is renamed as trafci.py. To run this script, see the |
| <a href="http://trafodion.incubator.apache.org/docs/command_interface/index.html"><em>Trafodion Command Interface Guide</em></a>.</p></td> |
| </tr> |
| <tr> |
| <td class="tableblock halign-left valign-top"></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock"><code>trafci.sh</code></p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">Linux launch file.</p></td> |
| </tr> |
| <tr> |
| <td class="tableblock halign-left valign-top"></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock"><code>trafci-perl.pl</code></p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">Perl wrapper script. This script has been modified to invoke trafci.pl. This script is retained for backward compatibility.</p></td> |
| </tr> |
| <tr> |
| <td class="tableblock halign-left valign-top"></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock"><code>trafci-python.py</code></p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">Python wrapper script. This script has been modified to invoke trafci.py. This script is retained for backward compatibility.</p></td> |
| </tr> |
| <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>trafci.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>lib/perl</code></p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Session.pm</code></p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">Product file.</p></td> |
| </tr> |
| <tr> |
| <td class="tableblock halign-left valign-top"><p class="tableblock"><code>lib/python</code></p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Session.py</code></p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">Product 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>README</code></p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">Readme file that describes how to use the sample scripts.</p></td> |
| </tr> |
| <tr> |
| <td class="tableblock halign-left valign-top"></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock"><code>arrayDML.pl</code></p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">Sample Perl program that executes DML statements and returns results in an array format.</p></td> |
| </tr> |
| <tr> |
| <td class="tableblock halign-left valign-top"></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock"><code>sample.pl</code></p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">Sample Perl program that supports multiple sessions in one script.</p></td> |
| </tr> |
| <tr> |
| <td class="tableblock halign-left valign-top"></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock"><code>sample.sql</code></p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">Sample SQL script.</p></td> |
| </tr> |
| <tr> |
| <td class="tableblock halign-left valign-top"></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock"><code>sampleDDL.py</code></p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">Sample Python file that uses Jython to execute DDL statements.</p></td> |
| </tr> |
| <tr> |
| <td class="tableblock halign-left valign-top"></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock"><code>sampleDML.py</code></p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">Sample Python file that uses Jython to execute DML statements.</p></td> |
| </tr> |
| <tr> |
| <td class="tableblock halign-left valign-top"></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock"><code>sampleTables.pl</code></p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">Sample Perl file that lists all tables and respective row counts. The file accepts a wild-card argument on the command line.</p></td> |
| </tr> |
| <tr> |
| <td class="tableblock halign-left valign-top"></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock"><code>sampleTables.py</code></p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">Sample Python file that lists all tables and respective row counts. The file accepts a wild-card argument on the command line.</p></td> |
| </tr> |
| </tbody> |
| </table> |
| </div> |
| <div class="sect2"> |
| <h3 id="_modify_path_variable">5.6. Modify PATH variable</h3> |
| <div class="paragraph"> |
| <p>Modify the PATH variable:</p> |
| </div> |
| <div class="ulist"> |
| <ul> |
| <li> |
| <p><strong>Windows:</strong> <code>c:\trafodion\trafci\bin\</code></p> |
| </li> |
| <li> |
| <p><strong>Linux:</strong> <code>$HOME/trafodion/trafci/bin</code></p> |
| </li> |
| </ul> |
| </div> |
| <div class="paragraph"> |
| <p>See <a href="#howto-setup-path">Set Up Path Variable</a> for further instructions.</p> |
| </div> |
| <div style="page-break-after: always;"></div> |
| </div> |
| <div class="sect2"> |
| <h3 id="_test_launching_trafci">5.7. Test Launching trafci</h3> |
| <div class="admonitionblock note"> |
| <table> |
| <tr> |
| <td class="icon"> |
| <i class="fa icon-note" title="Note"></i> |
| </td> |
| <td class="content"> |
| For information about setting up and using trafci, such as choosing the look and feel of the interface or presetting launch parameters, see the |
| <a href="http://trafodion.incubator.apache.org/docs/command_interface/index.html">Trafodion Command Interface Guide</a>. |
| </td> |
| </tr> |
| </table> |
| </div> |
| <div class="sect3"> |
| <h4 id="_windows_example">5.7.1. Windows Example</h4> |
| <div class="paragraph"> |
| <p>On Windows, do the following:</p> |
| </div> |
| <div class="olist arabic"> |
| <ol class="arabic"> |
| <li> |
| <p>Go to the directory where you installed trafci. For example, <code>c:\trafodion\trafci</code></p> |
| </li> |
| <li> |
| <p>Go to the <code>bin</code> directory</p> |
| </li> |
| <li> |
| <p>Invoke the <code>trafci.cmd</code> file.</p> |
| </li> |
| <li> |
| <p>Answer prompts.</p> |
| </li> |
| </ol> |
| </div> |
| <div class="listingblock"> |
| <div class="content"> |
| <pre class="CodeRay highlight"><code data-lang="text">cd "c:\trafodion\trafci\bin" |
| trafci.cmd |
| <screen is cleared> |
| |
| Welcome to Apache Trafodion Command Interface |
| Copyright (c) 2015 Apache Software Foundation |
| |
| Host Name/IP Address: trafodion.host.com:23400 |
| User Name: usr |
| Password: |
| |
| |
| Connected to Trafodion |
| |
| SQL> show schemas ; |
| |
| SCHEMA NAMES |
| -------------------------------------------------------------------------------- |
| SEABASE _MD_ _REPOS_ _LIBMGR_ |
| |
| SQL></code></pre> |
| </div> |
| </div> |
| <div style="page-break-after: always;"></div> |
| </div> |
| <div class="sect3"> |
| <h4 id="_linux_example">5.7.2. Linux Example</h4> |
| <div class="paragraph"> |
| <p>On Linux, do the following:</p> |
| </div> |
| <div class="olist arabic"> |
| <ol class="arabic"> |
| <li> |
| <p>Go to the directory where you installed trafci. For example, <code>$HOME/trafodion/trafci</code></p> |
| </li> |
| <li> |
| <p>Go to the <code>bin</code> directory</p> |
| </li> |
| <li> |
| <p>Invoke the <code>trafci.sh</code> file.</p> |
| </li> |
| <li> |
| <p>Answer prompts.</p> |
| </li> |
| </ol> |
| </div> |
| <div class="listingblock"> |
| <div class="content"> |
| <pre class="CodeRay highlight"><code data-lang="text">$ cd $HOME/trafodion/trafci/bin |
| $ . ./trafci.sh -h trafodion.home.com:23400 -u usr -p pwd |
| |
| Welcome to Apache Trafodion Command Interface |
| Copyright (c) 2015 Apache Software Foundation |
| |
| Connected to Trafodion |
| |
| SQL>show schemas; |
| |
| SCHEMA NAMES |
| -------------------------------------------------------------------------------- |
| SEABASE _MD_ _REPOS_ _LIBMGR_ |
| |
| SQL></code></pre> |
| </div> |
| </div> |
| <div style="page-break-after: always;"></div> |
| </div> |
| </div> |
| <div class="sect2"> |
| <h3 id="trafci-uninstall">5.8. Uninstall trafci</h3> |
| <div class="paragraph"> |
| <p>If you used the executable JAR file, <code>trafciInstaller.jar</code>, to install trafci, delete the entire |
| folder/directory when you installed trafci.</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 <trafci-installation-directory></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\trafci</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 <jdbc-installation-directory></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/trafci</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 remove the trafci reference in the PATH variable. |
| </td> |
| </tr> |
| </table> |
| </div> |
| </div> |
| </div> |
| </div> |
| <div class="sect1"> |
| <h2 id="_configure_dbvisualizer">6. Configure DBVisualizer</h2> |
| <div class="sectionbody"> |
| <div class="sect2"> |
| <h3 id="_prerequisites_3">6.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>You also need DBVisualizer 9.x.x. See the <a href="http://www.dbvis.com/"><em>DbVisualizer website</em></a>. |
| In addition, see DBVisualizer’s FAQ “How to” page: |
| <a href="http://confluence.dbvis.com/pages/viewpage.action?pageId=3146120"><em>How do I change the Java version that DBVisualizer uses?</em></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="_configuration_instructions">6.2. Configuration Instructions</h3> |
| <div class="sect3"> |
| <h4 id="_register_jdbc_type_4_driver">6.2.1. Register JDBC Type-4 Driver</h4> |
| <div class="olist arabic"> |
| <ol class="arabic"> |
| <li> |
| <p>Select <strong>Tools>Driver Manager</strong>.</p> |
| </li> |
| <li> |
| <p>Click on the green plus sign to add a new driver.</p> |
| <div class="paragraph"> |
| <p><span class="image"><img src="images/DbVisualizer_Driver_Manager.jpg" alt="DBVizualizer Add New Driver" width="500" height="500"></span></p> |
| </div> |
| <div class="ulist"> |
| <ul> |
| <li> |
| <p>Use the Open File icon and locate the Trafodion JDBC Type-4 Driver. |
| <code>c:\trafodion\jdbct4\lib\jdbcT4.jar</code> (Windows) or <code>$HOME/trafodion/jdbct4/lib/jdbcT4.jar</code> (Linux).</p> |
| </li> |
| <li> |
| <p>Use the JDBC URL format (literary, do not replace the placeholders):</p> |
| <div class="listingblock"> |
| <div class="content"> |
| <pre class="CodeRay highlight"><code data-lang="text">jdbc:t4jdbc://<host-name or ip-address>:23400/:</code></pre> |
| </div> |
| </div> |
| </li> |
| </ul> |
| </div> |
| </li> |
| <li> |
| <p>Close the dialog box to save the settings.</p> |
| </li> |
| </ol> |
| </div> |
| </div> |
| <div class="sect3"> |
| <h4 id="_create_database_connection">6.2.2. Create Database Connection</h4> |
| <div class="olist arabic"> |
| <ol class="arabic"> |
| <li> |
| <p>Select <strong>Database>Create Database Connection</strong>.</p> |
| </li> |
| <li> |
| <p>Click on the <strong>Driver (JDBC)</strong> field. This presents you with a drop-down list of drivers.</p> |
| </li> |
| <li> |
| <p>Select the driver you created in the step above. (<code>Trafodion</code>)</p> |
| </li> |
| <li> |
| <p>Right-click the <strong>Database URL</strong> field. Select the URL format that pops up.</p> |
| <div class="paragraph"> |
| <p>The field should be populated with: <code>jdbc:t4jdbc://<host-name or ip-address>:23400/:</code></p> |
| </div> |
| </li> |
| <li> |
| <p>Edit (double-click the field) the database URL to match your target host name and port number.</p> |
| <div class="paragraph"> |
| <p><strong>Example</strong></p> |
| </div> |
| <div class="listingblock"> |
| <div class="content"> |
| <pre class="CodeRay highlight"><code data-lang="text">jdbc:t4jdbc://node01.host.com:23400/:</code></pre> |
| </div> |
| </div> |
| </li> |
| <li> |
| <p>Add your <strong>Database Userid</strong>.</p> |
| </li> |
| <li> |
| <p>Add your <strong>Database Password</strong>.</p> |
| <div class="paragraph"> |
| <p><span class="image"><img src="images/Database_Connection_in_DbVisualizer.jpg" alt="DBVizualizer Make Connection" width="500" height="500"></span></p> |
| </div> |
| </li> |
| </ol> |
| </div> |
| <div style="page-break-after: always;"></div> |
| </div> |
| <div class="sect3"> |
| <h4 id="_disable_connection_validation_select_option">6.2.3. Disable Connection Validation Select Option</h4> |
| <div class="sect4"> |
| <h5 id="_dbvisualizer_9_2_or_a_later_version">DBVisualizer 9.2 (or a later version)</h5> |
| <div class="paragraph"> |
| <p>Set the <strong>Physical Connection</strong> property to keep your connections alive. Follow these steps:</p> |
| </div> |
| <div class="olist arabic"> |
| <ol class="arabic"> |
| <li> |
| <p>Open the database connection you created earlier if it’s not open.</p> |
| </li> |
| <li> |
| <p>Select the <strong>Properties</strong> tab.</p> |
| </li> |
| <li> |
| <p>In the left navigation tree, expand the <strong>Generic</strong> connection properties, and select <strong>Physical Connection</strong>.</p> |
| </li> |
| <li> |
| <p>Under <strong>Validation SQL</strong>, enter <code>values(current_timestamp)</code> and click <strong>Apply</strong>.</p> |
| <div class="paragraph"> |
| <p><span class="image"><img src="images/Physical_Connection.jpg" alt="DBVisualizer Physical Connection" width="500" height="500"></span></p> |
| </div> |
| </li> |
| </ol> |
| </div> |
| </div> |
| <div class="sect4"> |
| <h5 id="_dbvisualizer_9_1_or_an_earlier_version">DBVisualizer 9.1 (or an earlier version)</h5> |
| <div class="paragraph"> |
| <p>Edit the <code><em>DBVisualizer-Install-Dir</em>\resources\dbvis-custom.prefs</code> file and |
| disable the <code>ConnectionValidationSelect</code> option as shown below:</p> |
| </div> |
| <div class="listingblock"> |
| <div class="content"> |
| <pre class="CodeRay highlight"><code data-lang="text">dbvis.generic.-ConnectionValidationSelect=disabled</code></pre> |
| </div> |
| </div> |
| </div> |
| </div> |
| <div class="sect3"> |
| <h4 id="_connect_to_trafodion">6.2.4. Connect to Trafodion</h4> |
| <div class="olist arabic"> |
| <ol class="arabic"> |
| <li> |
| <p>Right click on the database connection.</p> |
| </li> |
| <li> |
| <p>Select <strong>Connect</strong>.</p> |
| </li> |
| </ol> |
| </div> |
| <div class="paragraph"> |
| <p>Once connected:</p> |
| </div> |
| <div class="olist arabic"> |
| <ol class="arabic"> |
| <li> |
| <p>Select <strong>SQL Commander>New SQL Commander</strong>. (CTRL+T)</p> |
| </li> |
| <li> |
| <p>Browse the tree structure in the left pane under <strong>Connections</strong>.</p> |
| </li> |
| <li> |
| <p>Try a query.</p> |
| </li> |
| </ol> |
| </div> |
| </div> |
| </div> |
| </div> |
| </div> |
| <div class="sect1"> |
| <h2 id="_configure_squirrel_client">7. Configure SQuirreL Client</h2> |
| <div class="sectionbody"> |
| <div class="sect2"> |
| <h3 id="_prerequisites_4">7.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>You also need SQuirreL SQL Client 3.7.0 or later. See the <a href="http://squirrel-sql.sourceforge.net/"><em>SQuirreL SQL Client website</em></a>.</p> |
| </div> |
| </div> |
| <div class="sect2"> |
| <h3 id="_configuration_instructions_2">7.2. Configuration Instructions</h3> |
| <div class="sect3"> |
| <h4 id="_register_jdbc_type_4_driver_2">7.2.1. Register JDBC Type-4 Driver</h4> |
| <div class="olist arabic"> |
| <ol class="arabic"> |
| <li> |
| <p>Start SQuirreL SQL Client</p> |
| </li> |
| <li> |
| <p>Click in the rectangle box in the upper left of the window that has “Drivers” printed sideways.</p> |
| </li> |
| <li> |
| <p>Select the "+ New Driver. . ." under "Drivers" from the top menu.</p> |
| <div class="paragraph"> |
| <p><span class="image"><img src="images/SQuirrel_New_Driver.jpg" alt="SQuirreL New Driver Dialog Box"></span></p> |
| </div> |
| </li> |
| <li> |
| <p>In the <strong>Add Driver</strong> dialog box:</p> |
| <div class="olist loweralpha"> |
| <ol class="loweralpha" type="a"> |
| <li> |
| <p>Enter <code>Trafodion</code> in the <strong>Name</strong> field.</p> |
| </li> |
| <li> |
| <p>Enter <code>jdbc:t4jdbc://<host-name or ip-address:23400/:</code> in the <strong>Example URL</strong> field.</p> |
| <div class="paragraph"> |
| <p>The default port number is 23400. If you have configured JDBC server on Trafodion with a different port number, |
| then you will need to change the 23400 value to match.</p> |
| </div> |
| </li> |
| <li> |
| <p>Select the <strong>Extra Class Path</strong> tab and then click the <strong>Add</strong> button.</p> |
| <div class="paragraph"> |
| <p>Use the file browser to navigate to the directory where you installed the |
| drivers and select the driver. (<code>jdbct4\lib\jdbcT4.jar</code>)</p> |
| </div> |
| </li> |
| <li> |
| <p>Enter <code>org.trafodion.jdbc.t4.T4Driver</code> in the Class Name field at the bottom of the dialog box and then click on <strong>OK</strong>.</p> |
| </li> |
| <li> |
| <p>If configured correctly, you will see a message stating |
| "Driver class org.trafodion.jdbc.t4.T4Driver successfully registered for driver definition: Trafodion" in the text box |
| at the bottom of the SQuirreL SQL window.</p> |
| <div class="paragraph"> |
| <p><span class="image"><img src="images/SQuirrel_Extra_Class_Path.jpg" alt="SQuirreL Extra Class Path Dialog Box"></span></p> |
| </div> |
| </li> |
| </ol> |
| </div> |
| </li> |
| <li> |
| <p>Click in the rectangle box in the upper left of the window that has "Drivers" printed sideways.</p> |
| </li> |
| </ol> |
| </div> |
| <div style="page-break-after: always;"></div> |
| </div> |
| <div class="sect3"> |
| <h4 id="_connect_to_trafodion_2">7.2.2. Connect to Trafodion</h4> |
| <div class="paragraph"> |
| <p>Use the Add Alias dialog box and create an alias for your Trafodion System.</p> |
| </div> |
| <div class="olist arabic"> |
| <ol class="arabic"> |
| <li> |
| <p>Select the "+ New Alias. . ." under <strong>Aliases</strong> from the top menu.</p> |
| </li> |
| <li> |
| <p>In the <strong>Add Alias</strong> dialog box:</p> |
| <div class="olist loweralpha"> |
| <ol class="loweralpha" type="a"> |
| <li> |
| <p>Enter <code>Trafodion Cluster</code> or however you want to identify the cluster in the Name field.</p> |
| </li> |
| <li> |
| <p>Select <strong>Trafodion</strong> from the Driver select menu.</p> |
| </li> |
| <li> |
| <p>Enter <your user name> in the User Name field.</p> |
| </li> |
| <li> |
| <p>Enter <your password> in the Password field.</p> |
| </li> |
| <li> |
| <p>Click on the <strong>Properties</strong> button. In the Schema tab, select the <strong>Load all and cache all Schemas</strong> radio button.</p> |
| </li> |
| <li> |
| <p>Click on the <strong>OK</strong> button to close the Properties dialog and then click on the <strong>OK</strong> button to close the <strong>Add Aliases</strong> window.</p> |
| <div class="paragraph"> |
| <p><span class="image"><img src="images/SQuirrel_Add_Alias.jpg" alt="SQuirreL Add Alias Dialog Box"></span></p> |
| </div> |
| </li> |
| </ol> |
| </div> |
| </li> |
| <li> |
| <p>You will now be presented with a dialog to connect. Click on the <strong>Connect</strong> button and then issue a query to test the connection.</p> |
| </li> |
| </ol> |
| </div> |
| </div> |
| </div> |
| </div> |
| </div> |
| <div class="sect1"> |
| <h2 id="odbc-linux-install">8. Install Linux ODBC Driver</h2> |
| <div class="sectionbody"> |
| <div class="sect2"> |
| <h3 id="_installation_requirements">8.1. Installation Requirements</h3> |
| <div class="paragraph"> |
| <p>If you have not done so already, please ensure that you have <a href="#download-software">unpackaged the Trafodion |
| client software</a>.</p> |
| </div> |
| <div class="paragraph"> |
| <p>In addition, the ODBC driver for Linux requires <code>libgcc 3.4.3</code> and <code>libstd++ 6.0</code>.</p> |
| </div> |
| <div class="paragraph"> |
| <p>If you are building ODBC applications, please use the preferred build platform, RedHat 6.x or CentOS 6.x.</p> |
| </div> |
| <div class="paragraph"> |
| <p>The examples in this chapter assumes that you have unpackaged the JDBC Type for installation files |
| to <code>$HOME/trafodion/odbc</code>.</p> |
| </div> |
| <div style="page-break-after: always;"></div> |
| </div> |
| <div class="sect2"> |
| <h3 id="_validate_install_directory">8.2. Validate Install Directory</h3> |
| <div class="paragraph"> |
| <p><code>$HOME/trafodion/odbc/PkgTmp</code> should contain:</p> |
| </div> |
| <div class="listingblock"> |
| <div class="content"> |
| <pre class="CodeRay highlight"><code data-lang="text">connect_test.cpp |
| install.sh |
| libicudataNv44.so.44 |
| libicuucNv44.so.44 |
| libtrafodbc_l64.so |
| libtrafodbc_l64_drvr.so |
| LICENSE |
| license.txt |
| MD5SUM |
| TRAFDSN</code></pre> |
| </div> |
| </div> |
| <div class="paragraph"> |
| <p>By default, a new version of the Trafodion ODBC driver is installed in the following directories |
| unless you specify a different directory during installation:</p> |
| </div> |
| <div class="ulist"> |
| <ul> |
| <li> |
| <p><code>/usr/lib64</code></p> |
| </li> |
| <li> |
| <p><code>/etc/odbc</code></p> |
| </li> |
| </ul> |
| </div> |
| <div class="admonitionblock note"> |
| <table> |
| <tr> |
| <td class="icon"> |
| <i class="fa icon-note" title="Note"></i> |
| </td> |
| <td class="content"> |
| The following header files are not packaged with the Trafodion ODBC driver:<br> |
| <br> |
| - <code>sql.h</code><br> |
| - <code>sqlext.h</code><br> |
| - <code>sqltypes.h</code><br> |
| - <code>sqlucode.h</code><br> |
| <br> |
| To install those header files, <a href="#linux_odbc_client_env">Set Up Client Environment</a> below. |
| </td> |
| </tr> |
| </table> |
| </div> |
| <div style="page-break-after: always;"></div> |
| </div> |
| <div class="sect2"> |
| <h3 id="_install_reinstall_linux_odbc_driver">8.3. Install/Reinstall Linux ODBC Driver</h3> |
| <div class="admonitionblock note"> |
| <table> |
| <tr> |
| <td class="icon"> |
| <i class="fa icon-note" title="Note"></i> |
| </td> |
| <td class="content"> |
| You must have root (<code>sudo</code>) access to install the Trafodion ODBC Driver for Linux at the default system location. |
| If you don’t have such access, the install the ODBC driver to an alternate location; for example: <code>$HOME/trafodion/odbc</code>. |
| </td> |
| </tr> |
| </table> |
| </div> |
| <div class="olist arabic"> |
| <ol class="arabic"> |
| <li> |
| <p>Install the product by entering these commands:</p> |
| <div class="paragraph"> |
| <p><strong>With <code>sudo</code> Access</strong></p> |
| </div> |
| <div class="listingblock"> |
| <div class="content"> |
| <pre class="CodeRay highlight"><code data-lang="text">cd $HOME/trafodion/odbc/PkgTmp |
| sudo ./install.sh</code></pre> |
| </div> |
| </div> |
| <div class="paragraph"> |
| <p><strong>Without <code>sudo</code> Access</strong></p> |
| </div> |
| <div class="listingblock"> |
| <div class="content"> |
| <pre class="CodeRay highlight"><code data-lang="text">cd $HOME/trafodion/odbc/PkgTmp |
| ./install.sh</code></pre> |
| </div> |
| </div> |
| <div class="paragraph"> |
| <p>Except for the sample file, the <code>install.sh</code> script saves a copy (<code>.SAV</code>) of your previous installation files if they exist.</p> |
| </div> |
| </li> |
| <li> |
| <p>Accept the terms of the license agreement by entering <strong>yes</strong>.</p> |
| <div class="admonitionblock note"> |
| <table> |
| <tr> |
| <td class="icon"> |
| <i class="fa icon-note" title="Note"></i> |
| </td> |
| <td class="content"> |
| Don’t use environmental variables when specifying alternative location. Instead, use |
| the full path. For example, specify <code>/opt/user/trafodion/odbc</code> instead of <code>$HOME/trafodion/odbc</code>. |
| </td> |
| </tr> |
| </table> |
| </div> |
| </li> |
| <li> |
| <p>Enter a directory for the library files, or press Enter to use the default directory (<code>/usr/lib64</code>).</p> |
| </li> |
| <li> |
| <p>Enter a directory for the data-source template file, or press <strong>Enter</strong> to use the default directory (<code>/etc/odbc</code>).</p> |
| </li> |
| <li> |
| <p>Enter a directory for the sample program, or press <strong>Enter</strong> to use the default directory (<code>/etc/odbc</code>).</p> |
| </li> |
| <li> |
| <p>If you installed the library files, data-source template file, and the sample program in an |
| alternative location, then verify the directory content:</p> |
| </li> |
| </ol> |
| </div> |
| <div style="page-break-after: always;"></div> |
| <div class="sect3"> |
| <h4 id="linux_odbc_client_env">8.3.1. Set Up Client Environment</h4> |
| <div class="paragraph"> |
| <p>If you selected default options during installation, ensure that:</p> |
| </div> |
| <div class="ulist"> |
| <ul> |
| <li> |
| <p>The libraries are located in the <code>/usr/lib64</code> directory.</p> |
| </li> |
| <li> |
| <p>A <code>TRAFDSN</code> file is in the <code>/etc/odbc</code> directory.</p> |
| </li> |
| </ul> |
| </div> |
| <div class="paragraph"> |
| <p>If you select non-default locations during installation, ensure that the files are installed |
| in the directories that you specified during installation:</p> |
| </div> |
| <div class="listingblock"> |
| <div class="content"> |
| <pre class="CodeRay highlight"><code data-lang="text">$ cd $HOME/trafodion/odbc |
| $ ls |
| connect_test.cpp libicuuc.so libtrafodbc_drvr64.so libtrafodbc_l64.so PkgTmp |
| libicudata.so libicuuc.so.44 libtrafodbc_l64_drvr.so libtrafodbc_l64.so.1 TRAFDSN |
| libicudata.so.44 libtrafodbc64.so libtrafodbc_l64_drvr.so.1 MD5SUM |
| |
| $</code></pre> |
| </div> |
| </div> |
| <div class="paragraph"> |
| <p>The driver expects the <code>TRAFDSN</code> file to be present in either the default location (<code>/etc/odbc</code>) |
| or the current working direct or (<code>CWD</code>) of the application. As a best practice, copy |
| the <code>TRAFDSN</code> file to the application directory.</p> |
| </div> |
| <div class="paragraph"> |
| <p>Edit the <code>TRAFDSN</code> file. Make changes to the <code>Default_DataSource</code> section. At a minimum, |
| change the value for <code>Server</code> to the address of the host you are connecting to.</p> |
| </div> |
| <div class="paragraph"> |
| <p><strong>Before</strong></p> |
| </div> |
| <div class="listingblock"> |
| <div class="content"> |
| <pre class="CodeRay highlight"><code data-lang="text">[Default_DataSource] |
| Description = Default Data Source |
| Catalog = TRAFODION |
| Schema = SEABASE |
| DataLang = 0 |
| FetchBufferSize = SYSTEM_DEFAULT |
| Server = TCP:1.2.3.4:23400 |
| SQL_ATTR_CONNECTION_TIMEOUT = SYSTEM_DEFAULT |
| SQL_LOGIN_TIMEOUT = SYSTEM_DEFAULT |
| SQL_QUERY_TIMEOUT = NO_TIMEOUT</code></pre> |
| </div> |
| </div> |
| <div style="page-break-after: always;"></div> |
| <div class="paragraph"> |
| <p><strong>After</strong></p> |
| </div> |
| <div class="listingblock"> |
| <div class="content"> |
| <pre class="CodeRay highlight"><code data-lang="text">[Default_DataSource] |
| Description = Default Data Source |
| Catalog = TRAFODION |
| Schema = SEABASE |
| DataLang = 0 |
| FetchBufferSize = SYSTEM_DEFAULT |
| Server = TCP:node01.host.com:23400 |
| SQL_ATTR_CONNECTION_TIMEOUT = SYSTEM_DEFAULT |
| SQL_LOGIN_TIMEOUT = SYSTEM_DEFAULT |
| SQL_QUERY_TIMEOUT = NO_TIMEOUT</code></pre> |
| </div> |
| </div> |
| <div class="paragraph"> |
| <p>If you are building ODBC applications, you need to install these header files in your build environment:</p> |
| </div> |
| <div class="ulist"> |
| <ul> |
| <li> |
| <p><code>sql.h</code></p> |
| </li> |
| <li> |
| <p><code>sqlext.h</code></p> |
| </li> |
| <li> |
| <p><code>sqltypes.h</code></p> |
| </li> |
| <li> |
| <p><code>sqlucode.h</code></p> |
| </li> |
| </ul> |
| </div> |
| <div class="paragraph"> |
| <p>To install those header files from the latest packages, run this <code>yum</code> command:</p> |
| </div> |
| <div class="listingblock"> |
| <div class="content"> |
| <pre class="CodeRay highlight"><code data-lang="text">sudo yum -y install libiodbc libiodbc-devel</code></pre> |
| </div> |
| </div> |
| <div class="paragraph"> |
| <p>The <code>yum</code> command automatically installs the header files in the <code>/usr/include</code> and <code>/usr/include/libiodbc</code> directories.</p> |
| </div> |
| <div style="page-break-after: always;"></div> |
| </div> |
| <div class="sect3"> |
| <h4 id="_enable_compression">8.3.2. Enable Compression</h4> |
| <div class="paragraph"> |
| <p>When compression is enabled in the ODBC driver, the ODBC driver can send and receive large volumes of data quickly and efficiently to and from |
| the Trafodion Database Connectivity Services (DCS) server over a TCP/IP network. By default, compression is disabled.</p> |
| </div> |
| <div class="paragraph"> |
| <p>To enable compression in the ODBC driver or to change the compression setting, follow these steps:</p> |
| </div> |
| <div class="ulist"> |
| <ul> |
| <li> |
| <p>If you are using the Trafodion ODBC driver manager, add</p> |
| <div class="listingblock"> |
| <div class="content"> |
| <pre class="CodeRay highlight"><code data-lang="text">Compression = compression-level</code></pre> |
| </div> |
| </div> |
| <div class="paragraph"> |
| <p>to the <code>DSN</code> section of <code>TRAFDSN</code> file.</p> |
| </div> |
| </li> |
| <li> |
| <p>If you are using a third-party driver manager, such as unixODBC, add</p> |
| <div class="listingblock"> |
| <div class="content"> |
| <pre class="CodeRay highlight"><code data-lang="text">Compression = compression-level</code></pre> |
| </div> |
| </div> |
| <div class="paragraph"> |
| <p>to the <code>DSN</code> section of the <code>odbc.ini</code> file.</p> |
| </div> |
| </li> |
| </ul> |
| </div> |
| <div class="paragraph"> |
| <p>The <code><em>compression-level</em></code> is one of these values:</p> |
| </div> |
| <div class="ulist"> |
| <ul> |
| <li> |
| <p><code>SYSTEM_DEFAULT</code>, which is the same as no compression</p> |
| </li> |
| <li> |
| <p><code>no compression</code></p> |
| </li> |
| <li> |
| <p><code>best speed</code></p> |
| </li> |
| <li> |
| <p><code>best compression</code></p> |
| </li> |
| <li> |
| <p><code>balance</code></p> |
| </li> |
| <li> |
| <p>An integer from <code>0</code> to <code>9</code>, with <code>0</code> being <code>no compression</code> and <code>9</code> being the <code>maximum available compression</code></p> |
| </li> |
| </ul> |
| </div> |
| <div class="paragraph"> |
| <p><strong>Example</strong></p> |
| </div> |
| <div class="listingblock"> |
| <div class="content"> |
| <pre class="CodeRay highlight"><code data-lang="text">[Default_DataSource] |
| Description = Default Data Source |
| Catalog = TRAFODION |
| Schema = SEABASE |
| DataLang = 0 |
| FetchBufferSize = SYSTEM_DEFAULT |
| Server = TCP:node01.host.com:23400 |
| SQL_ATTR_CONNECTION_TIMEOUT = SYSTEM_DEFAULT |
| SQL_LOGIN_TIMEOUT = SYSTEM_DEFAULT |
| SQL_QUERY_TIMEOUT = NO_TIMEOUT |
| Compression = Best Compression</code></pre> |
| </div> |
| </div> |
| <div style="page-break-after: always;"></div> |
| </div> |
| </div> |
| <div class="sect2"> |
| <h3 id="_use_third_party_driver_manager">8.4. Use Third-Party Driver Manager</h3> |
| <div class="admonitionblock note"> |
| <table> |
| <tr> |
| <td class="icon"> |
| <i class="fa icon-note" title="Note"></i> |
| </td> |
| <td class="content"> |
| For better performance, we recommend that you use at least version <code>2.3.<em>x</em></code> of unixODBC. |
| </td> |
| </tr> |
| </table> |
| </div> |
| <div class="ulist"> |
| <ul> |
| <li> |
| <p>If you are using an external driver manager, then you must point to <code>libtrafodbc_drvr64.so</code> and not to <code>libtrafodbc64.so</code>.</p> |
| </li> |
| <li> |
| <p>The driver, <code>libtrafodbc_l64_drvr.so</code>, has been verified with iODBC and unixODBC driver managers.</p> |
| </li> |
| <li> |
| <p>These driver managers, as well as documentation, can be found at these Web sites:</p> |
| <div class="ulist"> |
| <ul> |
| <li> |
| <p><a href="http://www.iodbc.org/" class="bare">http://www.iodbc.org/</a></p> |
| </li> |
| <li> |
| <p><a href="http://www.unixodbc.org/" class="bare">http://www.unixodbc.org/</a></p> |
| </li> |
| </ul> |
| </div> |
| </li> |
| <li> |
| <p>For information on the necessary data-source configuration options, you will need to add to the respective configuration files (for example, |
| to <code>odbc.ini</code>).</p> |
| </li> |
| </ul> |
| </div> |
| <div style="page-break-after: always;"></div> |
| </div> |
| <div class="sect2"> |
| <h3 id="_run_sample_program_code_connect_test_code">8.5. Run Sample Program (<code>connect_test</code>)</h3> |
| <div class="admonitionblock note"> |
| <table> |
| <tr> |
| <td class="icon"> |
| <i class="fa icon-note" title="Note"></i> |
| </td> |
| <td class="content"> |
| The examples after each step assume that you have default installation directories. |
| </td> |
| </tr> |
| </table> |
| </div> |
| <div class="paragraph"> |
| <p>If you have a previous version of the Trafodion ODBC driver installed, |
| you need to re-link your existing application to ensure that you pick up |
| the correct version of the driver. If you are unsure of the version, |
| check the version of your application with this command:</p> |
| </div> |
| <div class="listingblock"> |
| <div class="content"> |
| <pre class="CodeRay highlight"><code data-lang="text">ldd object-file</code></pre> |
| </div> |
| </div> |
| <div class="olist arabic"> |
| <ol class="arabic"> |
| <li> |
| <p>Move to the directory where you installed the sample program:</p> |
| <div class="listingblock"> |
| <div class="content"> |
| <pre class="CodeRay highlight"><code data-lang="text">cd /etc/odbc</code></pre> |
| </div> |
| </div> |
| </li> |
| <li> |
| <p>Set the environment variable <code>LD_LIBRARY_PATH</code>:</p> |
| <div class="listingblock"> |
| <div class="content"> |
| <pre class="CodeRay highlight"><code data-lang="text">export LD_LIBRARY_PATH=<path-to-odbc-library-files or /usr/lib64></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">export LD_LIBRARY_PATH=/usr/lib64</code></pre> |
| </div> |
| </div> |
| </li> |
| <li> |
| <p>In the <code>/etc/odbc/TRAFDSN</code> file, add the correct IP address to the <code>Server</code> parameter for the <code>Default_DataSource</code>.</p> |
| <div class="paragraph"> |
| <p><strong>Example (connecting to <code>node01.host.com:23400</code>)</strong></p> |
| </div> |
| <div class="listingblock"> |
| <div class="content"> |
| <pre class="CodeRay highlight"><code data-lang="text">[Default_DataSource] |
| Description = Default Data Source |
| Catalog = TRAFODION |
| Schema = SEABASE |
| DataLang = 0 |
| FetchBufferSize = SYSTEM_DEFAULT |
| Server = TCP:node01.host.com:23400 |
| SQL_ATTR_CONNECTION_TIMEOUT = SYSTEM_DEFAULT |
| SQL_LOGIN_TIMEOUT = SYSTEM_DEFAULT |
| SQL_QUERY_TIMEOUT = NO_TIMEOUT |
| Compression = Best Compression</code></pre> |
| </div> |
| </div> |
| <div style="page-break-after: always;"></div> |
| </li> |
| <li> |
| <p>Compile the sample program.</p> |
| <div class="paragraph"> |
| <p><strong>Default Installation</strong></p> |
| </div> |
| <div class="listingblock"> |
| <div class="content"> |
| <pre class="CodeRay highlight"><code data-lang="text">g++ -g connect_test.cpp -L/usr/lib64 -I/usr/include/odbc -ltrafodbc64 -o connect_test</code></pre> |
| </div> |
| </div> |
| <div class="paragraph"> |
| <p><strong>Alterntiave Installation</strong></p> |
| </div> |
| <div class="listingblock"> |
| <div class="content"> |
| <pre class="CodeRay highlight"><code data-lang="text">g++ -g connect_test.cpp -L$HOME/trafodion/odbc -I/usr/include/odbc -ltrafodbc64 -o connect_test</code></pre> |
| </div> |
| </div> |
| </li> |
| <li> |
| <p>Run the sample program:</p> |
| <div class="listingblock"> |
| <div class="content"> |
| <pre class="CodeRay highlight"><code data-lang="text">./connect_test -d Default_DataSource -u username -p password</code></pre> |
| </div> |
| </div> |
| </li> |
| </ol> |
| </div> |
| <div class="paragraph"> |
| <p>If the sample program runs successfully, you should see output similar to the following:</p> |
| </div> |
| <div class="listingblock"> |
| <div class="content"> |
| <pre class="CodeRay highlight"><code data-lang="text">Using Connect String: DSN=Default_DataSource;UID=username;PWD=****; |
| Connect Test Passed...</code></pre> |
| </div> |
| </div> |
| <div style="page-break-after: always;"></div> |
| </div> |
| <div class="sect2"> |
| <h3 id="linux_odbc_run_basicsql">8.6. Run Sample Program (<code>basicsql</code>)</h3> |
| <div class="admonitionblock note"> |
| <table> |
| <tr> |
| <td class="icon"> |
| <i class="fa icon-note" title="Note"></i> |
| </td> |
| <td class="content"> |
| The Basic SQL sample program is not currently bundled with the ODBC Linux driver. To obtain the source code for this program, see |
| <a href="#odbc_sample_program"><code>basicsql</code> (Sample ODBC Program)</a>. |
| </td> |
| </tr> |
| </table> |
| </div> |
| <div class="paragraph"> |
| <p>If you have a previous version of the Trafodion ODBC driver installed, |
| you need to re-link your existing application to ensure that you pick up |
| the correct version of the driver.</p> |
| </div> |
| <div class="paragraph"> |
| <p>If you are unsure of the version, check the version of your application with this command:</p> |
| </div> |
| <div class="listingblock"> |
| <div class="content"> |
| <pre class="CodeRay highlight"><code data-lang="text">ldd object-file</code></pre> |
| </div> |
| </div> |
| <div class="olist arabic"> |
| <ol class="arabic"> |
| <li> |
| <p>Move to the directory where you put the <code>basicsql.cpp</code> file.</p> |
| </li> |
| <li> |
| <p>Set the environment variable <code>LD_LIBRARY_PATH</code>:</p> |
| <div class="listingblock"> |
| <div class="content"> |
| <pre class="CodeRay highlight"><code data-lang="text">export LD_LIBRARY_PATH=<path-to-odbc-driver-dlls></code></pre> |
| </div> |
| </div> |
| </li> |
| <li> |
| <p>In the <code>/etc/odbc/TRAFDSN</code> file, add the correct IP address to the <code>Server</code> parameter for the <code>Default_DataSource</code>. For example:</p> |
| <div class="paragraph"> |
| <p><strong>Example (connecting to <code>node01.host.com:23400</code>)</strong></p> |
| </div> |
| <div class="listingblock"> |
| <div class="content"> |
| <pre class="CodeRay highlight"><code data-lang="text">[Default_DataSource] |
| Description = Default Data Source |
| Catalog = TRAFODION |
| Schema = SEABASE |
| DataLang = 0 |
| FetchBufferSize = SYSTEM_DEFAULT |
| Server = TCP:node01.host.com:23400 |
| SQL_ATTR_CONNECTION_TIMEOUT = SYSTEM_DEFAULT |
| SQL_LOGIN_TIMEOUT = SYSTEM_DEFAULT |
| SQL_QUERY_TIMEOUT = NO_TIMEOUT |
| Compression = Best Compression</code></pre> |
| </div> |
| </div> |
| <div style="page-break-after: always;"></div> |
| </li> |
| <li> |
| <p>Compile the sample program.</p> |
| <div class="paragraph"> |
| <p><strong>Default Installation</strong></p> |
| </div> |
| <div class="listingblock"> |
| <div class="content"> |
| <pre class="CodeRay highlight"><code data-lang="text">g++ -g basicsql.cpp -L/usr/lib64 -I/usr/include/odbc -ltrafodbc64 -o basicsql</code></pre> |
| </div> |
| </div> |
| <div class="paragraph"> |
| <p><strong>Alterntiave Installation</strong></p> |
| </div> |
| <div class="listingblock"> |
| <div class="content"> |
| <pre class="CodeRay highlight"><code data-lang="text">g++ -g basicsql.cpp -L$HOME/trafodion/odbc -I/usr/include/odbc -ltrafodbc64 -o basicsql</code></pre> |
| </div> |
| </div> |
| </li> |
| <li> |
| <p>Run the sample program:</p> |
| <div class="listingblock"> |
| <div class="content"> |
| <pre class="CodeRay highlight"><code data-lang="text">./basicsql Default_DataSource <username> <password></code></pre> |
| </div> |
| </div> |
| </li> |
| </ol> |
| </div> |
| <div class="paragraph"> |
| <p>If the sample program runs successfully, you should see output similar to the following:</p> |
| </div> |
| <div class="listingblock"> |
| <div class="content"> |
| <pre class="CodeRay highlight"><code data-lang="text">Using Connect String: DSN=Default_DataSource;UID=user1;PWD=pwd1; |
| Successfully connected using SQLDriverConnect. |
| Drop sample table if it exists... Creating sample table TASKS... |
| Table TASKS created using SQLExecDirect. |
| Inserting data using SQLBindParameter, SQLPrepare, SQLExecute Data |
| Data inserted. |
| Fetching data using SQLExecDirect, SQLFetch, SQLGetData |
| Data selected: 1000 CREATE REPORTS 2014-3-22 |
| Basic SQL ODBC Test Passed!</code></pre> |
| </div> |
| </div> |
| </div> |
| </div> |
| </div> |
| <div class="sect1"> |
| <h2 id="odb-install">9. Install odb</h2> |
| <div class="sectionbody"> |
| <div class="paragraph"> |
| <p>If you have not done so already, please ensure that you have |
| <a href="#download-software">unpackaged the Trafodion client software</a> and |
| <a href="#odbc-linux-install">setup the Trafodion Linux ODBC Driver</a>.</p> |
| </div> |
| <div class="paragraph"> |
| <p>The examples in this chapter assumes that you have unpackaged the odb installation file |
| to <code>$HOME/trafodion/odb</code>.</p> |
| </div> |
| <div class="sect2"> |
| <h3 id="_odb_requirements">9.1. odb Requirements</h3> |
| <div class="paragraph"> |
| <p>odb requires:</p> |
| </div> |
| <div class="ulist"> |
| <ul> |
| <li> |
| <p>pthread libraries (Generally installed by default)</p> |
| </li> |
| <li> |
| <p>unixODBC. See installation instructions <a href="#odb-install-unixodbc">below</a>.</p> |
| </li> |
| </ul> |
| </div> |
| </div> |
| <div class="sect2"> |
| <h3 id="odb-install-unixodbc">9.2. Install and Configure unixODBC</h3> |
| <div class="paragraph"> |
| <p>This section explains how to install and configure <code>unixODBC</code>. |
| Refer to the <a href="http://www.unixodbc.org/doc/">unixODBC documentation</a> for additional |
| configuration information.</p> |
| </div> |
| <div class="olist arabic"> |
| <ol class="arabic"> |
| <li> |
| <p>Obtain the source code tar ball from <a href="http://www.unixodbc.org/" class="bare">http://www.unixodbc.org/</a> Use version 2.3.<strong><em>x</em></strong> or later.</p> |
| </li> |
| <li> |
| <p>Unpack the tar ball:</p> |
| <div class="listingblock"> |
| <div class="content"> |
| <pre class="CodeRay highlight"><code data-lang="text">$ tar -xzvf unixODBC-2.3.1.tar.gz</code></pre> |
| </div> |
| </div> |
| </li> |
| <li> |
| <p>Configure unixODBC installation (root access required):</p> |
| <div class="listingblock"> |
| <div class="content"> |
| <pre class="CodeRay highlight"><code data-lang="text">$ cd unixODBC-2.3.1 |
| $ sudo ./configure --disable-gui --enable-threads --disable-drivers</code></pre> |
| </div> |
| </div> |
| <div class="paragraph"> |
| <p>unixODBC is installed under <code>/usr/local</code>.</p> |
| </div> |
| <div class="paragraph"> |
| <p>If you don’t have root privileges or you want to install unixODBC somewhere else |
| then <code>add --prefix=<installation_path></code> to the <code>configure</code> command here above.</p> |
| </div> |
| <div class="paragraph"> |
| <p><strong>Example - Install unixODBC in Alternate Location</strong></p> |
| </div> |
| <div class="listingblock"> |
| <div class="content"> |
| <pre class="CodeRay highlight"><code data-lang="text">$ ./configure --prefix=$HOME/trafodion/unixodbc --disable-gui --enable-threads --disable-drivers</code></pre> |
| </div> |
| </div> |
| <div style="page-break-after: always;"></div> |
| </li> |
| <li> |
| <p>Compile unixODBC sources:</p> |
| <div class="listingblock"> |
| <div class="content"> |
| <pre class="CodeRay highlight"><code data-lang="text">$ make</code></pre> |
| </div> |
| </div> |
| </li> |
| <li> |
| <p>Install unixODBC:</p> |
| </li> |
| </ol> |
| </div> |
| <div class="listingblock"> |
| <div class="content"> |
| <pre class="CodeRay highlight"><code data-lang="text">$ make install</code></pre> |
| </div> |
| </div> |
| <div class="sect3"> |
| <h4 id="_configure_unixodbc">9.2.1. Configure unixODBC</h4> |
| <div class="olist arabic"> |
| <ol class="arabic"> |
| <li> |
| <p>Define environment variables.</p> |
| </li> |
| <li> |
| <p>Define data sources.</p> |
| </li> |
| </ol> |
| </div> |
| <div class="paragraph"> |
| <p>Start with the environment variables (which you can add to your profile script):</p> |
| </div> |
| <div class="olist arabic"> |
| <ol class="arabic"> |
| <li> |
| <p>Set the <code>ODBCHOME</code> variable to the unixODBC installation directory (the one configured via <code>--prefix</code> here above).</p> |
| <div class="paragraph"> |
| <p><strong>Example</strong></p> |
| </div> |
| <div class="listingblock"> |
| <div class="content"> |
| <pre class="CodeRay highlight"><code data-lang="text">$ export ODBCHOME=$HOME/trafodion/unixodbc</code></pre> |
| </div> |
| </div> |
| </li> |
| <li> |
| <p>Configure the system data sources directory (the one containing <code>odbc.ini</code> and <code>odbcinst.ini</code>). |
| Normally, the <code>etc/</code> directory under <code>$ODBCHOME</code>:</p> |
| <div class="listingblock"> |
| <div class="content"> |
| <pre class="CodeRay highlight"><code data-lang="text">$ export ODBCSYSINI=$ODBCHOME/etc</code></pre> |
| </div> |
| </div> |
| </li> |
| <li> |
| <p>Configure the <code>ODBCINI</code> variable to the full path of the <code>odbc.ini</code> file:</p> |
| <div class="listingblock"> |
| <div class="content"> |
| <pre class="CodeRay highlight"><code data-lang="text">$ export ODBCINI=$ODBCSYSINI/odbc.ini</code></pre> |
| </div> |
| </div> |
| </li> |
| <li> |
| <p>Add the unixODBC lib directory to your <code>LD_LIBRARY_PATH</code> (Linux) or <code>LIBPATH</code> (IBM AIX) or <code>SHLIB_PATH</code> (HP/UX):</p> |
| <div class="listingblock"> |
| <div class="content"> |
| <pre class="CodeRay highlight"><code data-lang="text">$ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ODBCHOME/lib</code></pre> |
| </div> |
| </div> |
| </li> |
| </ol> |
| </div> |
| <div style="page-break-after: always;"></div> |
| </div> |
| <div class="sect3"> |
| <h4 id="_configure_data_sources">9.2.2. Configure Data Sources</h4> |
| <div class="sect4"> |
| <h5 id="__code_odbc_ini_code"><code>odbc.ini</code></h5> |
| <div class="listingblock"> |
| <div class="content"> |
| <pre class="CodeRay highlight"><code data-lang="text">[ODBC] |
| AppUnicodeType=utf16 |
| |
| [<DATA_SOURCE_NAME>] |
| Description = DSN Description |
| Driver = <odbcinst.ini corresponding section> |
| ... |
| Other (Driver specific) parameters |
| ...</code></pre> |
| </div> |
| </div> |
| </div> |
| <div class="sect4"> |
| <h5 id="__code_odbcinst_ini_code"><code>odbcinst.ini</code></h5> |
| <div class="listingblock"> |
| <div class="content"> |
| <pre class="CodeRay highlight"><code data-lang="text">[<Driver name in odbc.ini>] |
| Description = Driver description |
| Driver = <ODBC driver> |
| FileUsage = 1 |
| UsageCount = 1</code></pre> |
| </div> |
| </div> |
| <div style="page-break-after: always;"></div> |
| <div class="paragraph"> |
| <p><strong>Trafodion Example</strong></p> |
| </div> |
| <div class="listingblock"> |
| <div class="content"> |
| <pre class="CodeRay highlight"><code data-lang="text">$ cat odbc.ini |
| |
| [ODBC] |
| AppUnicodeType=utf16 |
| |
| [traf] |
| Description = traf DSN |
| Driver = Trafodion |
| Catalog = TRAFODION |
| Schema = QA |
| DataLang = 0 |
| FetchBufferSize = SYSTEM_DEFAULT |
| Server = TCP:<server-name>:<port-no> |
| SQL_ATTR_CONNECTION_TIMEOUT = SYSTEM_DEFAULT |
| SQL_LOGIN_TIMEOUT = SYSTEM_DEFAULT |
| SQL_QUERY_TIMEOUT = NO_TIMEOUT |
| ServiceName = TRAFODION_DEFAULT_SERVICE |
| |
| $ cat odbcinst.ini |
| |
| [Trafodion] |
| Description = {project-name} ODBC Stand Alone Driver |
| Driver = /<dir-name>/conn/clients/odbc/libtrafodbc_drvr64.so |
| FileUsage = 1 |
| UsageCount = 1 |
| |
| [ODBC] |
| Threading = 1 |
| Trace = Off |
| Tracefile = uodbc.trc |
| $</code></pre> |
| </div> |
| </div> |
| <div style="page-break-after: always;"></div> |
| <div class="paragraph"> |
| <p>The <code>Threading</code> setting is defined as follows |
| (extracted from unixODBC sources <code>DriverManager/handles.c</code>):</p> |
| </div> |
| <div class="listingblock"> |
| <div class="content"> |
| <pre class="CodeRay highlight"><code data-lang="cplusplus"><span class="comment">/* |
| * ... |
| * If compiled with thread support the DM allows four different |
| * thread strategies |
| * |
| |
| * Level 0 - Only the DM internal structures are protected |
| * the driver is assumed to take care of it's self |
| * |
| |
| * Level 1 - The driver is protected down to the statement level |
| * each statement will be protected, and the same for the connect |
| * level for connect functions, note that descriptors are considered |
| * equal to statements when it comes to thread protection. |
| * |
| |
| * Level 2 - The driver is protected at the connection level. only |
| * one thread can be in a particular driver at one time |
| * |
| |
| * Level 3 - The driver is protected at the env level, only one thing |
| * at a time. |
| * |
| |
| * By default the driver open connections with a lock level of 0, |
| * drivers should be expected to be thread safe now. |
| * this can be changed by adding the line |
| * |
| |
| * Threading = N |
| * |
| * to the driver entry in odbcinst.ini, where N is the locking level |
| * |
| */</span></code></pre> |
| </div> |
| </div> |
| <div style="page-break-after: always;"></div> |
| </div> |
| </div> |
| </div> |
| <div class="sect2"> |
| <h3 id="odb-verify-install">9.3. Verify odb Installation</h3> |
| <div class="paragraph"> |
| <p><code>$HOME/trafodion/odb</code> should contain the following files.</p> |
| </div> |
| <div class="ulist"> |
| <ul> |
| <li> |
| <p><code>README</code></p> |
| </li> |
| <li> |
| <p><code>/bin/odb64luo</code> (the odb executable)</p> |
| </li> |
| </ul> |
| </div> |
| <div class="paragraph"> |
| <p>See the <a href="http://trafodion.incubator.apache.org/docs/odb/index.html">Trafodion odb User Guide</a> for information how to use odb.</p> |
| </div> |
| </div> |
| <div class="sect2"> |
| <h3 id="odb-uninstall">9.4. Uninstall odb</h3> |
| <div class="paragraph"> |
| <p>To uninstall odb, delete the <code>README</code> and <code>/bin/odb64luo</code> files from their installed location.</p> |
| </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/odb</code></pre> |
| </div> |
| </div> |
| </div> |
| </div> |
| </div> |
| <div class="sect1"> |
| <h2 id="install-windows-odbc-driver">10. Install Windows ODBC Driver</h2> |
| <div class="sectionbody"> |
| <div class="admonitionblock warning"> |
| <table> |
| <tr> |
| <td class="icon"> |
| <i class="fa icon-warning" title="Warning"></i> |
| </td> |
| <td class="content"> |
| License issues prevent us from including the ODBC Driver for Windows in this release. Contact the |
| Trafodion user e-mail list (<a href="mailto:user@trafodion.incubator.apache.org">user@trafodion.incubator.apache.org</a>) for help obtaining the driver. |
| </td> |
| </tr> |
| </table> |
| </div> |
| <div class="paragraph"> |
| <p>If you have not done so already, please ensure that you have unpackaged the |
| <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 installation files |
| to <code>c:\trafodion\odbc</code>.</p> |
| </div> |
| <div class="sect2"> |
| <h3 id="_installation_requirements_2">10.1. Installation Requirements</h3> |
| <table class="tableblock frame-all grid-all spread"> |
| <colgroup> |
| <col style="width: 40%;"> |
| <col style="width: 60%;"> |
| </colgroup> |
| <thead> |
| <tr> |
| <th class="tableblock halign-left valign-top">Item</th> |
| <th class="tableblock halign-left valign-top">Requirement</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Computer</strong></p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">Windows compatible PC workstation</p></td> |
| </tr> |
| <tr> |
| <td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Memory</strong></p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">Recommended minimum 32 MB</p></td> |
| </tr> |
| <tr> |
| <td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Disk Space</strong></p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">Minimum 30 MB additional free space</p></td> |
| </tr> |
| <tr> |
| <td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Operating System</strong></p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">x64 Edition of Microsoft Windows 7, Windows 8, Windows 10, or Windows Server 2008</p></td> |
| </tr> |
| <tr> |
| <td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Network Software</strong></p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">TCP/IP</p></td> |
| </tr> |
| </tbody> |
| </table> |
| <div style="page-break-after: always;"></div> |
| </div> |
| <div class="sect2"> |
| <h3 id="win_odbc_install">10.2. Installation Instructions</h3> |
| <div class="admonitionblock note"> |
| <table> |
| <tr> |
| <td class="icon"> |
| <i class="fa icon-note" title="Note"></i> |
| </td> |
| <td class="content"> |
| To install the driver on your PC, you must be logged on with a user ID that has administrator privileges. |
| </td> |
| </tr> |
| </table> |
| </div> |
| <div class="paragraph"> |
| <p>The ODBC client installation file (<code>c:\trafodion\odbc\TFODBC64-*.exe</code>) installs or links to |
| multiple client components:</p> |
| </div> |
| <table class="tableblock frame-all grid-all spread"> |
| <colgroup> |
| <col style="width: 40%;"> |
| <col style="width: 60%;"> |
| </colgroup> |
| <thead> |
| <tr> |
| <th class="tableblock halign-left valign-top">This client component…</th> |
| <th class="tableblock halign-left valign-top">Does this…</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Microsoft ODBC Driver Manager</strong></p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">Manages access to ODBC drivers for applications. The driver manager loads and unloads drivers and passes calls for ODBC functions to the |
| correct driver.</p></td> |
| </tr> |
| <tr> |
| <td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Trafodion ODBC driver</strong></p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">Implements ODBC function calls to enable an ODBC client application to access the Trafodion database.</p></td> |
| </tr> |
| <tr> |
| <td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Microsoft ODBC Administrator</strong></p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">Adds, configures, and removes ODBC data sources on client workstations.</p></td> |
| </tr> |
| </tbody> |
| </table> |
| <div class="paragraph"> |
| <p>By default, a new version of the ODBC driver is installed in this directory and its folders unless you specify a different directory |
| during installation:</p> |
| </div> |
| <table class="tableblock frame-all grid-all spread"> |
| <colgroup> |
| <col style="width: 40%;"> |
| <col style="width: 60%;"> |
| </colgroup> |
| <thead> |
| <tr> |
| <th class="tableblock halign-left valign-top">Default Installation Directory</th> |
| <th class="tableblock halign-left valign-top">Client Operating System</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td class="tableblock halign-left valign-top"><div class="literal"><pre>C:\Program Files\Trafodion\TRAF</pre></div></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">ODBC <em>version</em> Windows 64-bit</p></td> |
| </tr> |
| </tbody> |
| </table> |
| <div style="page-break-after: always;"></div> |
| <div class="paragraph"> |
| <p>To install the Trafodion ODBC driver, do the following:</p> |
| </div> |
| <div class="olist arabic"> |
| <ol class="arabic"> |
| <li> |
| <p>Double-click the <code>TFODBC64-*.exe</code> distribution file to start the InstallShield wizard.</p> |
| </li> |
| <li> |
| <p>On the <strong>Welcome</strong> page, click <strong>Next</strong>.</p> |
| <div class="paragraph"> |
| <p><span class="image"><img src="images/winodbc_welcome.jpg" alt="Windows ODBC Installer Welcome Screen"></span></p> |
| </div> |
| <div style="page-break-after: always;"></div> |
| </li> |
| <li> |
| <p>Read and select the <strong>I accept the agreement</strong> radio button. Click <strong>Next</strong>.</p> |
| <div class="paragraph"> |
| <p><span class="image"><img src="images/winodbc_license.jpg" alt="Windows ODBC Installer License Screen"></span></p> |
| </div> |
| <div style="page-break-after: always;"></div> |
| </li> |
| <li> |
| <p>On the <strong>Destination Folder</strong> page, click <strong>Install</strong> to select the default location: <code>C:\Program Files\Trafodion\TRAF ODBC <em>version</em>\</code></p> |
| <div class="paragraph"> |
| <p><span class="image"><img src="images/winodbc_destination.jpg" alt="Windows ODBC Installer Destination Screen"></span></p> |
| </div> |
| <div class="paragraph"> |
| <p>This location is the installation directory for ODBC header and help files. All other ODBC files are installed in <code>%SYSTEMROOT%\system32</code>.</p> |
| </div> |
| <div style="page-break-after: always;"></div> |
| </li> |
| <li> |
| <p>Validate the Destination and click <strong>Install</strong>.</p> |
| <div class="paragraph"> |
| <p><span class="image"><img src="images/winodbc_ready_to_install.jpg" alt="Windows ODBC Ready to Install Screen"></span></p> |
| </div> |
| <div style="page-break-after: always;"></div> |
| </li> |
| <li> |
| <p>The Windows ODBC driver is installed. Click <strong>Finish</strong> to exit the installation wizard.</p> |
| <div class="paragraph"> |
| <p><span class="image"><img src="images/winodbc_install_finished.jpg" alt="Windows ODBC Install Finished Screen"></span></p> |
| </div> |
| </li> |
| </ol> |
| </div> |
| <div style="page-break-after: always;"></div> |
| </div> |
| <div class="sect2"> |
| <h3 id="win_odbc_setup_data_source">10.3. Set Up ODBC Data Source</h3> |
| <div class="olist arabic"> |
| <ol class="arabic"> |
| <li> |
| <p>Start the Microsoft ODBC Administrator:</p> |
| <div class="ulist"> |
| <ul> |
| <li> |
| <p>On Windows 7: <strong>Start>All Programs>Trafodion ODBC <em>version</em>>MS ODBC Administrator</strong></p> |
| </li> |
| <li> |
| <p>On Windows 8: Right-click the <strong>Trafodion ODBC <em>version</em></strong> icon on the desktop and select MS ODBC Administrator.</p> |
| </li> |
| <li> |
| <p>On Windows 10: Click the Windows icon in the menu bar. Type <strong>Set up ODBC data sources (64-bit)</strong>. Click on the found item.</p> |
| <div class="paragraph"> |
| <p><span class="image"><img src="images/winodbc_admin_intro.jpg" alt="Windows ODBC Admin Intro Screen"></span></p> |
| </div> |
| <div style="page-break-after: always;"></div> |
| </li> |
| </ul> |
| </div> |
| </li> |
| <li> |
| <p>In the <strong>ODBC Data Source Administrator</strong> dialog box, click <strong>Add</strong>.</p> |
| <div class="paragraph"> |
| <p><span class="image"><img src="images/winodbc_admin_add.jpg" alt="Windows ODBC Admin Create Data Source Screen"></span></p> |
| </div> |
| <div style="page-break-after: always;"></div> |
| </li> |
| <li> |
| <p>Select <strong>TRAF ODBC <em>version</em></strong>, and then click <strong>Finish</strong> to start the <strong>Create a New Trafodion ODBC Data Source</strong> wizard.</p> |
| <div class="paragraph"> |
| <p><span class="image"><img src="images/winodbc_admin_add_general.jpg" alt="Windows ODBC Admin Create Data Source General Screen"></span></p> |
| </div> |
| <div style="page-break-after: always;"></div> |
| </li> |
| <li> |
| <p>Enter the data source name (for example, <code>Default_DataSource_Schema1</code>) and an optional description, and click <strong>Next</strong>.</p> |
| <div class="paragraph"> |
| <p><span class="image"><img src="images/winodbc_admin_add_general_edited.jpg" alt="Windows ODBC Admin Create Data Source Edited General Screen"></span></p> |
| </div> |
| <div style="page-break-after: always;"></div> |
| </li> |
| <li> |
| <p>Enter the <code>IP address</code> or <code>host name</code> for the database platform. Enter the default port number as <strong>23400</strong><sup>1</sup>. Leave the defaults as is, and click <strong>Next</strong>.</p> |
| <div class="paragraph"> |
| <p><span class="image"><img src="images/winodbc_admin_add_network.jpg" alt="Windows ODBC Admin Create Data Source Network Screen"></span></p> |
| </div> |
| <div style="page-break-after: always;"></div> |
| </li> |
| <li> |
| <p>Enter the schema name. The default schema name is <code>SEABASE</code>. Click <strong>Next</strong>.</p> |
| <div class="paragraph"> |
| <p><span class="image"><img src="images/winodbc_admin_add_schema.jpg" alt="Windows ODBC Admin Create Data Source Schema Screen"></span></p> |
| </div> |
| <div style="page-break-after: always;"></div> |
| </li> |
| <li> |
| <p>Enter the translate DLL name and its option, if you have one. If not, leave it blank. Leave the localization defaults as is.</p> |
| <div class="paragraph"> |
| <p><span class="image"><img src="images/winodbc_admin_add_translate_dll.jpg" alt="Windows ODBC Admin Create Data Source Translate DLL Screen"></span></p> |
| </div> |
| <div class="paragraph"> |
| <p>The Replacement Character replaces any character that is incompatible for translation when retrieving data. It is one character (one or two |
| bytes long). The Replacement Character is assumed to be in the character set specified in the Client/Server Character Set Interaction. If it is not specified, <code>?</code> is used as the default.</p> |
| </div> |
| <div class="paragraph"> |
| <p>Click <strong>Finish</strong>.</p> |
| </div> |
| </li> |
| <li> |
| <p>The wizard gives you an opportunity to test the connection. Click <strong>Test Connection</strong> and click <strong>OK</strong>.</p> |
| <div style="page-break-after: always;"></div> |
| </li> |
| <li> |
| <p>The server ID and schema are filled in for you. Enter a valid user name and password, and click <strong>OK</strong>.</p> |
| <div class="paragraph"> |
| <p><span class="image"><img src="images/winodbc_admin_add_test_connection.jpg" alt="Windows ODBC Admin Create Data Source Test Connection Screen"></span></p> |
| </div> |
| <div class="paragraph"> |
| <p>The wizard attempts to connect to the data source and displays a message stating whether it was successful or not.</p> |
| </div> |
| </li> |
| <li> |
| <p>Click <strong>OK</strong> to save the data source, or click <strong>Cancel</strong> <em>twice</em> to quit the <strong>Create Data Source</strong> wizard.</p> |
| </li> |
| </ol> |
| </div> |
| <div class="paragraph"> |
| <p><sup>1</sup> Your specific installation may use a different port number. Check with your Trafodion administrator.</p> |
| </div> |
| <div style="page-break-after: always;"></div> |
| <div class="sect3"> |
| <h4 id="_enable_compression_2">10.3.1. Enable Compression</h4> |
| <div class="paragraph"> |
| <p>When compression is enabled in the ODBC driver, the ODBC driver can send and receive large volumes of data quickly and efficiently to and from |
| the Trafodion Database Connectivity Services (DCS) server over a TCP/IP network. By default, compression is disabled.</p> |
| </div> |
| <div class="paragraph"> |
| <p>To enable compression in the ODBC driver or to change the compression setting, follow these steps:</p> |
| </div> |
| <div class="olist arabic"> |
| <ol class="arabic"> |
| <li> |
| <p>Launch the MS ODBC Administrator.</p> |
| <div class="ulist"> |
| <ul> |
| <li> |
| <p>On Windows 7: <strong>Start>All Programs>Trafodion ODBC <em>version</em>>MS ODBC Administrator</strong></p> |
| </li> |
| <li> |
| <p>On Windows 8: Right-click the <strong>Trafodion ODBC <em>version</em></strong> icon on the desktop and select MS ODBC Administrator.</p> |
| </li> |
| <li> |
| <p>On Windows 10: Right-click the Windows icon in the menu bar. Select <strong>Settings</strong>. Search for <strong>Set up ODBC data sources (64-bit)</strong>. Click on the found item.</p> |
| </li> |
| </ul> |
| </div> |
| </li> |
| <li> |
| <p>In the <strong>ODBC Data Source Administrator</strong> dialog box, select the <strong>User DSN</strong> tab, select the name of your data source under |
| <strong>User Data Sources</strong>, and click <strong>Configure</strong>. If you did not create a data source, please refer to |
| <a href="#win_odbc_client_env">Setting Up the Client Environment</a>.</p> |
| <div class="paragraph"> |
| <p>A new dialog box appears, showing the configuration of your data source.</p> |
| </div> |
| </li> |
| <li> |
| <p>Select the <strong>Network</strong> tab, and then select one of these values for <strong>Compression</strong>:</p> |
| <div class="ulist"> |
| <ul> |
| <li> |
| <p><code>SYSTEM_DEFAULT</code>, which is the same as no compression</p> |
| </li> |
| <li> |
| <p><code>no compression</code></p> |
| </li> |
| <li> |
| <p><code>best speed</code></p> |
| </li> |
| <li> |
| <p><code>best compression</code></p> |
| </li> |
| <li> |
| <p><code>balance</code></p> |
| </li> |
| <li> |
| <p>An integer from 0 to 9, with 0 being no compression and 9 being the |
| maximum available compression</p> |
| </li> |
| </ul> |
| </div> |
| </li> |
| <li> |
| <p>Click <strong>OK</strong> to accept the change.</p> |
| </li> |
| <li> |
| <p>Click <strong>OK</strong> to exit the <strong>ODBC Data Source Administrator</strong> dialog box.</p> |
| </li> |
| </ol> |
| </div> |
| <div style="page-break-after: always;"></div> |
| </div> |
| </div> |
| <div class="sect2"> |
| <h3 id="win_odbc_run_basicsql">10.4. Run Sample Program (<code>basicsql</code>)</h3> |
| <div class="admonitionblock note"> |
| <table> |
| <tr> |
| <td class="icon"> |
| <i class="fa icon-note" title="Note"></i> |
| </td> |
| <td class="content"> |
| The Basic SQL sample program is not currently bundled with the ODBC Windows driver. To obtain the source code and the build and run |
| files for this program, please refer to <a href="#odbc_sample_program">ODBC Sample Program</a>. |
| </td> |
| </tr> |
| </table> |
| </div> |
| <div class="paragraph"> |
| <p>To build and run the executable file, follow these steps:</p> |
| </div> |
| <div class="olist arabic"> |
| <ol class="arabic"> |
| <li> |
| <p>Open a Visual Studio x64 Win64 Command Prompt. Make sure to select the x64 version of the command prompt. For example, on Windows 7, select |
| <strong>Start>All Programs>Microsoft Visual Studio 2010>Visual Studio Tools>Visual Studio x64 Win64 Command Prompt</strong>.</p> |
| </li> |
| <li> |
| <p>At the command prompt, move to the directory where you put the <code>basicsql.cpp</code> and build files.</p> |
| </li> |
| <li> |
| <p>Run build at the command prompt. You will see <code>basicsql.exe</code> created in the same directory as the source file.</p> |
| </li> |
| <li> |
| <p>Before running the sample program, create a Trafodion data source named <code>Default_DataSource</code> on the client workstation using MS ODBC |
| Administrator. For instructions, please refer to <a href="#win_odbc_client_env">Set Up Client Environment</a>.</p> |
| </li> |
| <li> |
| <p>From the command prompt, run the sample program by entering either run or this command:</p> |
| <div class="listingblock"> |
| <div class="content"> |
| <pre class="CodeRay highlight"><code data-lang="text">basicsql DefaultDataSource <username> <password></code></pre> |
| </div> |
| </div> |
| <div class="paragraph"> |
| <p>If the sample program executes successfully, you should see this output:</p> |
| </div> |
| <div class="paragraph"> |
| <p><strong>Example</strong></p> |
| </div> |
| <div class="listingblock"> |
| <div class="content"> |
| <pre class="CodeRay highlight"><code data-lang="text">Using Connect String: DSN=Default_DataSource;UID=user1;PWD=pwd1; |
| Successfully connected using SQLDriverConnect. |
| Drop sample table if it exists... |
| Creating sample table TASKS... |
| Table TASKS created using SQLExecDirect. |
| Inserting data using SQLBindParameter, SQLPrepare, SQLExecute |
| Data inserted. |
| Fetching data using SQLExecDirect, SQLFetch, SQLGetData |
| Data selected: 1000 CREATE REPORTS 2014-3-22 |
| Basic SQL ODBC Test Passed!</code></pre> |
| </div> |
| </div> |
| </li> |
| </ol> |
| </div> |
| <div style="page-break-after: always;"></div> |
| </div> |
| <div class="sect2"> |
| <h3 id="_reinstall_windows_odbc_driver">10.5. Reinstall Windows ODBC Driver</h3> |
| <div class="paragraph"> |
| <p>To reinstall the driver, we recommend that you fully remove your ODBC driver and then install the new version. Please refer to |
| <a href="#win_odbc_uninstall">Uninstalling the Trafodion ODBC Driver for Windows</a> and then <a href="#win_odbc_install">Installing the Trafodion ODBC Driver for Windows</a>.</p> |
| </div> |
| </div> |
| <div class="sect2"> |
| <h3 id="win_odbc_uninstall">10.6. Uninstalling Windows ODBC Driver</h3> |
| <div class="olist arabic"> |
| <ol class="arabic"> |
| <li> |
| <p>Start to remove the ODBC driver:</p> |
| <div class="ulist"> |
| <ul> |
| <li> |
| <p>On Windows 7: <strong>Start>All Programs>Trafodion ODBC <em>version</em>>Remove TRAF ODBC <em>version</em></strong></p> |
| </li> |
| <li> |
| <p>On Windows 8: Right-click the <strong>Trafodion ODBC <em>version</em></strong> icon on the desktop and select <strong>Remove TRAF ODBC <em>version</em></strong>.</p> |
| </li> |
| <li> |
| <p>On Windows 10: Right-click the Windows icon in the menu bar. Select <strong>Control Panel</strong>. Click on <strong>Uninstall a program</strong>. Locate <strong>Trafodion ODBC64 <em>version</em></strong> and select it. Click on <strong>Uninstall</strong>.</p> |
| </li> |
| </ul> |
| </div> |
| </li> |
| <li> |
| <p>When the <strong>Windows Installer</strong> dialog box asks you if you want to uninstall this product, click <strong>Yes</strong>.</p> |
| </li> |
| <li> |
| <p>The <strong>Trafodion ODBC <em>version</em></strong> dialog box displays the status and asks you to wait while <code>Windows configures Trafodion ODBC <em>version</em></code> (that is, removes |
| the Trafodion ODBC Driver from your Windows workstation).</p> |
| <div class="paragraph"> |
| <p>After this dialog box disappears, Trafodion ODBC <em>version</em> is no longer on your workstation.</p> |
| </div> |
| </li> |
| </ol> |
| </div> |
| <div class="admonitionblock note"> |
| <table> |
| <tr> |
| <td class="icon"> |
| <i class="fa icon-note" title="Note"></i> |
| </td> |
| <td class="content"> |
| Uninstalling the ODBC driver does not remove pre-existing data source definitions from the Windows registry. |
| </td> |
| </tr> |
| </table> |
| </div> |
| </div> |
| </div> |
| </div> |
| <div class="sect1"> |
| <h2 id="_configure_tableau_client">11. Configure Tableau Client</h2> |
| <div class="sectionbody"> |
| <div class="sect2"> |
| <h3 id="_prerequisite_software">11.1. Prerequisite Software</h3> |
| <div class="paragraph"> |
| <p>Make sure that you have this software installed on your workstation:</p> |
| </div> |
| <div class="ulist"> |
| <ul> |
| <li> |
| <p>Trafodion Windows ODBC Driver. See <a href="#install-windows-odbc-driver">Install Windows ODBC Driver</a>.</p> |
| </li> |
| <li> |
| <p>Tableau Software. See the <a href="http://www.tableau.com/trial/download-tableau"><em>Tableau website</em></a>.</p> |
| </li> |
| </ul> |
| </div> |
| </div> |
| <div class="sect2"> |
| <h3 id="_tableau_datasource_configuration_tdc_file">11.2. Tableau Datasource Configuration (.tdc) File</h3> |
| <div class="sect3"> |
| <h4 id="_create_tdc_file">11.2.1. Create .tdc File</h4> |
| <div class="paragraph"> |
| <p>The Tableau Datasource Configuration (<code>.tdc</code>) file is used to customize and tune ODBC connections.</p> |
| </div> |
| <div class="admonitionblock note"> |
| <table> |
| <tr> |
| <td class="icon"> |
| <i class="fa icon-note" title="Note"></i> |
| </td> |
| <td class="content"> |
| You can download each sample documented herein by clicking the link provided with the |
| sample name. For example, click on <a href="../../resources/tableau/trafodion.tdc">trafodion.tdc</a> |
| to download a <code>.tdc</code> file for Tableau 9.3 using Trafodion ODBC 2.1.<br> |
| <br> |
| You can access the complete source directory at: <a href="http://trafodion.incubator.apache.org/docs/client_install/resources/tableau/" class="bare">http://trafodion.incubator.apache.org/docs/client_install/resources/tableau/</a> |
| </td> |
| </tr> |
| </table> |
| </div> |
| <div class="paragraph"> |
| <p>The <code>.tdc</code> file contains version-specific settings that you need to modify.</p> |
| </div> |
| <div class="listingblock"> |
| <div class="title">Template: <a href="resources/tableau/trafodion.tdc.template"><code>trafodion.tdc.template</code></a></div> |
| <div class="content"> |
| <pre class="CodeRay highlight"><code data-lang="xml"><span class="preprocessor"><?xml version='1.0' encoding='utf-8' ?></span> |
| <span class="tag"><connection-customization</span> <span class="attribute-name">class</span>=<span class="string"><span class="delimiter">'</span><span class="content">genericodbc</span><span class="delimiter">'</span></span> <span class="attribute-name">enabled</span>=<span class="string"><span class="delimiter">'</span><span class="content">true</span><span class="delimiter">'</span></span> <span class="attribute-name">version</span>=<span class="string"><span class="delimiter">'</span><span class="content"><tableau-version</span></span><span class="error">></span>' dbname='TRAFODION' odbc-native-protocol='yes' odbc-use-connection-pooling='yes'<span class="error">></span> |
| <span class="tag"><vendor</span> <span class="attribute-name">name</span>=<span class="string"><span class="delimiter">'</span><span class="content">Trafodion</span><span class="delimiter">'</span></span> <span class="tag">/></span> |
| <span class="tag"><driver</span> <span class="attribute-name">name</span>=<span class="string"><span class="delimiter">'</span><span class="content"><trafodion-driver-name</span></span><span class="error">></span>' /<span class="error">></span> |
| <span class="tag"><customizations></span> |
| <span class="tag"><customization</span> <span class="attribute-name">name</span>=<span class="string"><span class="delimiter">'</span><span class="content">CAP_ISOLATION_LEVEL_SERIALIZABLE</span><span class="delimiter">'</span></span> <span class="attribute-name">value</span>=<span class="string"><span class="delimiter">'</span><span class="content">no</span><span class="delimiter">'</span></span><span class="tag">/></span> |
| <span class="tag"><customization</span> <span class="attribute-name">name</span>=<span class="string"><span class="delimiter">'</span><span class="content">CAP_ISOLATION_LEVEL_READ_UNCOMMITTED</span><span class="delimiter">'</span></span> <span class="attribute-name">value</span>=<span class="string"><span class="delimiter">'</span><span class="content">yes</span><span class="delimiter">'</span></span> <span class="tag">/></span> |
| <span class="tag"><customization</span> <span class="attribute-name">name</span>=<span class="string"><span class="delimiter">'</span><span class="content">CAP_SET_ISOLATION_LEVEL_VIA_ODBC_API</span><span class="delimiter">'</span></span> <span class="attribute-name">value</span>=<span class="string"><span class="delimiter">'</span><span class="content">no</span><span class="delimiter">'</span></span> <span class="tag">/></span> |
| <span class="tag"><customization</span> <span class="attribute-name">name</span>=<span class="string"><span class="delimiter">'</span><span class="content">CAP_CREATE_TEMP_TABLES</span><span class="delimiter">'</span></span> <span class="attribute-name">value</span>=<span class="string"><span class="delimiter">'</span><span class="content">no</span><span class="delimiter">'</span></span> <span class="tag">/></span> |
| <span class="tag"><customization</span> <span class="attribute-name">name</span>=<span class="string"><span class="delimiter">'</span><span class="content">CAP_SUPPRESS_DISCOVERY_QUERIES</span><span class="delimiter">'</span></span> <span class="attribute-name">value</span>=<span class="string"><span class="delimiter">'</span><span class="content">yes</span><span class="delimiter">'</span></span> <span class="tag">/></span> |
| <span class="tag"><customization</span> <span class="attribute-name">name</span>=<span class="string"><span class="delimiter">'</span><span class="content">CAP_ODBC_METADATA_SUPPRESS_PREPARED_QUERY</span><span class="delimiter">'</span></span> <span class="attribute-name">value</span>=<span class="string"><span class="delimiter">'</span><span class="content">yes</span><span class="delimiter">'</span></span> <span class="tag">/></span> |
| <span class="tag"><customization</span> <span class="attribute-name">name</span>=<span class="string"><span class="delimiter">'</span><span class="content">CAP_ODBC_METADATA_SUPPRESS_SELECT_STAR</span><span class="delimiter">'</span></span> <span class="attribute-name">value</span>=<span class="string"><span class="delimiter">'</span><span class="content">yes</span><span class="delimiter">'</span></span> <span class="tag">/></span> |
| <span class="tag"><customization</span> <span class="attribute-name">name</span>=<span class="string"><span class="delimiter">'</span><span class="content">CAP_ODBC_METADATA_SUPPRESS_EXECUTED_QUERY</span><span class="delimiter">'</span></span> <span class="attribute-name">value</span>=<span class="string"><span class="delimiter">'</span><span class="content">yes</span><span class="delimiter">'</span></span> <span class="tag">/></span> |
| <span class="tag"><customization</span> <span class="attribute-name">name</span>=<span class="string"><span class="delimiter">'</span><span class="content">CAP_ODBC_METADATA_SUPRESS_SQLSTATISTICS_API</span><span class="delimiter">'</span></span> <span class="attribute-name">value</span>=<span class="string"><span class="delimiter">'</span><span class="content">yes</span><span class="delimiter">'</span></span> <span class="tag">/></span> |
| <span class="tag"></customizations></span> |
| <span class="tag"></connection-customization></span></code></pre> |
| </div> |
| </div> |
| <div class="paragraph"> |
| <p>Save this file as <code>trafodion.tdc</code> and change the following placeholders:</p> |
| </div> |
| <div class="ulist"> |
| <ul> |
| <li> |
| <p><code><tableau-version></code> - Change to the version of Tableau you’re using. For example: <code>9.3</code></p> |
| </li> |
| <li> |
| <p><code><trafodion-driver-name></code> - Change to the name of the Trafodion ODBC driver you’re using. For example: <code>TRAF ODBC 2.1</code></p> |
| </li> |
| </ul> |
| </div> |
| <div class="paragraph"> |
| <p>Once edited, your <code>trafodion.tdc</code> file should look similar to the example below.</p> |
| </div> |
| <div class="listingblock"> |
| <div class="title">Example: <a href="resources/tableau/trafodion.tdc"><code>trafodion.tdc</code></a></div> |
| <div class="content"> |
| <pre class="CodeRay highlight"><code data-lang="xml"><span class="preprocessor"><?xml version='1.0' encoding='utf-8' ?></span> |
| <span class="tag"><connection-customization</span> <span class="attribute-name">class</span>=<span class="string"><span class="delimiter">'</span><span class="content">genericodbc</span><span class="delimiter">'</span></span> <span class="attribute-name">enabled</span>=<span class="string"><span class="delimiter">'</span><span class="content">true</span><span class="delimiter">'</span></span> <span class="attribute-name">version</span>=<span class="string"><span class="delimiter">'</span><span class="content">9.3</span><span class="delimiter">'</span></span> <span class="attribute-name">dbname</span>=<span class="string"><span class="delimiter">'</span><span class="content">TRAFODION</span><span class="delimiter">'</span></span> <span class="attribute-name">odbc-native-protocol</span>=<span class="string"><span class="delimiter">'</span><span class="content">yes</span><span class="delimiter">'</span></span> <span class="attribute-name">odbc-use-connection-pooling</span>=<span class="string"><span class="delimiter">'</span><span class="content">yes</span><span class="delimiter">'</span></span><span class="tag">></span> |
| <span class="tag"><vendor</span> <span class="attribute-name">name</span>=<span class="string"><span class="delimiter">'</span><span class="content">Trafodion</span><span class="delimiter">'</span></span> <span class="tag">/></span> |
| <span class="tag"><driver</span> <span class="attribute-name">name</span>=<span class="string"><span class="delimiter">'</span><span class="content">TRAF ODBC 2.1</span><span class="delimiter">'</span></span> <span class="tag">/></span> |
| <span class="tag"><customizations></span> |
| <span class="tag"><customization</span> <span class="attribute-name">name</span>=<span class="string"><span class="delimiter">'</span><span class="content">CAP_ISOLATION_LEVEL_SERIALIZABLE</span><span class="delimiter">'</span></span> <span class="attribute-name">value</span>=<span class="string"><span class="delimiter">'</span><span class="content">no</span><span class="delimiter">'</span></span><span class="tag">/></span> |
| <span class="tag"><customization</span> <span class="attribute-name">name</span>=<span class="string"><span class="delimiter">'</span><span class="content">CAP_ISOLATION_LEVEL_READ_UNCOMMITTED</span><span class="delimiter">'</span></span> <span class="attribute-name">value</span>=<span class="string"><span class="delimiter">'</span><span class="content">yes</span><span class="delimiter">'</span></span> <span class="tag">/></span> |
| <span class="tag"><customization</span> <span class="attribute-name">name</span>=<span class="string"><span class="delimiter">'</span><span class="content">CAP_SET_ISOLATION_LEVEL_VIA_ODBC_API</span><span class="delimiter">'</span></span> <span class="attribute-name">value</span>=<span class="string"><span class="delimiter">'</span><span class="content">no</span><span class="delimiter">'</span></span> <span class="tag">/></span> |
| <span class="tag"><customization</span> <span class="attribute-name">name</span>=<span class="string"><span class="delimiter">'</span><span class="content">CAP_CREATE_TEMP_TABLES</span><span class="delimiter">'</span></span> <span class="attribute-name">value</span>=<span class="string"><span class="delimiter">'</span><span class="content">no</span><span class="delimiter">'</span></span> <span class="tag">/></span> |
| <span class="tag"><customization</span> <span class="attribute-name">name</span>=<span class="string"><span class="delimiter">'</span><span class="content">CAP_SUPPRESS_DISCOVERY_QUERIES</span><span class="delimiter">'</span></span> <span class="attribute-name">value</span>=<span class="string"><span class="delimiter">'</span><span class="content">yes</span><span class="delimiter">'</span></span> <span class="tag">/></span> |
| <span class="tag"><customization</span> <span class="attribute-name">name</span>=<span class="string"><span class="delimiter">'</span><span class="content">CAP_ODBC_METADATA_SUPPRESS_PREPARED_QUERY</span><span class="delimiter">'</span></span> <span class="attribute-name">value</span>=<span class="string"><span class="delimiter">'</span><span class="content">yes</span><span class="delimiter">'</span></span> <span class="tag">/></span> |
| <span class="tag"><customization</span> <span class="attribute-name">name</span>=<span class="string"><span class="delimiter">'</span><span class="content">CAP_ODBC_METADATA_SUPPRESS_SELECT_STAR</span><span class="delimiter">'</span></span> <span class="attribute-name">value</span>=<span class="string"><span class="delimiter">'</span><span class="content">yes</span><span class="delimiter">'</span></span> <span class="tag">/></span> |
| <span class="tag"><customization</span> <span class="attribute-name">name</span>=<span class="string"><span class="delimiter">'</span><span class="content">CAP_ODBC_METADATA_SUPPRESS_EXECUTED_QUERY</span><span class="delimiter">'</span></span> <span class="attribute-name">value</span>=<span class="string"><span class="delimiter">'</span><span class="content">yes</span><span class="delimiter">'</span></span> <span class="tag">/></span> |
| <span class="tag"><customization</span> <span class="attribute-name">name</span>=<span class="string"><span class="delimiter">'</span><span class="content">CAP_ODBC_METADATA_SUPRESS_SQLSTATISTICS_API</span><span class="delimiter">'</span></span> <span class="attribute-name">value</span>=<span class="string"><span class="delimiter">'</span><span class="content">yes</span><span class="delimiter">'</span></span> <span class="tag">/></span> |
| <span class="tag"></customizations></span> |
| <span class="tag"></connection-customization></span></code></pre> |
| </div> |
| </div> |
| </div> |
| <div class="sect3"> |
| <h4 id="_install_tdc_file">11.2.2. Install .tdc File</h4> |
| <div class="paragraph"> |
| <p>Copy the <code>trafodion.tdc</code> file to the <code>C:\Users\%USERNAME%\Documents\My Tableau Repository\Datasources</code> folder.</p> |
| </div> |
| <div class="paragraph"> |
| <p>Restart Tableay if it’s running to pick up the configuration change.</p> |
| </div> |
| </div> |
| </div> |
| <div class="sect2"> |
| <h3 id="_connnect_to_trafodion">11.3. Connnect to Trafodion</h3> |
| <div class="olist arabic"> |
| <ol class="arabic"> |
| <li> |
| <p>Configure a ODBC data source using the MS ODBC Administrator. See <a href="#win_odbc_setup_data_source">Set Up ODBC Data Source</a>.</p> |
| </li> |
| <li> |
| <p>Start Tableau.</p> |
| </li> |
| <li> |
| <p>Create a <strong>New Database Connection</strong> by selecting <strong>Other Databases (ODBC)</strong>.</p> |
| </li> |
| <li> |
| <p>Select your data source in the <strong>DSN</strong> dropdown.</p> |
| </li> |
| <li> |
| <p>Enter <strong>Trafodion</strong> in the <strong>Database:</strong> field.</p> |
| </li> |
| <li> |
| <p>Enter your <strong>Username</strong> and <strong>Password</strong>.</p> |
| </li> |
| <li> |
| <p>Click <strong>OK</strong> to connect to your Trafodion database.</p> |
| <div class="paragraph"> |
| <p><span class="image"><img src="images/tableau_connect.jpg" alt="Tableau Database Connection Screen" width="400" height="400"></span></p> |
| </div> |
| </li> |
| </ol> |
| </div> |
| </div> |
| </div> |
| </div> |
| <div class="sect1"> |
| <h2 id="_how_to">12. How To</h2> |
| <div class="sectionbody"> |
| <div class="sect2"> |
| <h3 id="howto-setup-path">12.1. Set Up Path Variable</h3> |
| <div class="paragraph"> |
| <p>You need to update your PATH variable for Java and the Trafodion clients. |
| The examples below show how to add Java to your PATH variable. The process |
| is similar for the different Trafodion clients.</p> |
| </div> |
| <div class="admonitionblock note"> |
| <table> |
| <tr> |
| <td class="icon"> |
| <i class="fa icon-note" title="Note"></i> |
| </td> |
| <td class="content"> |
| You typically point the PATH variable to the <code>bin</code> directory, if it exists. |
| Otherwise, you point the PATH variable to the directory containing the client executable. |
| The examples below point to the Java <code>bin</code> directory. |
| </td> |
| </tr> |
| </table> |
| </div> |
| <div class="sect3"> |
| <h4 id="howto-setup-path-windows">12.1.1. Set PATH Variable on Windows</h4> |
| <div class="sect4"> |
| <h5 id="_windows_10">Windows 10</h5> |
| <div class="olist arabic"> |
| <ol class="arabic"> |
| <li> |
| <p>Right-click on the Windows icon on the menu bar. Select <strong>System</strong>.</p> |
| </li> |
| <li> |
| <p>Click on <strong>Advanced System Settings</strong>.</p> |
| </li> |
| <li> |
| <p>In the <strong>System Properties</strong> dialog box, click the <strong>Advanced</strong> tab.</p> |
| </li> |
| <li> |
| <p>Click the <strong>Environment Variables</strong> button.</p> |
| </li> |
| <li> |
| <p>Under <strong>System</strong> variables, select the variable named <strong>Path</strong>, and then click <strong>Edit. . .</strong>:</p> |
| <div class="paragraph"> |
| <p><span class="image"><img src="images/win10_edit_path.jpg" alt="Windows 10 Edit Path Variable"></span></p> |
| </div> |
| <div style="page-break-after: always;"></div> |
| </li> |
| <li> |
| <p>Click <strong>Browse. . .</strong>. Find the directory where you installed Java or the Trafodion client. Select the <code>bin</code> directory as applicable.</p> |
| <div class="paragraph"> |
| <p><span class="image"><img src="images/win10_select_java.jpg" alt="image"></span></p> |
| </div> |
| </li> |
| <li> |
| <p>Click <strong>OK</strong> to close the browse window. Click <strong>OK</strong> to close the edit window.</p> |
| </li> |
| <li> |
| <p>Verify that the updated <strong>Path</strong> appears under <strong>System</strong> variables, and click <strong>OK</strong>.</p> |
| </li> |
| <li> |
| <p>In the <strong>System Properties</strong> dialog box, click <strong>OK</strong> to accept the changes.</p> |
| </li> |
| </ol> |
| </div> |
| <div style="page-break-after: always;"></div> |
| </div> |
| <div class="sect4"> |
| <h5 id="_windows_8">Windows 8</h5> |
| <div class="olist arabic"> |
| <ol class="arabic"> |
| <li> |
| <p>Right-click the <strong>Computer</strong> icon on your desktop, and then select <strong>Properties</strong>. The <strong>Control Panel > System and Security > System</strong> window appears.</p> |
| </li> |
| <li> |
| <p>In the left navigation bar, click the <strong>Advanced</strong> system settings link.</p> |
| </li> |
| <li> |
| <p>In the <strong>System Properties</strong> dialog box, click the <strong>Environment Variables</strong> button.</p> |
| </li> |
| <li> |
| <p>Under <strong>System</strong> variables, select the variable named <strong>Path</strong>, and then click <strong>Edit</strong>:</p> |
| <div class="paragraph"> |
| <p><span class="image"><img src="images/path2.jpg" alt="image"></span></p> |
| </div> |
| </li> |
| <li> |
| <p>Place the cursor at the start of the <strong>Variable</strong> value field and |
| enter the path of the Java or Trafodion client <code>bin</code> directory, ending with a semicolon (;):</p> |
| <div class="paragraph"> |
| <p><span class="image"><img src="images/varval2.jpg" alt="image"></span></p> |
| </div> |
| <div class="paragraph"> |
| <p><strong>Example</strong></p> |
| </div> |
| <div class="listingblock"> |
| <div class="content"> |
| <pre class="CodeRay highlight"><code data-lang="text">"c:\Program Files (x86)\Java\jre7\bin";</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"> |
| Check that no space exists after the semicolon (;) in the path. If there are spaces in the directory name, delimit the entire directory path in double quotes (") before the semicolon. |
| </td> |
| </tr> |
| </table> |
| </div> |
| </li> |
| <li> |
| <p>Click <strong>OK</strong>.</p> |
| </li> |
| <li> |
| <p>Verify that the updated <strong>Path</strong> appears under <strong>System</strong> variables, and click <strong>OK</strong>.</p> |
| </li> |
| <li> |
| <p>In the <strong>System Properties</strong> dialog box, click <strong>OK</strong> to accept the changes.</p> |
| </li> |
| </ol> |
| </div> |
| <div class="paragraph"> |
| <p>For a full installation, a sample PATH variable may contain:</p> |
| </div> |
| <div class="listingblock"> |
| <div class="content"> |
| <pre class="CodeRay highlight"><code data-lang="text">SET PATH=%PATH%;C:\Program Files\Java\jre1.8.0_101\;C:\trafodion\trafci\bin\;</code></pre> |
| </div> |
| </div> |
| </div> |
| </div> |
| <div class="sect3"> |
| <h4 id="howto-setup-path-linux">12.1.2. Set PATH Variable on Linux</h4> |
| <div class="olist arabic"> |
| <ol class="arabic"> |
| <li> |
| <p>Open the user profile (<code>.profile</code> or <code>.bash_profile</code> for the Bash shell) in the <code>$HOME</code> directory.</p> |
| <div class="listingblock"> |
| <div class="content"> |
| <pre class="CodeRay highlight"><code data-lang="text">cd $HOME |
| vi .profile</code></pre> |
| </div> |
| </div> |
| </li> |
| <li> |
| <p>In the user profile, set the <code>PATH</code> environment variable to include the path of the Java |
| or Trafodion client <code>bin</code> directory.</p> |
| <div class="listingblock"> |
| <div class="content"> |
| <pre class="CodeRay highlight"><code data-lang="text">export PATH=$PATH:/usr/lib/jvm/java-1.7.0/bin</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"> |
| Place the path of the Java bin directory after <code>$PATH</code> separated by colon (<code>:</code>). |
| </td> |
| </tr> |
| </table> |
| </div> |
| </li> |
| <li> |
| <p>To activate the changes, either log out and log in again or source in the user profile.</p> |
| <div class="listingblock"> |
| <div class="content"> |
| <pre class="CodeRay highlight"><code data-lang="text">source profile</code></pre> |
| </div> |
| </div> |
| </li> |
| </ol> |
| </div> |
| <div class="paragraph"> |
| <p>For a full installation, a sample PATH variable may contain:</p> |
| </div> |
| <div class="listingblock"> |
| <div class="content"> |
| <pre class="CodeRay highlight"><code data-lang="text">export PATH=$PATH:/usr/lib/jvm/java-1.7.0/bin:/opt/user/trafodion/trafci/bin</code></pre> |
| </div> |
| </div> |
| </div> |
| <div class="sect3"> |
| <h4 id="howto-setup-path-verify">12.1.3. Verify PATH Variable</h4> |
| <div class="paragraph"> |
| <p>Ensure that you can access the Java or Trafodion client |
| from the command line.</p> |
| </div> |
| <div class="paragraph"> |
| <p><strong>Examples</strong></p> |
| </div> |
| <div class="paragraph"> |
| <p>Display the Java version.</p> |
| </div> |
| <div class="listingblock"> |
| <div class="content"> |
| <pre class="CodeRay highlight"><code data-lang="text">c:\trafodion> java -version |
| |
| java version "1.7.0_45" # 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:\trafodion></code></pre> |
| </div> |
| </div> |
| <div class="paragraph"> |
| <p>Display the trafci version.</p> |
| </div> |
| <div class="listingblock"> |
| <div class="content"> |
| <pre class="CodeRay highlight"><code data-lang="text">c:\trafodion> trafci -version |
| |
| Welcome to EsgynDB Enterprise Command Interface |
| Copyright (c) 2015-2016 Esgyn Corporation |
| |
| JDBC Type 4 Driver Build ID : Traf_JDBC_Type4_Build_439d96b |
| Command Interface Build ID : TrafCI_Build_439d96b |
| |
| c:\trafodion></code></pre> |
| </div> |
| </div> |
| <div class="paragraph"> |
| <p>If you cannot display the version information, then you need to |
| check your PATH variable settings again.</p> |
| </div> |
| </div> |
| </div> |
| </div> |
| </div> |
| </div> |
| <div id="footer"> |
| <div id="footer-text"> |
| Version 2.1.0<br> |
| Last updated 2016-11-03 22:36:05 UTC |
| </div> |
| </div> |
| <script> |
| var _gaq = _gaq || []; |
| _gaq.push(['_setAccount','UA-72491210-1']); |
| _gaq.push(['_trackPageview']); |
| (function() { |
| var ga = document.createElement('script'); |
| ga.type = 'text/javascript'; |
| ga.async = true; |
| ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; |
| var s = document.getElementsByTagName('script')[0]; |
| s.parentNode.insertBefore(ga, s); |
| })(); |
| </script> |
| </body> |
| </html> |