CData PowerShell Cmdlets for Sage 300 はじめに:インストールから接続まで
このガイドでは、Sage 300 PowerShell Cmdlets の使い方を詳しく解説します。Cmdlet のインストール、初回接続の設定、クエリの実行、そして PowerShell で Sage 300 のデータ を操作するための次のステップをご紹介します。
インストールとライセンス認証
システム要件
CData PowerShell Cmdlets は、PowerShell が動作するあらゆる環境で実行できます。
Windows
- Windows 10/11
- Windows Server 2016 以降
- PowerShell 5.1 または PowerShell 7 以降
macOS / Linux
- PowerShell 7 以降
- 追加のシステムライブラリは不要
- アーキテクチャ固有のインストーラーは不要
Cmdlet のインストール
CData Cmdlets は PowerShell Gallery から配布されており、プラットフォーム間で簡単かつ一貫したインストールプロセスを実現しています。
インストール手順
- 管理者モードで PowerShell を開きます
- 以下のコマンドを実行して Cmdlet モジュールをインストールします:
Install-Module Sage300Cmdlets -Repository PSGallery -Force
このコマンドは:
- 公式の PowerShell Gallery からモジュールをダウンロードします
- PowerShell 環境にインストールします
- すべての Cmdlet をすぐに使用できるように登録します
モジュールの確認
インストールを確認するには:
Get-Module -ListAvailable "*Sage300*"
ライセンス認証
Cmdlets は試用版と正規ライセンスの両方の認証に対応しています。
試用版ライセンス
試用版の認証は自動的に行われ、キーは不要です。インストール後すぐに Cmdlet を使用できます。
正規ライセンスの認証
正規ライセンスを購入された場合、CData Orders チームからプロダクトキーを受け取ります。
ライセンスの認証
以下のコマンドを実行します:
Set-ModuleLicense ""
認証が成功すると、確認メッセージが表示されます。
ライセンスに関するよくある質問
ライセンスは複数のマシンで使用できますか?
サブスクリプションプランによります。注文確認メールを確認するか、[email protected] までお問い合わせください。
ライセンスキーを紛失しました。どうすればよいですか?
注文番号を添えて [email protected] までメールでお問い合わせください。
ライセンスを別のマシンに移行できますか?
以下のリンクからライセンス移行リクエストを送信してください:https://www.cdata.com/lic/transfer/
ライセンスはどこで管理できますか?
CData カスタマーポータルにアクセスしてください:https://portal.cdata.com/
接続設定
モジュールがインストールされ、ライセンスが認証されたら、
Connect-Sage 300 cmdletを使用して Sage 300 への接続を確立できます。
必要な接続プロパティを取得したら、PowerShell で Sage 300 のデータ にアクセスしてレプリケーションを準備するには、基本的に 4 つのステップがあります。
Sage 300 には、Sage 300 Web API で通信するための初期設定が必要となるます。
- Sage 300 のユーザー向けのセキュリティグループを設定します。Sage 300 のユーザーに、Security Groups の下にあるbSage 300 Web API オプションへのアクセスを付与します(各モジュール毎に必要です)。
- /Online/Web と/Online/WebApi フォルダ内のweb.config ファイルを両方編集して、AllowWebApiAccessForAdmin のキーを true 設定します。webAPI アプリプールを再起動すると設定が反映されます。
- ユーザーアクセスを設定したら、https://server/Sage300WebApi/ をクリックして、web API へのアクセスを確認してください。
Basic 認証を使用してSage 300 へ認証します。
Basic 認証を使用して接続する
Sage 300 に認証するには、次のプロパティを入力してください。プロバイダーは、クッキーを使用してSage 300 が開いたセッションを再利用することに注意してください。 そのため、資格情報はセッションを開く最初のリクエストでのみ使用されます。その後は、Sage 300 が返すクッキーを認証に使用します。
- Url:Sage 300 をホストするサーバーのURL に設定します。Sage 300 Web API 用のURL を次のように作成してください。 {protocol}://{host-application-path}/v{version}/{tenant}/ 例えば、 http://localhost/Sage300WebApi/v1.0/-/ です。
- User:アカウントのユーザー名に設定します。
- Password:アカウントのパスワードに設定します。
Sage 300 のデータ の取得
-
モジュールをインストールします:
Install-Module Sage300Cmdlets
-
Sage 300 に接続します:
$sage300 = Connect-Sage300 -User $User -Password $Password -URL $URL -Company $Company
PowerShell での Sage 300 のデータ のクエリ
接続後、標準 SQL のようなコマンドを使用してデータをクエリできます。
クエリ例:
$results = Select-Sage300 `
-Connection $conn `
-Table "OEInvoices" `
-Columns "InvoiceUniquifier,ApprovedLimit" `
-Where "InvoiceUniquifier != ''"
結果を表示します:
$results
これで PowerShell から Sage 300 のデータ にアクセスできるようになりました。
よくある問題
認証エラー
解決策: ユーザー名、パスワード、セキュリティトークンを確認してください。OAuth アプリケーションの場合、アプリケーションのセキュリティ設定で CData を認可する必要がある場合があります。認可のサポートについては [email protected] までお問い合わせください。
ネットワークまたはプロキシの問題
解決策: ファイアウォール設定とアウトバウンドアクセスを確認してください。ほとんどのクラウドアプリケーションはポート 443 を使用します。
Cmdlet が見つからない
解決策: モジュールがインストールされていることを確認してください -
Get-Module -ListAvailable "*Sage 300*"
クエリが遅い
解決策:
- フィルターを追加してデータセットのサイズを削減してください
- サポートされている場合は $Limit または $Top プロパティを使用してください
- 最適化のサポートについては [email protected] までお問い合わせください
接続に関するその他のトラブルシューティングについては、具体的なエラーメッセージを添えて [email protected] までお問い合わせください。
次のステップ
PowerShell Cmdlets のインストール、ライセンス認証、接続設定が完了しました。以下のシナリオを参考に、さらに活用してみてください:
| PowerShell | 記事タイトル |
|---|---|
| Piping Cmdlets | PowerShell で Sage 300 のデータ を CSV にパイプする方法 |
| Replication | PowerShell スクリプトで Sage 300 のデータ を MySQL にレプリケートする |
サポート
ご不明な点がございましたら、お気軽にお問い合わせください:
- テクニカルサポート: [email protected]
- コミュニティフォーラム: CData Community Site
- ヘルプドキュメント: ローカルにインストールされているほか、オンラインでも参照可能です
FAQ(PowerShell Cmdlets)
インストールとライセンス
- Cmdlet のインストールには管理者権限が必要ですか?
- Windows PowerShell 5.1(Windows):管理者権限が推奨されます。特にすべてのユーザー向けにモジュールをインストールする場合に必要です。
- PowerShell 7 以降(Windows、macOS、Linux):以下のコマンドを使用することで、管理者権限なしで現在のユーザー向けに Cmdlet をインストールできます:
Install-Module Sage300Cmdlets -Scope CurrentUser
- インストーラーをダウンロードする必要がありますか?
必ずしも必要ではありません。
CData PowerShell Cmdlets は PowerShell Gallery から配布されています。インストールは以下のコマンドで実行します:
Install-Module Sage300Cmdlets -Repository PSGallery -Force
接続
- 同じデータソースの複数のアカウントに接続するにはどうすればよいですか?
異なる認証プロパティを持つ個別の接続オブジェクトを作成します:
$conn1 = Connect-Sage300 -User User1 -Password Pwd1
$conn2 = Connect-Sage300 -User User2 -Password Pwd2
Cmdlet は ODBC DSN を使用しません。すべての接続プロパティは
Connect-Sage 300で直接渡されます。
多くの Cmdlet は以下のようなプロキシプロパティをサポートしています:
- ProxyServer
- ProxyPort
- ProxyUser
- ProxyPassword
データソース固有のヘルプドキュメントを参照してください。
パフォーマンスとトラブルシューティング
- クエリが遅いのはなぜですか?
- フィルターがない(WHERE 句がない)
- 大量の結果セットを取得している
- クラウド API からのレイテンシ
- 増分戦略を使用していない
- データをフィルタリングする(-Where パラメータ)
- 必要なカラムのみを選択する
- データソースの API スロットリング制限を確認する
- ログを有効にするにはどうすればよいですか?
よくある原因:
以下をお試しください:
クエリ最適化のサポートについては [email protected] までお問い合わせください。
以下のコマンドでモジュールのログを有効にします:
Set-ModuleLogging -Path "C:\logs\cdata.log" -Verbosity 3CData サポートと連携する際は、ログファイルを安全にアップロードしてください。
ほとんどのクラウドアプリケーション(Salesforce、HubSpot、Dynamics、Google API など)は HTTPS(443)を使用します。
ソースが追加のポートを必要とする場合は、固有のドキュメントを確認するか、[email protected] までお問い合わせください。
コンテナに PowerShell 7 をインストールし、モジュールをインストールします:
pwsh -Command "Install-Module Sage300Cmdlets -Force"その後、通常どおり認証を行います。
一般
- サポートされているすべての SQL/コマンド操作はどこで確認できますか?
- PowerShell Cmdlets はどのくらいの頻度で更新されますか?
- コード例はどこで確認できますか?
- 基本的なクエリ
- Insert/Update/Delete
- OAuth フロー
- ファイル操作
- API 連携
各 Cmdlet にはローカルにインストールされたヘルプドキュメントが含まれており、オンラインでも参照可能です:https://www.cdata.com/powershell/
CData はメジャーアップデートを年次でリリースし、年間を通じて増分アップデートを行います。バージョンの入手可能性については、カスタマーポータルを確認するか、[email protected] までお問い合わせください。
すべての Cmdlet にはヘルプドキュメントに例が含まれており、多くのサービスのオンライン例も提供されています:https://www.cdata.com/powershell/ 例には以下が含まれます:
この FAQ で解決しない場合は、[email protected] までお問い合わせください。