Mês: maio 2020

SAP SQL Anywhere Tips – LinuxでのODBC接続設定

はじめに *今回もリクエストを受け作成した記事となります。こういうのを解説してほしいとかありましたらお気軽にリクエストいただければと思います。  SAP SQL Anywhere をWindowsサーバーからLinuxサーバーへ移行するという事例が増えています。Windowsサーバー上で動作させていたアプリケーションもLinuxへ移行することになりますが、アプリケーションがODBC接続で接続していた場合、Linuxではどのように設定すればよいのか?こちら、マニュアル上ではあまりにもさらっと触れているだけですので方法を説明したいと思います。 本投稿ではVer.17を使用しましたが、おそらくは他のバージョンでも若干の変更動作すると思われます。他のバージョンでうまく行かないなど有りましたらコメント欄よりお問い合わせいただければと思います。 説明で使用している環境  本説明で使用しているLinuxディストリビューションはUbuntu 16.04LTSです。またSAP SQL Anywhere は17の64bit版を使用しています。おそらくは若干の変更でどのようなLinuxディストリビューションでも活用できると思いますが、お使いのディストリビューションでうまく動かないなど有りましたらコメント欄よりお問い合わせいただければと思います。  また、今現在はLinuxでもGUIでODBCデータソースの設定を行うためのツールが提供されるようになりましたが、Linuxサーバー機の場合、GUI環境をインストールしないという場合がありますので今回はCUIでの設定方法の解説をしたいと思います。SSH、Telnet、あるいはコンソールで接続して行うことになります。 ODBCドライバマネージャ  Windowsと違いLinuxではODBCを使用する上で必要となるODBCドライバマネージャがOSをに標準で付属していませんので通常は追加で導入する必要があります。(ディストリビューション、あるいはOSをインストール時のオプションで標準でインストールされている場合もあるかもしれませんが。)  ここで一つ問題というか、厄介な点があり、OS標準機能として提供されているWindowsと違い、LinuxではODBCドライバマネージャ自体が何種類か存在します。また、Linux版SAP SQL Anywhere自体にもSAP製の独自のODBCドライバマネージャが付属しています。  ではどれを使うべきなのか?に関してですが、これはそのアプリケーションにより異なるという事態が発生します。例えばスクラッチでCで開発したアプリケーションの場合、これは開発者様が決定する必要があります。ODBCドライバマネージャから提供されるライブラリをリンクしてアプリケーションをビルドするということになるからです。つまりこの場合であればどのODBCドライバマネージャを使用しても良いということになります。SAP SQL Anywhere 付属のODBCドライバマネージャを使用してSQL Anywhere専用のアプリケーションとしても良いですし、様々な種類のデータベースで使用できるようにするためにunixODBCやiODBCといったオープンソースのODBCドライバマネージャのライブラリにリンクしてアプリケーションを開発するという方法もあるでしょう。  第三者が開発したアプリケーションや、ランタイム系の開発環境、例えばPythonを使用するといった場合、そちらの指針に従う必要があります。Pythonでpyodbcというモジュールを使用したアプリケーションを使用する場合、このモジュールはunixodbcが必要となりますので、SQL AnywhereのODBCドライバをunixodbcで使用するように設定する必要があります。 *Pythonに対してはSAP SQL Anywhereでも専用の接続モジュールを提供していますのでそれを使用する方法もあります。 本説明ではODBCドライバマネージャとしてunixODBCを使用た例を解説します。unixodbcパッケージがインストールされていない場合、追加でインストールする必要があります。ubuntuの場合であれば [ … ]