ColdFusion にリアルタイムMYOB AccountRight のデータをインポートしてアプリケーションを構築

CData JDBC ドライバを使ってColdFusion にMYOB AccountRight のデータをインポートして使用します。

古川えりか
コンテンツスペシャリスト

最終更新日:2023-02-02

この記事で実現できるMYOB AccountRight 連携のシナリオ

こんにちは!ドライバー周りのヘルプドキュメントを担当している古川です。

Adobe ColdFusion は、Web アプリケーションおよびモバイルアプリケーション開発プラットフォームです。独自のスクリプト言語であるColdFusion Markup Language(CFML)を使用し、データドリブンなWeb サイトを作成したり、REST などのリモートサービスを生成したりすることができます。

ColdFusion とCData JDBC Driver for MYOB を組み合わせると、ColdFusion のWeb アプリケーションやモバイルアプリケーションを、運用中のMYOB AccountRight のデータにリンクできます。 これにより、アプリケーションの堅牢性と完成度を高めることができます。この記事では、JDBC ドライバーを使ってColdFusion マークアップファイルからMYOB AccountRight のデータを入力したテーブルを作成する方法について詳しく説明します。

最適化されたデータ処理が組み込まれたCData JDBC ドライバは、リアルタイムMYOB AccountRight のデータを扱う上で高いパフォーマンスを提供します。 MYOB AccountRight にSQL クエリを発行すると、CData ドライバーはフィルタや集計などのMYOB AccountRight 側でサポートしているSQL 操作をMYOB AccountRight に直接渡し、サポートされていない操作(主にSQL 関数とJOIN 操作)は組み込みSQL エンジンを利用してクライアント側で処理します。 組み込みの動的メタデータクエリを使用すると、ネイティブのデータ型を使ってMYOB AccountRight のデータを操作および分析できます。

MYOB AccountRight への接続を設定する

Coldfusion とMYOB AccountRight の接続を確立するには、JDBC 接続文字列が必要です。

MYOB への接続

MYOB 会社ファイルに接続するには、CompanyFileId をデータを取得したい会社ファイルのID に設定します。指定しない場合は、最初に返された会社ファイルのID(アルファベット順にソート)が使用されます。

この接続プロパティは、CompanyFiles ビューを除くすべてのテーブルおよびビューにアクセスするために必要です。CompanyFiles ビューは、アカウントに紐づく会社ファイル(およびその関連ID)を表示するために使用できます。会社ファイルのID がわからない場合は、このビューを使用してください。

次のプロパティを追加設定します。

オンプレミスインスタンスInstanceOnPremise に設定。
AuthSchemeBasic に設定。
User:会社のファイルに紐づいているユーザー名。会社ファイルを作成すると、Administrator というユーザーアカウントが自動的に作成されます。デフォルトでは、Administrator ユーザーアカウントにはパスワードが割り当てられません。
InitiateOAuth:OFF。
Url:MYOB インスタンスのURL。
クラウドインスタンスInstanceCloud に設定。
AuthSchemeOAuth に設定。
InitiateOAuthGETANDREFRESH
User:会社のファイルに紐づいているユーザー名。
Password:(パスワードが設定されている場合)会社ファイルの認可されたユーザーのパスワードに設定。

OAuth で認証する場合は、さらにヘルプドキュメントを参照してください。

組み込みの接続文字列デザイナー

JDBC URL の作成の補助として、MYOB AccountRight JDBC Driver に組み込まれている接続文字列デザイナーが使用できます。JAR ファイルをダブルクリックするか、コマンドラインからjar ファイルを実行します。

java -jar cdata.jdbc.myob.jar 組み込みの接続文字列デザイナーを使ってJDBC URL を生成(myob accountright の場合)

データソースを追加してテーブルを作成する

接続を設定したのち、次の手順に従ってはじめにCData JDBC ドライバをColdFusion のlib ディレクトリに追加し、続けて新しいデータソースを追加、接続をテスト、ColdFusion マークアップファイルを作成し、最後にMYOB AccountRight のデータとリアルタイム接続してColdFusion Markup Language(CFML)で記述されるテーブルに表示します。

  1. JDBC Driver for MYOB およびlic ファイルを"C:\Program Files\CData\CData JDBC Driver for MYOB\lib" から"C:\ColdFusion2021\cfusion\wwwroot\WEB-INF\lib"にコピーします。 cdata.jdbc.myob.jar cdata.jdbc.myob.lic

    Note:.lic ファイルをjar ファイルとともにコピーしないと、有効なライセンスがインストールされていないことを示すライセンスエラーが表示されます。 これは評価版、製品版ともに同様です。

  2. ColdFusion Administrator インターフェースで「データとサービス」を選択します。 データとサービスを選択
  3. 「新規のデータソースの追加」を行います。データソース名は、ColdFusion の変数命名規則に従っていればどのような名前でもかまいません。 JDBC ドライバーの場合は、「その他」を選択して「追加」ボタンをクリックします。 データソース名を追加
  4. 次に、ドライバーのプロパティを入力します。
    • 「JDBC URL」は、次のような形式である必要があります: jdbc:myob:|connectionString|
    • 典型的な接続文字列は次のようになります:

      jdbc:myob:OAuthClientId=YourClientId; OAuthClientSecret=YourClientSecret; CompanyFileId=yourCompanyFileId; CallbackURL=http://localhost:33333; User=companyFileUser; Password=companyFilePassword; InitiateOAuth=GETANDREFRESH
    • 「ドライバクラス」は次のようになります:cdata.jdbc.myob.MYOBDriver
    • 「ドライバ名」の入力は任意で、これは単にColdFusion Administrator コンソールでデータソースを認識するために使われます。
    ドライバーのプロパティを入力
  5. ここで、作成したCDataMYOB AccountRightJDBC データソースの左側にあるチェックマークをクリックして、接続をテストしてください。 データソースのステータスが「OK」になると、使用可能な状態です。 接続をテスト
  6. 次に、ColdFusion Markup ファイル(.cfm)を新規作成し、ColdFusion のwwwroot ディレクトリ("C:\ColdFusion2021\cfusion\wwwroot")に配置します。

    次のコードは、データソースにクエリを実行します。

                
            <cfquery name="MYOB AccountRightQuery" dataSource="CDataMYOB AccountRightJDBC">
              SELECT * FROM Accounts
            </cfquery>
        
    CFTable を使用すると、HTML で素早くテーブルを出力できます。
                
              <cftable
              query = "MYOB AccountRightQuery"
              border = "1"
              colHeaders
              colSpacing = "2"
              headerLines = "2"
              HTMLTable
              maxRows = "500"
              startRow = "1">
    
              <cfcol header="<b>Id</b>" align="Left" width=2 text="Id"/>
    
              <cfcol header="<b>Name</b>" align="Left" width=15 text="Name"/>
    
              ...
    
            </cftable>
        
    HTML 部分を含むコード全体を以下に掲載します。
                
            <html>
            <head><title>CData Software | MYOB AccountRight Accounts Table Demo </title></head>
            <body>
            <cfoutput>#ucase("MYOB AccountRight Accounts Table Demo")#</cfoutput>
            <cfquery name="MYOB AccountRightQuery" dataSource="CDataMYOB AccountRightJDBC">
    
              SELECT * FROM Accounts
    
            </cfquery>
            <cftable
              query = "MYOB AccountRightQuery"
              border = "1"
              colHeaders
              colSpacing = "2"
              headerLines = "2"
              HTMLTable
              maxRows = "500"
              startRow = "1">
              <cfcol header="<b>Id</b>" align="Left" width=2 text="Id"/>
    
              <cfcol header="<b>Name</b>" align="Left" width=15 text="Name"/>
    
              ...
    
            </cftable>
            </body>
    
            </html>
        
  7. 最後に、デフォルトのポート8500のブラウザでコードをローカルに実行します。これでMYOB AccountRight のデータが入力されたテーブルが作成されました! コードを実行

なお、CData JDBC ドライバはcfqueryparam 要素を使用したパラメータ化クエリもサポートしています。 次に例を示します。 SELECT * FROM Account WHERE name =

今日からはじめましょう

CData JDBC Driver for MYOB の 30日間無償トライアル をダウンロードして、Adobe ColdFusion でMYOB AccountRight と連携したアプリケーションの作成をはじめましょう!ご不明な点があれば、サポートチームにお問い合わせください。

関連コンテンツ

トライアル・お問い合わせ

30日間無償トライアルで、CData のリアルタイムデータ連携をフルにお試しいただけます。記事や製品についてのご質問があればお気軽にお問い合わせください。