MENU
Flask

Pythonフレームワーク「Flask」を利用したアプリでpyodbcを利用してSQL Serverに接続してみた

pyodbcパッケージを利用すると、データベースに接続することができる。

今回は、Pythonフレームワーク「Flask」を利用したアプリで、pyodbcを利用してSQL Serverに接続してみたので、そのサンプルプログラムを共有する。

前提条件

下記記事のpytestによる単体テストの実装が完了していること。

Python単体テスト用フレームワーク「pytest」を利用して単体テストを実装してみたpytestとは、Python用に設計された単体テスト用のフレームワーク(テスティングフレームワーク)で、Flaskを用いたWebアプリ...

pyodbcのインストール

2024年12月12日現在の最新バージョンのpyodbc(5.2.0)をインストールする。その手順は、以下の通り。

1) コマンドプロンプトで「pip install pyodbc」コマンドを実行し、最新バージョンのpytestをインストールする。
pyodbcのインストール_1

2)「pip list | find “pyodbc”」コマンドを実行すると、以下のように、インストールしたpyodbcが確認できる。
pyodbcのインストール_2

サンプルプログラムの作成

作成したサンプルプログラムの構成は、以下の通り。
サンプルプログラムの構成
なお、上記の赤枠は、前提条件のプログラムから追加・変更したプログラムである。

views.pyの内容は以下の通りで、 確認画面で送信ボタンを押下した場合に、登録処理を実行するようにしている。

また、regist.pyの内容は以下の通りで、USER_DATAテーブルからid最大値を取得すると共に、USER_DATAテーブルにデータ登録を行うようにしている。また、登録エラー時はエラーメッセージを設定するようにしている。

なお、上記ソースコードの「ODBC Driver 17 for SQL Server」は、以下赤枠のODBCドライバーから確認できる。
SQLServer_OIDCドライバ

さらに、確認画面の内容は以下の通りで、登録エラー時のメッセージを画面表示するようにしている。

その他のソースコード内容は、以下のサイトを参照のこと。
https://github.com/purin-it/python/tree/master/make-flask-pyodbc/



「DroidKit」はAndroid端末のデータ復元や画面ロック解除等が行える便利なツールだった「DroidKit」は、画面ロック解除、FRPバイパス、データ復元、システム修復、および4つのより効果的なツールを含んでいて、ほぼすべて...

サンプルプログラムの実行結果

サンプルプログラムの実行結果は以下の通りで、画面で入力したユーザーデータがuser_dataテーブルに追加されることが確認できる。

1) user_dataテーブルは、以下のように、何も無い状態で開始するものとする。
サンプルプログラムの実行結果_1

2) コマンドプロンプトでserver.pyが入っているフォルダに移動し、server.pyを実行する。
サンプルプログラムの実行結果_2

3) 以下のように、入力画面で値を設定し確認画面で「送信」ボタンを押下すると、画面で入力したユーザーデータがuser_dataテーブルに追加されることが確認できる。また、このときに追加されたidは1となっている。
サンプルプログラムの実行結果_3_1

サンプルプログラムの実行結果_3_2 サンプルプログラムの実行結果_3_3 サンプルプログラムの実行結果_3_4

4) 以下のように、入力画面でメモを入力しない場合も、確認画面で「送信」ボタンを押下すると、画面で入力したユーザーデータがuser_dataテーブルに追加されることが確認できる。また、このときに追加されたidは2(登録済のidの最大値+1)となっている。
サンプルプログラムの実行結果_4_1

サンプルプログラムの実行結果_4_2 サンプルプログラムの実行結果_4_3 サンプルプログラムの実行結果_4_4

5) 登録時にエラーになった場合は、以下のように、確認画面にエラーメッセージが、コンソールにエラーメッセージが、それぞれ表示されることが確認できる。
サンプルプログラムの実行結果_5_1

サンプルプログラムの実行結果_5_2

要点まとめ

  • pyodbcパッケージを利用すると、データベースに接続することができる。