PyCharm でCData ODBC Driver for Dynamics 365 Sales を使ってみた





Dynamics 365 ODBC Driver

Dynamics 365 ODBC Driver は、ODBC 接続をサポートするさまざまなアプリケーションからDynamics 365(オンプレミス & オンライン)アカウントデータへの接続を実現するパワフルなツールです.

データベースにアクセスするときと同感覚でDynamics 365 データにアクセスし、標準ODBC Driver インターフェースを通じてLeads、Contacts、Opportunities、Accounts、etc. に読み出し、書き込み、更新。

Dynamics 365 Sales にODBC データソースとしてPyCharm から連携。

CData ODBC Drivers は、ODBC をサポートするあらゆる環境から利用可能です。 本記事では、PyCharm からのCData ODBC Driver for Dynamics 365 Sales の利用を説明します。ODBC Deriver をデータソースとして設定する方法、データソースをクエリするPyCharm のベーシックな方法を含みます。

To begin, this tutorial will assume that you have already installed the CData ODBC Driver for Dynamics 365 Sales as well as PyCharm.

Pyodbc をプロジェクトに追加

Follow the steps below to add the pyodbc module to your project.

  1. Click File -> Settings to open the project settings window.
  2. Click Project Interpreter from the Project: YourProjectName menu.
  3. To add pyodbc, click the + button and enter pyodbc.
  4. Click Install Package to install pyodbc.

Dynamics 365 Sales への接続

You can now connect with an ODBC connection string or a DSN. See the Getting Started section in the CData driver documentation for a guide to creating a DSN on your OS.

Dynamics 365 はOAuth 認証標準を使用します。詳細はヘルプドキュメントの「はじめに」を参照してください。

Below is the syntax for a DSN:

[CData D365Sales Source] Driver = CData ODBC Driver for Dynamics 365 Sales Description = My Description OrganizationUrl =

Dynamics 365 Sales へのクエリの実行

Instantiate a Cursor and use the execute method of the Cursor class to execute any SQL statement.

import pyodbc cnxn = pyodbc.connect('DRIVER={CData ODBC Driver for D365Sales};OrganizationUrl =;') cursor = cnxn.cursor() cursor.execute("SELECT accountid, Name FROM Accounts WHERE Name = 'MyAccount'") rows = cursor.fetchall() for row in rows: print(row.accountid, row.Name)

After connecting to Dynamics 365 Sales in PyCharm using the CData ODBC Driver, you will be able to build Python apps with access to Dynamics 365 Sales data as if it were a standard database. If you have any questions, comments, or feedback regarding this tutorial, please contact us at