MYOB AccountRight にODBC データソースとしてPyCharm から連携。
CData ODBC Drivers は、ODBC をサポートするあらゆる環境から利用可能です。 本記事では、PyCharm からのCData ODBC Driver for MYOB AccountRight の利用を説明します。ODBC Deriver をデータソースとして設定する方法、データソースをクエリするPyCharm のベーシックな方法を含みます。
To begin, this tutorial will assume that you have already installed the CData ODBC Driver for MYOB AccountRight as well as PyCharm.
Pyodbc をプロジェクトに追加
Follow the steps below to add the pyodbc module to your project.
- Click File -> Settings to open the project settings window.
- Click Project Interpreter from the Project: YourProjectName menu.
- To add pyodbc, click the + button and enter pyodbc.
- Click Install Package to install pyodbc.

MYOB AccountRight への接続
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.
これらのプロパティは会社のファイルに接続するときに必要です(クラウドインスタンスおよびオンプレミスインスタンスの両方)。
- User:会社のファイルに紐づいているユーザー名。
- Password:会社のファイルに紐づいているパスワード。
- CompanyFileId:会社ファイルのID。指定しない場合は、最初に返された会社ファイルのID が使用されます。CompanyFiles ビュー をクエリしてこれを見ることができます:
SELECT Id FROM CompanyFiles
オンプレミスインスタンスへの接続:
InitiateOAuth:OFF に設定。オンプレミスインスタンスに接続する場合は、上記に加えて、次の接続プロパティを設定する必要があります。
- Url: MYOB インスタンスのURL。
クラウドインスタンスへの接続:
MYOB のクラウドインスタンスに接続するには、OAuth アプリを作成する必要があります。このプロセスの詳細は、カスタムOAuth アプリの作成 にあります。
Below is the syntax for a DSN:
[CData MYOB Source]
Driver = CData ODBC Driver for MYOB AccountRight
Description = My Description
OAuthClientId = YourClientId
OAuthClientSecret = YourClientSecret
CompanyFileId = yourCompanyFileId
CallbackURL = http://localhost:33333
User = companyFileUser
Password = companyFilePassword
MYOB AccountRight へのクエリの実行
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 MYOB};OAuthClientId = YourClientId; OAuthClientSecret = YourClientSecret; CompanyFileId = yourCompanyFileId; CallbackURL = http://localhost:33333; User = companyFileUser; Password = companyFilePassword; ')
cursor = cnxn.cursor()
cursor.execute("SELECT Id, Name FROM Accounts WHERE Type = 'Bank'")
rows = cursor.fetchall()
for row in rows:
print(row.Id, row.Name)
After connecting to MYOB AccountRight in PyCharm using the CData ODBC Driver, you will be able to build Python apps with access to MYOB AccountRight data as if it were a standard database. If you have any questions, comments, or feedback regarding this tutorial, please contact us at support@cdata.com.