PowerShell からMagento データをレプリケーション

詳細情報をご希望ですか?

無償トライアル:

ダウンロードへ

製品の詳細情報へ:

Magento ODBC Driver

Magento ODBC Driver は、ODBC 接続をサポートするさまざまなアプリケーションからMagento のリアルタイムデータ連携を実現するパワフルなツールです。

RDB にアクセスするときと同感覚でMagento にアクセスし、標準ODBC Driver インターフェースを通じて読み出し、書き込み、更新が可能に。



Magento をクエリするための簡単なPowerShell スクリプトを記述します。ライブデータへの接続を使用してMagento データをSQL Server にレプリケーション(複製)。



CData ODBC Driver for Magento は、Microsoft のビルトインODBC サポートを使用して、追加設定なしで連携を可能にします。ODBC ドライバーは、PowerShell から実際のMagento データへの連携を即座に実現します。

PowerShell に組み込まれている.NET Framework Provider for ODBC を使用して、Magento を他のデータベースに複製するなどの統合タスクを素早く自動化できます。この記事では、Magento をSQL Server に5 行のコードで複製する方法を説明します。

PowerShell コードを記述し、create、read、update、delete (CRUD) 操作を実行することも可能です。以下の例を参照してください。

ODBC Data Source for Magento の作成

未指定の場合は、初めにODBC DSN(data source name)で接続プロパティを指定します。ドライバーのインストールの最後にアドミニストレーターが開きます。Microsoft ODBC Data Source Administrator を使用して、ODBC DSN を作成および構成できます。

Magento はOAuth 1 認証標準を使用します。Magento REST API に接続するには、Magento システムにアプリを登録してOAuthClientId、OAuthClientSecret、およびCallbackURL 接続プロパティの値を取得する必要があります。 OAuth 値を取得して接続するには、ヘルプドキュメントの「はじめに」を参照してください。

また、Magento システムへのURL を提供する必要があります。URL は、Magento REST API を顧客として使用しているか管理者として使用しているかによって異なります。

  • Customer: Magento を顧客として使用するには、事前にMagento のホームページで顧客アカウントを作成します。これを行うには、「アカウント」->「登録」をクリックします。それからURL 接続プロパティをMagento システムのエンドポイントに設定します。

  • Administrator: Magento を管理者として使用するには、代わりにCustomAdminPath を設定します。この値は、「Admin」メニューの「Advanced」設定で取得できます。「System」->「Configuration」->「Advanced」->「Admin」->「Admin Base URL」を選択することでアクセスできます。

    このページ上の「Use Custom Admin Path」設定がYES に設定されている場合、値は「Custom Admin Path」テキストボックス内にあります。それ以外の場合は、CustomAdminPath 接続プロパティをデフォルト値の"admin" に設定します。

Magento への接続

以下のコードは、DSN を使用してPowerShell でデータソースへの接続を初期化する方法を説明します。

$conn = New-Object System.Data.Odbc.OdbcConnection $conn.ConnectionString = "DSN=CData Magento Source x64"

Magento データをSQL Serverにバックアップ

キャッシュを有効にした後、以下のコードを使用して、データをSQL Server に複製できます。

次の接続プロパティを設定し、キャッシュデータベースを構成します。

  • CacheProvider:ADO.NET プロバイダの名前です。これは、ご使用のバージョンの.NET のMachine.config にあります。例として、SQL Server を構成するにはSystem.Data.SqlClient と入力します。

  • CacheConnection:データベースの接続に必要なプロパティの接続文字列です。以下はSQL Server の一例です。

    Server=localhost;Database=RSB;User Id=sqltest;Password=sqltest;

この例のSQL クエリを使用して、スキーマを含むキャッシュされたテーブル全体を更新できます。既存のキャッシュはすべて削除されます。

$conn.Open() # Create and execute the SQL Query $SQL = "CACHE DROP EXISTING SELECT * FROM " + $Products $cmd = New-Object System.Data.Odbc.OdbcCommand($sql,$conn) $count = $cmd.ExecuteNonQuery() $conn.Close()

ドライバーを使用すると、キャッシュ機能を完全に制御できます。その他のキャッシュコマンドと使用例については、ヘルプドキュメントを参照してください。他のデータベースに複製する手順についても、ヘルプドキュメントを参照してください。

その他の操作

PowerShell でMagento を取得するには、OdbcDataAdapter メソッドのFill メソッドを呼び出します。データ操作コマンドを実行するには、OdbcCommand オブジェクトを初期化してからExecuteNonQuery を呼び出します。以下は、.NET Framework Provider for ODBC を介した、Magento へのCRUD コマンドの例です。

Magento データの取得

$sql="SELECT Name, Price from Products" $da= New-Object System.Data.Odbc.OdbcDataAdapter($sql, $conn) $dt= New-Object System.Data.DataTable $da.Fill($dt) $dt.Rows | foreach { $dt.Columns | foreach ($col in dt{ Write-Host $1[$_] } }

Magento データの更新

$cmd = New-Object System.Data.Odbc.OdbcCommand("UPDATE Products SET Style='High Tech' WHERE EntityId = @myEntityId", $conn) $cmd.Parameters.Add(new System.Data.Odbc.OdbcParameter("myEntityId","001d000000YBRseAAH") $cmd.ExecuteNonQuery()

Magento データの挿入

$cmd = New-Object System.Data.Odbc.OdbcCommand("INSERT INTO Products SET Style='High Tech' WHERE EntityId = @myEntityId", $conn) $cmd.Parameters.Add(new System.Data.Odbc.OdbcParameter("myEntityId","001d000000YBRseAAH") $cmd.ExecuteNonQuery()

Magento データの削除

$cmd = New-Object System.Data.Odbc.OdbcCommand("DELETE FROM Products WHERE EntityId = @myid", $conn) $cmd.Parameters.Add(new System.Data.Odbc.OdbcParameter("myEntityId","001d000000YBRseAAH") $cmd.ExecuteNonQuery()