現在、HubSpot CRM ODBCドライバーを開発しているため、このコネクターを使用してSQLServerでHubSpotCRMデータを操作する方法を共有したいと思いました。
リンクサーバーを使用してHubSpotCRMデータを操作する
- Microsoft SQL Server Management Studioで、リンクサーバーを作成するSQLServerインスタンスに接続します。
リンクサーバーを作成するには、SQLServersysadmin固定サーバーの役割のメンバーであるアカウントでログオンする必要があります。
- サーバーオブジェクトを右クリックします。ポップアップメニューから[新規]>[リンクサーバー]を選択します。
- [リンクサーバー]ボックスに、「HubSpot」と入力します。
- [プロバイダー]リストから、[ODBCドライバー用のMicrosoftOLEDBプロバイダー]を選択します。
- [データソース]ボックスに、HubSpot CRM ODBCデータソースの名前を入力し、[OK]を選択します。
SQL Serverは、接続をテストしてリンクサーバーを検証します。
- 「システムエラー126のため、指定されたドライバを読み込めませんでした:指定されたモジュールが見つかりませんでした」というエラーが表示された場合は、リンクサーバーを保持するかどうかを確認するメッセージが表示されたら[はい]を選択します。リンクサーバーを使用する前に、SQLServerインスタンスを再起動する必要があります。 HubSpot CRMODBCドライバーをインストールしたときにSQLServerが既に実行されていた場合、SQLServerには最新バージョンのSystemPATH環境変数がありません。 HubSpot CRM ODBCドライバーセットアッププログラムは、ドライバーのエントリをシステムパスに追加します。インスタンスを再起動すると、これらの変更がSQL Serverで利用できるようになり、HubSpotCRMODBCドライバーをロードできるようになります。
- HubSpot CRM ODBCデータソースの指定を間違えた場合、「データソース名が見つかりません。デフォルトのドライバーが指定されていません。このエラーが発生した場合は、リンクサーバーを保持するかどうかを確認するメッセージが表示されたら[いいえ]を選択してください。 [データソース]ボックスの値を編集します。
- [オブジェクトエクスプローラー]ペインで、[サーバーオブジェクト>リンクサーバー>MSDASQL>プロパティ]を右クリックします。 。 レベルゼロのみを有効にする プロバイダーオプション。これを行わないと、リンクサーバー「HUBSPOT」のOLEDBプロバイダー「MSDASQL」に「Companies」という名前に一致する複数のテーブルが含まれているのようなエラーが発生します。 T-SQLを使用してHubSpotデータをクエリする場合。
- 次のいずれかを使用してHubSpotCRMデータをクエリできます。
- 分散クエリの4つの部分からなるテーブル名。例:
SELECT * FROM HUBSPOT...Companies
テーブル名の大文字と小文字は、HubSpotCRMの場合と同じである必要があります。たとえば、次のクエリは無効です:
SELECT * FROM HUBSPOT...COMPANIES
HubSpot CRMテーブル(オブジェクト)の大文字と小文字を確認するには、次のコマンドを実行します。
EXEC sp_tables_ex @table_server = 'HUBSPOT'
- OPENQUERY関数のパススルークエリ。例:
SELECT * FROM OPENQUERY(HUBSPOT, 'SELECT * FROM Companies')
SQL Serverは、パススルークエリを未解釈のクエリ文字列としてHubSpotCRMODBCドライバーに送信します。これは、SQL Serverがクエリにいかなる種類のロジックも適用したり、そのクエリが何を実行するかを推定しようとしたりしないことを意味します。
- 分散クエリの4つの部分からなるテーブル名。例: