SugarCRM ODBCドライバーを使用して、Microsoft SQL ServerをSugarCRMに接続し、次のことを行います。
- SQL Serverテーブルに格納されているデータを操作する場合と同じように、リンクサーバーを使用してSugarCRMデータを操作します。
- SQL Server Integration Services(SSIS)を使用して、SugarCRMをSQLServerと統合します。
- SQLServerがインストールされているマシンにSugarCRMODBCドライバーをインストールしてライセンスを取得する 。
注 クラスター環境でリンクサーバーを使用する場合は、クラスター内の各ノードにODBCドライバーをインストールする必要があります。
インストール手順については、SugarCRMODBCドライバーのドキュメントを参照してください。
SugarCRMODBCドライバーを使用してSQLServerをSugarCRMに接続する前に、ODBCデータソースを構成する必要があります。 ODBCデータソースには、ターゲットデータベース(SugarCRMなど)とそれに接続するために必要なODBCドライバー(SugarCRM ODBCドライバーなど)の接続の詳細が格納されます。
注 クラスター環境でリンクサーバーを使用する場合は、クラスター内の各ノードでデータソースを構成する必要があります。
ユーザーODBCデータソース(作成者のユーザーのみが使用可能)、またはシステムODBCデータソース(マシン上のすべてのユーザーが使用可能)を構成できます。 ODBCデータソースは、Windowsに含まれているODBCAdministratorで構成します。ユーザーデータソースは、SQL Serverインスタンスが特定のユーザーとして実行されている場合にのみ使用できることに注意してください。それ以外の場合は、システムデータソースの構成を使用する必要があります。
64ビットWindows このプラットフォームには、2つのバージョンのODBCAdministratorがあります。 (Windowsのバージョンが32ビットか64ビットかわからない場合は、このマイクロソフトサポート技術情報の記事の手順に従ってください。)実行する必要のあるODBCアドミニストレータのバージョンは、 SQLServerの32ビットまたは64ビットバージョン。使用しているSQLServerのバージョンを確認するには、SQL Serverインスタンスに接続してから、次のSQLステートメントを実行します。
select SERVERPROPERTY('edition')
64ビットバージョンのSQLServerを使用している場合および リンクサーバーをSugarCRMODBCドライバーで使用する場合は、64ビットバージョンのODBCAdministratorを実行する必要があります。これを行うには、コントロールパネルで[管理ツール]を開き、[データソース(ODBC)]を開きます。 (Windows Server 2003以前では、ODBCAdministratorを起動するコントロールパネルアプレットにはデータソースというラベルが付いています。Windows8以降では、コントロールパネルアプレットにはODBCデータソース(64ビット)というラベルが付いています。)
32ビットバージョンのSQLServerを使用している場合または SSISをSugarCRMODBCドライバーで使用する場合は、32ビットバージョンのODBCAdministratorを実行する必要があります。これを行うには、[Windowsの実行]ダイアログボックスで、次のように入力します。
%windir%\syswow64\odbcad32.exe
32ビットWindows 32ビットWindowsでODBCAdministratorを実行するには、コントロールパネルで[管理ツール]を開き、[データソース(ODBC)]を開きます。 (古いバージョンのWindowsでは、ODBC Administratorを起動するコントロールパネルアプレットにはデータソースというラベルが付いています。)
ODBCAdministratorを使用してSugarCRMODBCドライバーデータソースを作成します:
- 次のいずれかを実行します。
- ユーザーデータソースを作成するには、[ユーザーDSN]タブで[追加]を選択します。
重要 これは、SQLServerインスタンスがデータソースの作成に使用されたものと同じユーザーアカウントで実行されている場合にのみ成功します。それ以外の場合は、代わりにSystemODBCデータソースを作成する必要があります。
–または–
- システムデータソースを作成するには、[システムDSN]タブを選択し、[追加]を選択します。
- ユーザーデータソースを作成するには、[ユーザーDSN]タブで[追加]を選択します。
- [Create New Data Source]ダイアログボックスで、[Easysoft ODBC-SugarCRM Driver]を選択し、[Finish]を選択します。
- Easysoft ODBC-SugarCRMドライバーDSNセットアップダイアログボックスを完了します:
設定 値 DSN SugarCRM ユーザー名 SugarCRMユーザーの名前。たとえば、admin。 パスワード SugarCRMユーザーのパスワード。 ログオンURI 接続するSugarCRMインスタンスのURI。例: https://sg-richarddemo.demo.sugarcrm.eu/
Easysoft ODBC-SugarCRMドライバーは、
https
を介してSugarCRMインスタンスに接続できます。 およびhttp
- [テスト]ボタンを使用して、SugarCRMに正常に接続できることを確認します。
これで、SQLServerをSugarCRMに接続できます。
例:リンクサーバーを使用してSugarCRMデータを取得する
- Microsoft SQL Server Management Studioで、リンクサーバーを作成するSQLServerインスタンスに接続します。
リンクサーバーを作成するには、SQLServersysadmin固定サーバーの役割のメンバーであるアカウントでログオンする必要があります。
- サーバーオブジェクトを右クリックします。ポップアップメニューから[新規]>[リンクサーバー]を選択します。
- [リンクサーバー]ボックスに、「SugarCRM」と入力します。
- [プロバイダー]リストから、[ODBCドライバー用のMicrosoftOLEDBプロバイダー]を選択します。
- [データソース]ボックスに、SugarCRM ODBCデータソースの名前を入力し、[OK]を選択します。
SQL Serverは、接続をテストしてリンクサーバーを検証します。
- 「システムエラー126のため、指定されたドライバを読み込めませんでした:指定されたモジュールが見つかりませんでした」というエラーが表示された場合は、リンクサーバーを保持するかどうかを確認するメッセージが表示されたら[はい]を選択します。リンクサーバーを使用する前に、SQLServerインスタンスを再起動する必要があります。 SugarCRMODBCドライバーをインストールしたときにSQLServerが既に実行されていた場合、SQLServerには最新バージョンのSystemPATH環境変数がありません。 SugarCRM ODBCドライバーセットアッププログラムは、ドライバーのエントリをシステムパスに追加します。インスタンスを再起動すると、これらの変更がSQL Serverで利用できるようになり、SugarCRMODBCドライバーをロードできるようになります。
- SugarCRM ODBCデータソースの指定を間違えた場合、「データソース名が見つかりません。デフォルトのドライバーが指定されていません。このエラーが発生した場合は、リンクサーバーを保持して編集するかどうかを確認するメッセージが表示されたら[いいえ]を選択してください。 [データソース]ボックスの値。
- 次のいずれかを使用してSugarCRMデータをクエリできます。
- 分散クエリの4つの部分からなるテーブル名。
4つの部分からなるテーブル名の形式は次のとおりです。
server_name 。[database_name ]。[schema_name ]。table_name 。
SugarCRMにはデータベースやスキーマはありませんが、Easysoft ODBC-SugarCRMドライバーは、データベースとスキーマが存在することを想定しているため、両方の識別子に対して「ダミー」値を返します。ドライバーが返すデータベースは
SUGAR
です。 。ドライバーが返すスキーマはDBO
です。 。これらの識別子をSQLステートメントに含めます。例:SELECT * FROM SUGARCRM.SF.DBO.Accounts
テーブル名の大文字と小文字は、SugarCRMの場合と同じである必要があります。たとえば、次のクエリは無効です:
SELECT * FROM SUGARCRM.SF.DBO.ACCOUNTS
SugarCRMテーブル(オブジェクト)の大文字と小文字を確認するには、次のコマンドを実行します:
EXEC sp_tables_ex @table_server = 'SUGARCRM'
- OPENQUERY関数のパススルークエリ。例:
SELECT * FROM OPENQUERY(SUGARCRM, 'SELECT * FROM ACCOUNTS')
SQL Serverは、パススルークエリを未解釈のクエリ文字列としてSugarCRMODBCドライバーに送信します。これは、SQL Serverがクエリにいかなる種類のロジックも適用したり、そのクエリが何を実行するかを推定しようとしたりしないことを意味します。
- 分散クエリの4つの部分からなるテーブル名。
例:OPENDATASOURCE/OPENROWSETを使用してSugarCRMデータを取得する
OPENDATASOURCE
/ OPENROWSET
関数を使用すると、リンクサーバーを構成せずにSQLServerでSugarCRMデータを操作できます。それらの使用にはセキュリティ上の影響がいくつかあるため、これらの機能はデフォルトでは有効になっていません。
- Microsoft SQL Server Management Studioで、これらのコマンドを実行して
OPENDATASOURCE
を有効にします。 /OPENROWSET
関数:EXEC sp_configure 'show advanced options', 1 RECONFIGURE GO EXEC sp_configure 'ad hoc distributed queries', 1 RECONFIGURE GO
- 実行:
SELECT * FROM OPENDATASOURCE('MSDASQL', 'DSN=MY_SUGARCRM_ODBC_DATA_SOURCE;') .SF.DBO.Accounts
—または—
SELECT * FROM OPENROWSET('MSDASQL', 'DSN=MY_SUGARCRM_ODBC_DATA_SOURCE;', 'select * from Accounts;')
例:SQLServerでSugarCRMテーブルをバックアップする
このコマンドは、アカウントテーブルのコピーを作成します。リンクされたサーバーの名前がSUGARCRM
であると想定しています。 。
IF OBJECT_ID('dbo.Account', 'U') IS NOT NULL DROP TABLE dbo.Accounts; SELECT * INTO Accounts FROM OPENQUERY(SUGARCRM,'SELECT * FROM Accounts')
例:SQL Server Integration Services(SSIS)を使用してSugarCRMをSQLServerと統合する
これらの手順は、VisualStudio用のMicrosoftVisualStudioおよびSQLServerデータツールがインストールされていることを前提としています。
- 次の内容のcategories.csvという名前の.csvファイルを作成します:
name,is_external "Test Category 1",1 "Test Category 2",0
- Visual Studioで、新しいIntegrationServicesプロジェクトを作成します。
- データフロータスクをツールボックスから[制御フロー]タブにドラッグします。
- [データフロー]タブを選択します。
- フラットファイルソースをツールボックスから[データフロー]タブにドラッグし、Returnキーを押します。
FlatFileSourceはOtherSourcesリストの下にあります。
- フラットファイルソースエディタで、[新規]を選択します。
- [フラットファイル接続マネージャーエディター]ダイアログボックスで、.csvファイルを参照します。
- [テキスト修飾子]ボックスに「。 」と入力します
- [プレビュー]を選択し、[OK]を選択してダイアログボックスを終了します。
- ODBC宛先をツールボックスから[データフロー]タブにドラッグし、Returnキーを押します。
ODBC宛先は[その他の宛先]リストにあります。
- フラットファイルソースを選択します。青い矢印をODBC宛先にドラッグします。
- ODBC宛先を選択し、Returnキーを押します。
- [ODBC宛先]ダイアログボックスで、[新規]を選択します。
- [ODBC接続マネージャーの構成]ダイアログボックスで、[新規]を選択します。
- [接続マネージャー]ダイアログボックスで、SugarCRM ODBCデータソースを選択し、[OK]ボタンを使用して[ODBCソース]ダイアログボックスに戻ります。
- テーブルまたはビューリストの名前で、Product2を選択します。
- マッピングを選択してください。
- [入力]リストの[名前]、[説明]、および[ファミリ]列を、[宛先]リストの同じ列にマップします。
入力列と宛先列は次のようになります。
入力列 宛先列 [is_external] is_external 名前 名前 他のすべての列名の入力は
<ignore>
に設定されます - [スタート]ボタンを選択して、.csvファイルのレコードをSugarCRMに挿入します。