各製品の資料を入手。
詳細はこちら →PowerBuilder からExcel Online のデータに連携
この記事では、Excel Online JDBC ドライバーを使用してPowerBuilder からExcel Online にアクセスする方法を説明します。
最終更新日:2022-06-13
こんにちは!ウェブ担当の加藤です。マーケ関連のデータ分析や整備もやっています。
CData JDBC Driver for ExcelOnline は、標準ベースのコントロールであり、PowerBuilder を含むJDBC をサポートするプラットフォームまたは開発テクノロジーから使用できます。 また、PowerBuilder でCData JDBC Driver for ExcelOnline を使用する方法についても詳しく説明します。
この記事では、CData JDBC Driver for ExcelOnline を使用して読み取りと書きこみを実行する基本的なPowerBuilder アプリケーションを作成する方法を説明します。
PowerBuilder からExcel Online のデータに接続
以下のステップに従ってDatabase Painter ツールを使用し、JDBC URL for ExcelOnline に基づいてデータベースプロファイルを作成します。データベースプロファイルを使用して、接続プロパティを保存できます。Ⅾatabase Painter では、データをグラフィカルに操作したり、SQL クエリを実行したりできます。
ドライバーJAR をPowerBuilder クラスパスに追加します。CLASSPATH システム環境変数を、インストールディレクトリのlib サブフォルダにあるドライバーJAR へのパスに設定します。
NotePowerBuilder Classic を使用している場合は、[Tools]->[System Options]->[Java]をクリックし、ドライバーJAR へのパスを追加することもできます。
- [Tools]->[Database Painter]と進みます。
- JDBC のノードを右クリックし、[New Profile]をクリックします。
- [Database Profile Setup]ダイアログで、以下を入力します。
- Profile Name:プロファイルのわかりやすい名前を入力します。
- Driver Name:ドライバーのクラス名にcdata.jdbc.excelonline.ExcelOnlineDriver を入力します。
- URL:JDBC URL を入力します。
ワークブックに接続するには、Excel Online への認証を提供し、 次のプロパティを設定します。
-
Workbook: ワークブックの名前かId に設定。利用可能なワークブックに関する情報のリストを表示する場合は、認証後にWorkbooks ビューに対してクエリを実行します。
- UseSandbox: Sandbox アカウントのワークブックに接続している場合はtrue に設定。それ以外の場合は、これを空のままにしてプロダクションアカウントに接続します。
OAuth 認証を使うこともできます。ユーザー資格情報の接続プロパティを設定せずに接続できます。接続すると、CData 製品はデフォルトブラウザでOAuth エンドポイントを開きます。ログインして、CData 製品にアクセス許可を与えます。CData 製品がOAuth プロセスを完了します。 他のOAuth 認証フローについては、ヘルプドキュメントの「OAuth 認証の使用」を参照してください。
ビルトイン接続文字列デザイナ
JDBC URL の構成については、Excel Online JDBC Driver に組み込まれている接続文字列デザイナを使用してください。JAR ファイルのダブルクリック、またはコマンドラインからJAR ファイルを実行します。
java -jar cdata.jdbc.excelonline.jar
接続プロパティを入力し、接続文字列をクリップボードにコピーします。以下は一般的なJDBC URL です。
jdbc:excelonline:InitiateOAuth=GETANDREFRESH
-
- テーブルを表示および編集するには、テーブルを右クリックして[Edit Data]->[Grid]をクリックします。

Excel Online をPowerBuilder Controls と共に使用する
標準のPowerBuilder オブジェクトを使用してJDBC データソースに接続し、クエリを実行できます。以下の例は、Excel Online をDataWindowに取得する方法を示しています。次のコードをopen メソッドに追加できます。
SQLCA.DBMS = "JDBC"
SQLCA.AutoCommit = False
SQLCA.DBParm = "Driver='cdata.jdbc.excelonline.ExcelOnlineDriver',URL='jdbc:excelonline:InitiateOAuth=GETANDREFRESH";
CONNECT USING SQLCA;
dw_test_xlsx_sheet1.SetTransObject(SQLCA);
dw_test_xlsx_sheet1.Retrieve();