このページは、以下の英語ページの抄訳です。最新の情報については、英語ページを参照してください。

(HANA との同期については、HANA SPS10 より HANA RDSync として HANA 側に Mobile Link サーバーの機能が実装されました。)
この記事は、以下のことを証明するために書くものです。

SQL Anywhere と HANA の同期の設定は簡単である。

 

Yes。これは、簡単です。 しかし、歩いてキッチンに入ってまた戻るようなものではなく、歩いて仕事に行くような感じです。言いかえると、小さなステップがたくさんあり、それぞれは簡単なものの、とにかくとても多くのステップがあります。

 

重要なことは、膨大な時間がかかるようなものではないということです。何百もの行があるかもしれませんが、2 行しかない1 つのテーブルを説明するのと同様に簡単です。ハードウェアを買う必要はありません。コード化する Linux のスクリプトもありません。ダウンロードしなければならないソフトウェアもありません(後で少しだけありますが)。

 

この記事では、以下のことを説明します。

  • Mobile Link の同期設定を
  • データを双方向に送信する形で
  • ローカルのSQL Anywhere リモートデータベースと
  • クラウドで稼働するHANA 統合データベースの間を
  • 単一の「Hello World (ハロー・ワールド)」 テーブルを使って行います。

 

なぜ Hello World?

なぜならば、以下の Wiki (en.wikipedia.org/wiki/Hello_world_program) からの引用のとおりだからです。

“(c)onfiguring a complete programming toolchain from scratch to the point where even trivial programs can be compiled and run can involve substantial amounts of work. For this reason, a simple program is used first when testing a new tool chain.”  (完全なプログラミングのツールチェーンをスクラッチから些細なプログラムでさえコンパイルして実行できるところまで設定するということは、相当な量の作業を必要とする可能性があります。この理由から、新しいツールチェーンをテストする場合には、シンプルなプログラムを最初に使用します。)

 

はじめに

 

この記事は、リレーショナルデータベースとデータ同期を経験したことのある開発者のために書かれていますが、HANAやCloudShare、Eclipseなどに習熟していることは想定していません。しかし、SQL Anywhere と Mobile Link の基本は理解されていると仮定しています。そうでなくとも、説明の中でわからないところがあれば、進んで調べられることを想定しています。

 

以下のようなコンポーネントを使用します。

 

  • HANA ソフトウェアとデータベースは、HANA の30日間の試使用としてSAPから提供されています。
  • 特に、SAP HANA SPS6 データベースサーバーとSAP HANA Studio は、cloudshare.com 上で2つのVMとして稼働します。
  • HANA VM は、Linux、正確には、SUSE Enterprise 11 SP1 64 bit を稼働します。しかし、安心してください !  これはそこにあるだけで、Linuxのコマンドを実行したり、シェルスクリプトをコード化する必要はありません。
  • HANA Studio コンポーネントは、CloudShare の Windows 7 上で稼働します。そして、リモートコントロールで、Eclipse-スタイルの GUI を使います。
  • SQL Anywhere データベースサーバー dbeng16.exe は、Windows デスクトップ、ノートPC、あるいはお持ちのワークステーションコンピューターのどれでも稼働します。

    ❗ 注意:HANA 1.00.64 以降のものを使う場合は、SQL Anywhere 16.0.1761 以降のものが必要です。この記事は、データベースには HANA 1.00.68、ODBC ドライバーには、1.00.70、そして、SQL Anywhere 16.0.1823 のコンビネーションで書いています。

    Tip: バージョン番号を確認するには、以下を実行してください。 HANAは、SELECT * FROM M_DATABASE 、SQL Anywhere は SELECT @@VERSION です。

     

  • Mobile Link の用語では、中央の HANA データベースは 「統合データベース」と呼びます。そして、複数ある 「リモートデータベース」の一つ一つが、SQL Anywhere データベースです。おっと、ここで、混乱する可能性があるかもしれません。ユーザーにとってSQL Anywhere はローカルにあるコンピューター上で稼働するはず、という混乱が発生するかもしれませんが、マニュアルでは、これを「リモート」データベースと呼んでいます。この記事では、「統合」や「リモート」ではなく、「HANA」と「SQL Anywhere」という用語を使うことにします(使うように心がけます)。
  • Mobile Link のソフトウェアは、二つのコンポーネントで構成されています。まず、Mobile Link のクライアント dbmlsync.exe は、SQL Anywhere データベースと同じコンピューター上で稼働します。そして、Mobile Link サーバー mlsrv16.exe は、HANA が稼働するコンピューター上、またはそのそばのコンピューターで稼働します。しかしながら、この記事では、Mobile Link サーバーは、ローカルのコンピューター上で動かすことにします。

 

まとめると:HANA は、CloudShare 上で動かし、SQL Anywhere データベースサーバー3つと、Mobile Link サーバーと Mobile Link クライアントは、ローカルのワークステーションで動かすことにします。

 

Mobile Link の同期中のデータのフロー概要は以下のとおりです。

 

  • Mobile Link クライアントは、SQL Anywhere データベースに対してローカルのデータベース接続を確立します。そして、前回の同期から変更されたローのアップロードストリームを構築します。
  • Mobile Link クライアントは、Mobile Link サーバーへのネットワーク接続を確立し、アップロードストリームを送信します。この記事では、Mobile Link クライアントとサーバーは、同じコンピューター(ローカルのワークステーション)にあるので、「ネットワーク接続」は、実際はローカル接続です。
  • Mobile Link サーバーは、HANA データベースへのODBC データベース接続を確立し、ストリームをアップロードします。現実世界では、ODBC 接続は、おそらく全て「ファイアウォール」の後ろで実行されますが、この記事では、ローカルのワークステーションから、CloudShare のVM にインターネットをクロスします。
  • そして、Mobile Link サーバーは、ODBC 接続を使用して、以前の同期から変更された HANA からローを集め、ネットワーク越しに送信するダウンロードストリームまたは、ローカルのワークステーションのMobile Linkクライアントへのローカル接続を形成します。
  • Mobile Link クライアントは、SQL Anywhere データベースへダウンロードストリームを適用します。

 

ステップ 1.  クラウド内でHANAのサインアップを実行

 

簡単に聞こえるでしょうか? では、サインアップして、進めましょう !

 

簡単ではありますが、ステップ 1 には、小さなステップが数多くあります。一つ一つは簡単です。しかし、とにかくステップが数多くあります。 簡単というのは、ささいなこと、というわけではありません。

 

HANA の評価プロセスにアクセスする方法は、1つ以上あります。ものによっては、他より簡単なものもあります。そしてSAPのwebサイトは、継続して変化し続けています。

 

言い換えると、この記事が書かれた時点では、ここで説明する方法でうまくいきます。

 

最初に、「Get 30 days of free access to SAP HANA, developer edition」 web ページにアクセスします。 scn.sap.com/docs/DOC-28191

image 1a rev Get 30 days of free access to SAP HANA, developer edition.jpg

もしこのページで、上のような「Welcome, Guest」 的なものが表示された場合には、SAP Community Network (SCN) web サイトにログインする必要があります。ページトップの Login リンクをクリックします。または、ユーザー ID を持っていない場合には、「Register」 をクリックして入手します。

 

「Welcome, Your Name」 がページのトップに表示されれば、進める準備ができたことになります。

image 1a2 rev Get 30 days of free access to SAP HANA, developer edition.jpg

 

下に向かってスクロールし、「Start your 30-day HANA Trial here」をクリックします。

 

この時点で、SCN アカウントを「upgrade」するよう要求されるかもしれません。

 

image 1a3 rev Upgrade Your Account for SAP Value Prototyping.jpg

ほとんどのクラウドサービスと違って、「Upgrade Your Account」は、「お金を使う」ことを意味しているわけではありませんので、上記のページが表示されたら、条件に同意して、「Register」をクリックしてください。

 

次のページは、「Netweaver Cloud」と呼ばれるものにログインしているように見えますが、違います。まだ他のフォームを埋めているだけです。

 

image 1b rev SAP Netweaver Cloud Solution Request Form.jpg

 

ペーパーワークはもう終わったと思われたのであれば、考えなおしてください。しかし、少なくとも、次のページでトーンは変わります。「You have been invited to a CloudShare environment! (CloudShare 環境に招待されました)」

 

image 1c rev Register for CloudShare.jpg

皆さんはもう、Walldorf (SAP があるところ) にいるのではなく、San Mateo (CloudShare のホームタウン) にいます。

 

次の「Loading from snapshot」ページの表示から判断するに、 全体CloudShare 環境は、そのフードの下は….極端に退屈でつまらない複雑なものに違いありません。つまり、表面的には、完全に自動化されています。スクリーンには、何億兆ものものが表示されているかもしれませんが、それぞれは簡単に読め、待っている間にクリックして、何が行われているか読むことができます。

 

image 1d rev CloudShare Loading from snapshot for SAP HANA 30-Day Trial SPS6.jpg

例えば、入手している2つのコンポーネントについて「More details」 をクリックして読むことができます。

 

  • SAP HANA SPS6 サーバー – これが、HANA データベースです。これを使用しますが、間接的に使用するだけです。言い換えると、最初に特に何もないことがわかって以降、「View VM」 for HANA をクリックすることはありません。image 1e1 rev CloudShare Show details for SAP HANA SpS6 server.jpg
  • SAP HANA Studio – これが、これからたくさん使用するものです。View VM for the HANA Studio をクリックすると、超スーパーハイスピードのインターネットリンクがあってよかったと思われるでしょう。もし、これらがない場合には、我慢して、1993 年頃のGUIがどんなものだったか思い出してみてください:クリックして、待つ。マウスを動かして、待つ。しかし、これは後に来ます。今は、リモートコントロール(HANA Studio)というより、ブラウザーベース(CloudShare)なので、GUIは全速力の速度です。
  • image 1e2 rev CloudShare Show details for SAP HANA Studio.jpg

CloudShare は、Persistent DNS と呼ばれるものとともに提供されます。これは必要なもので、自動的に入手できます。これについては、 support.cloudshare.com/entries/23712067-Persistent-DNS に記載されています。

 

CloudShare は、Vanity URL と呼ばれるものも提供します。これは、自動的に入手できません。これが必要かどうか(必要です)については: support.cloudshare.com/entries/21525712-Web-Access-Vanity-URLs に記載されています。

 

Vanity URL を作成したい場合(そうだとします)、最初にCloudShare に、自分のVM用に「enable web access」 を伝える必要があります。

 

右のEdit Environment ボタンをクリックして、Edit VM Access ページへアクセスするため Edit users & access を編集します。

 

それからEnable Web access ボックス2つをチェックし、Save changes をクリックします。

image 1f rev CloudShare Edit VM Access - Enable Web Access.jpg

 

Vanity URL 作成の2番目のステップは、CloudShare ページのトップにあるMy Account タブにスイッチして、Vanity URLs タブを選んで、SAP HANA SPS5 サーバーの隣のVanity URL ボックスをチェックし、vanity 名を入力して、Web Access ボックスをチェックします。

image 1g rev CloudShare My Account - Vanity URLs.jpg

この場合、breckcarterhana が選択されたvanity 名です。後のステップで必要となるので、使用する名前は覚えておいてください。

 

  1. Server:Port breckcarterhana.vm.cld.sr:30015

Tip: 「Save changes」をクリックするのを忘れないでください。”… そして、緑の「Vanity urls configuration saved」が必ず表示されるのを確認してください。

Tip: もし、ぐちゃぐちゃになって、CloudShare の HANA gaが完全に使用できなくなった場合、つまり Reboot VM をクリックしてしまい、HANA が 「System locked; license invalid or expired」になっていたなどの場合、問題の解決を試みることはできます… あるいは、ぐっとこらえて、やりなおすこともできます:新しい SCN ログインを作成して、再度 HANA トライアルにサインアップして、新しい CloudShare ログインを作成して…。これら全てを行って、古い vanity url (例 breckcarterhana) を再利用したい場合には、最初に古いログインで CloudShare にサインオンして、上に表示された Vanity URL ボックスのチェックをはずして、breckcarterhana をリリースしてください。

Tip:1つ以上のCloudShare のアカウントを持ちたい場合には、正しいアカウントで作業していることを常に確認してください。CloudShare ページの右角の 「Hello, Your Name」のフィールドを確認してください。

 

ステップ 2. HANA Studioを始める

 

SAP HANA Studio を開くには、CloudShare ページのトップにある My Environments タブにスイッチして、右の View environment ボタンをクリックし、SAP HANA Studio のView VM ボタンをクリックします。

 

Tip: 表示されたものが以下のようなスクリーンショットとは全く異なるようであれば、Notepad ボックスのリサイズを試みてください。そして、ページの左側をクリックして、Cloudshare フレームの拡大を試みてください。GoToMyPC ほどよくないGoToMyPC のようなファンキーなリモートデスクトップとリモートデスクトップのコンビネーションが表示されます。

Tip: 「Missing plugin detected」ポップアップが表示された場合には、無視してもおそらく大丈夫です。数か月前は、Chrome へのプラグインのインストールは失敗しましたが、今は大丈夫だと思われます。IE11でのインストールはOKです。

image 2a rev CloudShare SAP HANA Studio - View VM - first use - README.jpg

Tip: CloudShare ページの左下の「このマシンへのファイルの転送はどうしたらよいですか?」のような FAQ セクションもチェックしてください。

Tip: CloudShare ページの右角には、表意文字(象形文字?)がいくつかあります。真ん中のものは、「Resolution」と呼ばれ、「Auto resolution」の設定がうまくいかない場合には、これらのどれかを試してみてください。例えば、この記事では、スクリーンショットを小さくキープするために「800×500」が使用されています。

 

HANA Administration Console を開くには、デスクトップ上の SAP HANA Studio アイコンをダブルクリックします。

 

これでうまくいかない場合は ( ダブルクリックでプロパティ ダイアログボックスが開いてしまった場合) 、右クリック – 開く を試してみてください。

image 2b1 rev Secure Storage A new master password has been created.jpg

 

上の 「Secure Storage」 ポップアップを見るのは初めてではないかもしれません。しかし、そうであっても、「No」をクリックしてください。過去の経験から、「Yes」を選ぶと、「No」に戻る長くグルグルまわる道に誘導され、混乱します。 🙂

 

上の Overview ウィンドウでは、Open Administration Console 上でクリックすると下が表示されます。右側に Cheat Sheets タブが見えない場合(おそらく見えないと思います)、遠く左側にある「New Menu」 象形文字の逆三角形をクリックしてみてください。

 

image 2b2 rev Administration Console - SAP HANA Studio - first use.jpg

Tip: 全てを見るためには、ウィンドウをリサイズして移動する必要があるかもしれません。そして、 非常に…動きの遅いマウスに、… 耐えてください。

Tip: もし休憩して、タイムアウトした場合に、CloudShare へ戻る方法は: .cloudshare.com/Pro/Login.mvc を使用します。SAP SCN パスワードではなく CloudShare パスワードを使ってログインする必要があります。そして、View Environment ボタンをクリックして、HANA VM をリロードする必要があります。

右側の、Cheat Sheets タブで、Adding New Systems and Folders アイテムを拡張し、Creating a New Folder を選択し「Start working on this task」をクリックします。

 

image 2c1 rev Administration Console - Creating a New Folder.jpg

このCheat Sheet は、実際何もしません。しかし、どのステップを踏めば良いのか示してくれます。最初は、File – New – Folder メニューアイテムをクリックします。

 

New Folder ダイアログボックスが開き、Folder 名を入力できます。この場合、名前は breck と入れます。

 

image 2c2 rev Administration Console - File - New - Folder - breck.jpg

 

Cheat Sheet の次のステップは、「Adding a New System」です。これは、左側の Navigator タブの「breck」を右クリックして、「Add System」をクリックします。

 

Specify System ダイアログボックスが表示されますので、以下のようにフィールドを埋めてください。

 

  1. Hostname: breckcarterhana.vm.cld.sr
  2. Instance Number: 00

image 2d rev Administration Console - Specify System - Hostname - Instance Number.jpg

Tip: もし、HANA Studio ウィンドウ上を移動する際にマウスポインターが消えてしまったら、クリックすれば戻ると思います。

 

Next をクリックすると、Connection Properties ダイアログボックスが表示されるので、database user でパワフルな HANA のデフォルト認証を全て提供します。

 

 

  1. User Name: SYSTEM
  2. Password:  manager

image 2e rev Administration Console - Connection Properties - User Name - Password.jpg

 

この時点では、Finish をクリックすることも、あるいは Next をクリックして Host 値 breckcarterhana.vm.cld.sr:30015 を表示する Additional Properties ダイアログボックスを表示させることもできます。

 

image 2f rev Administration Console - Additional Properties - shows full Host.jpg

今度は、Finish をクリックする時です。その後、様々なエラーメッセージが表示されるかもしれません。例えば、

Can not access system on host ‘breckcarterhana.vm.cld.sr’

下のものがすぐ後に続くかもしれません

Connection Properties

 

 

The system cannot be reached. The login data could not be used.

Are you sure you want to add the system to your workspace?

 

 

Yes No

Yes をクリックすると (変更を放棄したくないでしょうから)、これが表示されるかもしれません。

System

 

 

 

The system is not accessible. Specify the system ID if you want to register

the specified system anyway.

 

 

 

Host Name:      breckcarterhana.vm.cld.sr

Instance Number: 0

System ID:      ______

 

 

 

OK Cancel

「system id」 を sap.com で Google 検索すると、HDB が正しいであろうと想像し、それを入力してOKを押すかもしれませんが、以下が表示されることになります。

[HDB breckcarterhana.vm.cld.sr 00 (SYSTEM)]Could not create conn…

 

com.sap.ndb.studio.jdbc.JDBCConnectionStatus SAP DBTech JDBC: Cannot

connect to jdbc.sap://breckcarterhana.vm.cld.sr:30015[Unknown host

breckcarterhana.vm.cld.sr:30015[breckcarterhana.vm.cld.sr], -709 ].

 

OK

… しかし、少なくともこれまでの作業は保存されています。 🙂

 

この時点では、もう少しGoogle で検索してみるか、scn.sap.com で質問を投げかけることもできますが、最初に、戻って作業をチェックしてみましょう。特に、

 

  • CloudShare “SAP HANA SPS6 server” VM をチェックして、HANA がまだ稼働しているかどうか確認します。そして、
  • 「Vanity URL」設定が適切に保存されているか確認します。

 

次のゴールは、下のようなウィンドウで、Administration Console が実際 HANA に接続されていることを証明します。

image 2g rev Administration Console - Successfully connected to HANA.jpg

 

ステップ 3. SQL Anywhere と Mobile Link をインストールする

 

前に述べたように、この記事では、「SQL Anywhere と Mobile Link の基本を理解していること」または、そうでなくとも、「説明の中でわからないところがあれば、進んで調べられること」を想定しています。つまり、これらがインストールされている必要はありません。このステップで説明します。

 

Mobile Link は、SQL Anywhere のパッケージに含まれています。そして、どちらも SQL Anywhere 16 Developer Edition のコピーをダウンロードしてインストールすると、デフォルトでインストールされます。 global.sap.com/campaign/na/usa/CRM-XU13-CST-SQLDEVEDM/index.html

 

image 3a rev SAP Sybase SQL Anywhere 16 Developer Edition Registration.jpg

「進んで調べられること」の方であるならば、以下を参照してスタートしてください。

 

  • SQL Anywhere 16 ヘルプ – http://dcx.sap.com/index.html#sa160/ja/sqlanywhere_ja16/help_top_index.htm
  • SQL Anywhere SQL 文 – http://dcx.sap.com/index.html#sa160/ja/dbreference/sql-statements-a-d.html
  • Mobile Link 同期 – http://dcx.sap.com/index.html#sa160/ja/mlstart/ml-basics.html
  • Mobile Link と HANA – http://dcx.sap.com/index.html#sa160/ja/mlserver/ml-basics-hana.html
  • 推奨 ODBC Driver – scn.sap.com/docs/DOC-40721#HANA

    Tip: これを書いている時点では、1.00.36 が上のマニュアルに記載されていた HANA ODBC ドライバーのバージョンで、1.00.72 がテストしてMobile Link 担当に承認された最新のバージョン、1.00.70 がこの記事でダウンロードされたバージョン、1.00.48 がこの記事の前のバージョンで成功したバージョンでした。ポイントは何かと言うと、上のページに記載した申請手続きの方が注意する必要があるということです。HANA データベースでは、ODBC ドライバーのバージョンは注意を払う必要はあまりなく、上で説明された申請手続きが大切です。

    ❗ 例外: GENERATED ALWAYS AS (now()) の使用を推奨された場合には、無視してください。かつて (1.00.48)、HANA はTIMESTAMP GENERATED ALWAYS AS CURRENT_TIMESTAMP をサポートしていたことがありました。しかし、(1.00.70) ではサポートしていません。なぜ気にする必要があるのでしょう?なぜならば、TIMESTAMP GENERATED ALWAYS AS CURRENT_TIMESTAMP は、SQL Anywhere におけるTIMESTAMP DEFAULT TIMESTAMP のように機能したからです。そのため、ローの挿入と更新のためのタイムスタンプベースのダウンロードをサポートするために、トリガーを書く必要はありませんでした。現在、この記事の後に記載するとおり、これらのトリガーを書く必要があります。プラス、シャドーテーブルを使用する必要があります。しかし、それは別の理由があります。

     

  • HANA ヘルプ マスターリスト – help.sap.com/hana_platform
  • HANA SQL リファレンス – help.sap.com/hana_platform#section7

 

質問したい場合には:

 

  • SQL Anywhere またはMobile Link に関して質問するには、
    • SQL Anywhere フォーラムへ sqlanywhere-forum.sap.com
    • トップの右角そばにある「ask a question」ボックスをクリック
    • 質問を投げる前に、ログインまたは、新しいアカウントをサインアップする必要がありますが、その後遅延はありません。
  • 質問に回答がされたかどうかチェックするには:
    • SQL Anywhere フォーラムへ sqlanywhere-forum.sap.com
    • 誰かが回答していれば、トップの「active」リストのそばに表示されるはずです。
  • HANA に関して質問するには、
    • SAP HANA Developer Centerへ scn.sap.com/community/developer-center/hana
    • 必要であればログインして、Actions をクリックして、右側のディスカッションリンクをスタートします。
    • 「Start a discussion」エディターが表示されたら、質問としてのディスカッションのMark をチェックします。
    • 問題がある場合には、(例えば、Insert Image が機能しないとか) 、別のブラウザを試してみてください。例えば、Chrome のかわりにInternet Explorer など
    • もし、SCN の新しいユーザーの場合には、モデレーターが承認するまでは他の人から質問は見えないかもしれません。
  • 質問が回答されたかどうかチェックするには、
    • SAP HANA Developer Center に行きます: scn.sap.com/community/developer-center/hana
    • そのページのトップの右側角のコミュニケーションボタンをクリックします。
    • 質問は、下方右側のセクションに表示されます。タイトルをクリックして、ディスカッションを拡大し、新しい回答がついているかどうか確認します。
    • 返信もモデレーターに依存するため、2人のユーザー間の会話も…忍耐が必要かもしれません。

 

もしGoogle 検索を好むのであれば(好まない人がいるでしょうか?)、Google の「サイト」を利用する例をいくつか下にあげておきます。検索結果を狭めるためのキーワードです。

 

Tip: SQL Anywhere のマニュアルの世界では、何かについて読む場所は一か所しかありませんが、SAPではそうではありません。SAP のメインの製品ライン (そしてがメジャー製品でなくてはHANA は何でしょう) は、毎日、移動・変更・増加する、エンドレスな大量のマニュアルが伴います。

パニックにならないように: 全てを読む必要はありません。自分の仕事をするために必要なことを理解すれば十分です。読んでいるマニュアルが、何の助けにもならなければ、もっと良いものを見つけましょう。きっとsap.com かそれ以外のどこかにあるはずです。

 

 

ステップ 4. ISQL 経由で HANA データベースに接続する

 

SQL Anywhere 16 とともに出荷される Interactive SQL ユーティリティー (ISQL, or dbisql) は、SQL Anywhere データベースだけでなく、HANA データベースともうまく動きます。しかしながら、最初に、正しいODBC ドライバーを入手するために、HANA クライアントソフトウェアをダウンロードする必要があります。

 

HANA クライアントをダウンロードするとなると、これに関して、少なくともYouTube にビデオが3つ存在します。その1つはこれです。 youtu.be/i0fmHNLhD-c

 

あるいは、これが tl;dw (長すぎる; 見なかった) 場合には、直接このURLを使用することもできます: hanadeveditionsapicl.hana.ondemand.com/hanadevedition/

 

image 4a1 rev HANA Client Developer Edition - Accept and Download.jpg

HANA データベースクライアントのインストールを Windows PC にインストールすると、以下が表示されます。

 

image 4a2 rev SAP HANA Lifecycle Management - Install Software.jpg

HANA データベースのODBC DSN を作成するには以下のとおりです。

 

  • ODBC Data Source Administrator を自分のワークステーションで開きます (start – Control Panel – Administrative Tools – Data Sources (ODBC))。User DSN タブを選択して、Add… ボタンでをクリックして、HDBODBC エントリを選択します。image 4b rev ODBC - Create New Data Source - Select a driver - HDBODBC.jpg
  • Finish をクリックすると、「SAP HDB (1.00.70.58439)」 ダイアログボックスが表示されるので、breckcarterHANA、やvanity URL  breckcarterhana.vm.cld.sr:30015、ポート番号などを入力します。

 

  1. Data Source Name  breckcarterHANA
  2. Server:Port      breckcarterhana.vm.cld.sr:30015

image 4c rev ODBC - SAP HDB - Data Source Name - Server-Port.jpg

 

  • OK をクリックして、DSN を保存することができます。あるいは、

 

  1. User      SYSTEM
  2. Password  manager

image 4d rev ODBC - breckcarterHANA - Configure - Connect.jpg

  • OK をクリックして、接続をテストします。そして、おっと!CloudShare でHANA VM が動いていないと、以下のことがおきます。

ODBC-Error

 

SQLSTATE: 08S01

NATIVE ERROR: -10709

MESSAGE TEXT: [SAP AG][LIBODBCHDB DLL][HDBODBC]

Communication link failure;-10709 Connection failed

(RTE:[89006] System call ‘connect’ failed, rc=10060:A connection

attempt failed because the connected party did not properly

respond after a period of time, or establish

 

OK

 

image 4e1 rev ODBC - breckcarterHANA - Configure - Connect unsuccessful.jpg

  • HANA データベースが動いている場合には、以下が表示されます。image 4e2 rev ODBC - breckcarterHANA - Configure - Connect successful.jpg

この時、OK をクリックするのを忘れないでください。そしてさらに DSN を保存するためにも再度 OK をクリックしてください。これは、ODBC Administrator でのよくあるエラーです。 🙂

 

Tip: そして、なぜ、「ODBC-error」のような冗長な内容をこの記事ではイメージとテキストの両方の形で記載しているのか、不思議に思うでしょうか?

回答はGoogle にあります !… このメッセージのテキストを検索した時に、この記事を発見できるように、です。 🙂

 

もうカンザスにはいません!

 

ODBC DSN のような breckcarterHANA を設定でき、CloudShare 上で HANA データベースが起動していれば、Interactive SQL を起動する Windows コマンドラインを使用することができます。

 

  1. “%SQLANY16%\bin64\dbisql” -c “DSN=breckcarterHANA; UID=SYSTEM; PWD=manager;”

image 4f1 rev You are connected to a database which is not explicitly supported.jpg

Tip: ご存知でしたでしょうか? SQL Anywhere の ISQL ユーティリティーは、HANA と一緒に使用できますが、この警告メッセージを避けるためには、dbisql -hana オプションを使用する必要があります。興味があれば、SAP IQ 用の -iq というものもオプションもあります。

Tip: dbisql を -hana とともに使用する場合、DSN=breckcarterHANA を接続関数に使用することができます。しかし、UID=SYSTEM または PWD=manager を特定することはできません。特定した場合、dbisql は、それらを無視し、ユーザーID とパスワードを要求します。

このわずらわしさを避けるには、代わりに USER=SYSTEM と PASSWORD=manager を特定します。….私は、…真面目に言っていて、ふざけてはいません。明らかにこれがルールです。 🙂

以下は、新しく、改善されたフル機能のISQL コマンドラインです。

 

  1. “%SQLANY16%\bin64\dbisql” -c “DSN=breckcarterHANA; USER=SYSTEM; PASSWORD=manager;” -hana

シンプルなクエリを流してみます。

 

  1. SELECT *,
  2.   ‘No’ AS “We’re not in Kansas anymore.”
  3.   FROM DUMMY;

結果セットを得るには、少し… SQL Anywhere の同じ SELECT とは違います。

image 4f2 rev We're not in Kansas anymore.jpg

何が違って、ISQL がSQL Anywhere ではなくHANA に接続されていることを証明するのは、結果セットです: カラム名は、dummy_col ではなくDUMMY になっていて、ゼロではなく、X になっています。

 

ステップ 5. HANA の異なるユーザーID にスイッチする。

 

SQL Anywhere データベースを使用した埋め込みのデータベースを構築する場合には、DBA/sql のようなデフォルトのユーザーID とパスワードを使用するのも OK かもしれませんが、HANA では異なります。

 

HANA データベースのようなエンタープライズの世界では、SYSTEM/manager とは違うものを使用することが期待されています。設定方法は、以下のとおりです:

 

  • CloudShare にログインします。 use.cloudshare.com/Pro/Login.mvc
  • View Environment をクリックして、スタートするのを待ちます。
  • View VM for SAP HANA Studio をクリックします。ログインする必要があれば、SYSTEM/manager を使用します。.
  • breck – HDB (SYSTEM) – Security を拡大します。
  • Users 上でマウスを右クリックし、New User をクリックして「HDB (SYSTEM)」フレームを開きます。
  • フィールドを埋めます…

 

  1. User Name: DBA
  2. Password:  SqlHappy1

Tip: HANA のパスワードは、L0nGaNdFuNkY である必要があります。… しかし、良いニューズがあります ! Ctrl-C と Ctrl-V 経由でのコピー&ペーストがデスクトップと CloudShare のリモートコントロールウィンドウで機能するようになりました!

image 5a rev SAP HANA Studio - HDB - New User.jpg

  • DUMMYフレームのトップ右の緑の 「Deploy (F8)」 矢印上でクリックします。

 

実際新しい DBA ユーザーで何かする場合には、何等かの権限が必要です。以下のとおりです。

 

  • 下にスクロールして、「HDB (SYSTEM)」フレームの下にあるObject Privileges タブを選択します。タブは、空ですが、すぐに変更になります。

 

Tip: この GUI が、自分にはフレーム、タイトルバー、リサイズ可能なボーダーの数が多すぎだと思われるようであれば、モダン オーバーデザインへようこそ。これに慣れましょう。そして、この「HDB – New User」タブが「HDB – DBA」にシフトするような、変化する性質に慣れましょう (見守りましょう!)。

 

 

変化について言うと、全 SAP HANA Studio GUI は、いつでも変わる可能性があります。過去にもありました。「SQL Privileges」が「Object Privileges」に変わったようなものです。アドバイスは変わらず:それに慣れなさい、です。

 

 

 

 

  • 緑の「+」サインをクリックし、Select Catalog Object ダイアログボックスを開きます。
  • 「system」を入力すると、いくつかの 「Matching items」が表示されます。 image 5b rev SAP HANA Studio - Select Catalog Object - Matching items.jpg
  • 一番下の SYSTEM エントリーを選択し、OK を押して SQL Privileges タブを出します。おっと、Object Privileges タブでした。「SYSTEM」で可能なものが表示されます。全ボックスと全 Yes ボタンをチェックします。自分が何をやっているのか知るためには、リサイズして表示を移動させなければならないかもしれません。 image 5c rev SAP HANA Studio - Privileges for 'SYSTEM'.jpg
  • …それから、グリーンの「Deploy (F8)」をクリックして、HDB (SYSTEM) フレームのトップ右側を許可します。

注意してください! スクロールバーから一番下まで表示しているように見えますが、上の権限リストは、全リストではありません… これは、権限のスクロールバーではありません! 必要なスクロールバーは、右の方にあります。DELETE のような残りの権限をみるには、このスクロールバーを使う必要があります。

 

これで新しいDBA ユーザー ID を使用して、テーブルを作成して埋めることができます。しかし、Mobile Link サーバーが HANA データベースに接続するためにこれを使おうとする場合、CATALOG READ 権限も必要となります。以下がその方法です。

 

  • System Privileges タブをクリックし、緑の「+」をクリックして Select System Privilege ダイアログボックスを表示します。
  • CATALOG READ を選択します。もし、他の権限がおもしろそうに思えた場合、ここの: help.sap.com/hana_platform#section7 GRANT 文の説明を読むことができます。
  • OK をクリックして、to return to the HDB (SYSTEM) フレームに戻り、「Grantable to other users and roles」をチェックします。

Tip: もし、新しいユーザーID で他のユーザーID を作成できるようにしたいのならば、USER ADMIN 権限をgrant する良い時です。なぜならば、CREATE ANY 権限は、CREATE USER をするにはあまりよくないので、それには USER ADMIN が必要です。

 

Tip: 次のステップで、Mobile Link システムテーブルを作成するユーザー ID は、後のステップで HANA に接続するために使用するMobile Link サーバーと同じである必要があります。エンタープライズのセキュリティルールでは、これらの2つのロールに対して別の異なるユーザーID を強く求めるかもしれません。その場合のTipは:反対する!です。あるいは、追加の開発作業…テスト… エラーによる変更の増加…をすることになります。デフォルトでは、Mobile Link は1つのユーザーID を仮定しています。

Tip: Mobile Link 用だけに別のユーザーID を持つのは簡単なことです。もし必要で、1つ作成するなら今がその時です。新しいDBA ユーザーを使用してできます。これが、「Grantable」がチェックされた理由です。ポイントは、同じ単一のMobile Link ユーザーID を使用して、Mobile Link システムテーブルを作成し、Mobile Link サーバーに接続することです。

 

  • 緑の「Deploy (F8)」矢印をクリックすることを忘れないでください。 image 5d rev SAP HANA Studio - CATALOG READ.jpg

新しいDBA ユーザーID を使用して、ISQL 経由でHANAにログインできます。

 

  1. “%SQLANY16%\bin64\dbisql” -c “DSN=breckcarterHANA; USER=DBA; PASSWORD=SqlHappy1;” -hana

そして、これは間違っているように見えます…

image 5e rev DBA - Interactive SQL.jpg

しかし、何かをしようとするとすぐ、 (SELECT * FROM DUMMY を実行するような) 以下が表示されます。

 

Could not execute statement.

SAP DBTech JDBC: [414]: user is forced to change password: alter

password required for user DBA

SQLCODE=414, ODBC 3 State=”HY000″

Line 1, column 1

 

 

 

SELECT * FROM DUMMY

image 5f rev 414 user is forced to change password.jpg

OK をクリックして、エラーをクリアし、ALTER USER コマンドを使用してパスワードを変更します。

 

  1. ALTER USER DBA PASSWORD HappyHANA1;
  2. SELECT * FROM DUMMY;

これでうまくいきます。

image 5g rev ALTER USER DBA PASSWORD HappyHANA1.jpg

Tip: HANA は、全てにおいてStudio GUI をとおして全て(カタカタ)やるように強要はしません。オールドスクール的にSQL 文をコードして、オールドスクールなテキストファイルに保存して、”–” コメントとともに文書化して、変更の履歴をキープすることもできます。ソースコントロールさえも使えます !

例えば、このステップの前の方で実施した全 HANA Studio 作業のための ISQL の代替は以下のとおりです。

 

  1. CREATE USER DBA PASSWORD SqlHappy1;
  2. GRANT CREATE ANY ON SCHEMA SYSTEM TO DBA WITH GRANT OPTION;
  3. GRANT ALTER      ON SCHEMA SYSTEM TO DBA WITH GRANT OPTION;
  4. GRANT DROP      ON SCHEMA SYSTEM TO DBA WITH GRANT OPTION;
  5. GRANT EXECUTE    ON SCHEMA SYSTEM TO DBA WITH GRANT OPTION;
  6. GRANT SELECT    ON SCHEMA SYSTEM TO DBA WITH GRANT OPTION;
  7. GRANT INSERT    ON SCHEMA SYSTEM TO DBA WITH GRANT OPTION;
  8. GRANT UPDATE    ON SCHEMA SYSTEM TO DBA WITH GRANT OPTION;
  9. GRANT DELETE    ON SCHEMA SYSTEM TO DBA WITH GRANT OPTION;
  10. GRANT INDEX      ON SCHEMA SYSTEM TO DBA WITH GRANT OPTION;
  11. GRANT CATALOG READ TO DBA WITH ADMIN OPTION;

Gadzooks! これは簡単でした… HANA SQL 文の詳細については、 help.sap.com/hana_platform#section7

 

ゴールに近づいてきました! このチュートリアルは、パート 2.に続きます。

 

 

 

 

 

===

 

SAP SQL Anywhere に関する詳細情報は、SAP SQL Anywhere Communityページ<英語> を参照してください。

 

上記のコミュニティーに掲載されている技術情報は、順次SQL Anywhere 日本語コミュニティに掲載しています。

SQL Anywhere の日本語記事をリスト形式で表示するには、「sql anywhere japan」のタグをクリックしてください。

 

SQL Anywhere に関してはまずはこちらをご参照ください。無期限でご利用いただける無償の Developers Edition もこちらからダウンロードが可能です。

 

SQL Anywhere に関して技術的な質問のある方はコミュニティに登録し、
「+ Actions」から「Ask a Question」機能をご利用ください。

Language には「Japanese」、
Primary Tag には「SQL Anywhere」、
Additional tag には「SAP SQL Anywhere」、
User Tagに「sql anywhere japanese question」

を選択してください。

不具合につきましては、サポート契約者様専用の問い合わせ方法にてお問い合わせください。

 

======================

ご購入に関するお問い合わせ

 

こちらよりお問い合わせください。
の問い合わせ方法にてお問い合わせください。

To report this post you need to login first.

Be the first to leave a comment

You must be Logged on to comment or reply to a post.

Leave a Reply