読者です 読者をやめる 読者になる 読者になる

Python3 + Flask + wfastcgi のアプリを、IISでホストする

以前調べた範囲では、Python3 + Djangoでは、MS Accessをバックエンドにするのは難しいものの、SQLAlchemy + pyodbc であれば、比較的楽にPython3からMS Accessへと接続できそうだとわかりました。 Python3を使ってMS Access(*.accdb)へ接続してみた - メモ…

Python3を使ってMS Access(*.accdb)へ接続してみた

最近、DjangoのデータベースバックエンドにAzure SQL Databaseが使えるライブラリの存在を知りました。 michiya/django-pyodbc-azure そこから、MS AccessをDjangoのデータベースバックエンドとして使えるのかが気になりました。 ただ、そもそもPython3を使…

C# + FluentMigratorを使って、MS Accessのカラムやデータのマイグレーションをする

前回はMS Accessの主キー・インデックス・外部キーの設定をしてみました。 今回は、テーブルカラムのマイグレーションと、テーブルへのデータ追加・更新・削除のマイグレーションをしてみます。 環境 .NET Framework 4.5 FluentMigrator 1.3.0.0 MS Access (…

C# + FluentMigratorを使って、MS Accessの主キー・インデックス・外部キーの設定をする

前回はFluentMigratorのおおまかな流れを試してみました。 今回は 新規テーブル作成時 既存テーブル の2パターンに対して、 主キー(単一/複合) の作成 インデックス(単一/複合) の作成 外部キー(単一/複合) の作成 などをしてみます。 環境 .NET Framework 4…

C# + FluentMigratorを使って、MS Accessのテーブルスキーマを作成・変更してみた

昔のMS Accessテーブルを引っ張り出してくると、「なぜこのテーブルやカラムがあるのか?」を思い出せない時がありました。 そのため、MS Accessであってもテーブルスキーマのバージョン管理をしたくなりました。 そこで、Rubyで見たMigrationのようなものが…

Ruby + Sequelを使って、MS Accessの選択クエリに対してSQL文(CRUD)を実行する

前回は日本語テーブル名やカラム名を持つMS Accessから、Sequelのエイリアスを使ってデータを取得しました。 ただ、毎回エイリアスを定義するのは手間なので、 MS Accessにて、日本語カラム名に対してAS句(日本語→シングルバイト)を使用した選択クエリ*1を作…

Ruby + Sequelを使って、日本語テーブル名やカラム名を持つMS Accessからデータを抽出する

以前の記事でSequelを使ってMS Accessへと接続できることが分かりました。 ただ、残念ながらテーブル名やカラム名が日本語になっていることがあるため、その場合はどうなるかを試してみました。 環境 Windows7 x64 MS Access 2010 (accdb) Ruby Installer 2.…

C# + MS Access にて、DapperとTableAdapterで INSERT時のオートナンバー型の値の取得方法を比べてみる

他のデータベースにもあるような、INSERT時に自動的に連番を入れてくれる型として、MS Accessではオートナンバー型が用意されています。 オートナンバー型の自動採番された値をINSERT時に取得する方法について、型付Datase(TableAdapter)とDapperではどのよ…

C# + MS Accessで、OLE DB接続にてDapperを使う

C# + MS Access 環境で型付Datasetを使っていたのですが、Datasetのデザイナなどがツライです。 そこで、DapperをOLE DB接続で試してみたところ動作したため、いろいろと試してみました*1。 StackExchange/dapper-dot-net なお、Dapperの基本的な使い方につ…

Ruby + Sequel を使って、ADOやODBCでMS Access(accdb) へ接続する

以前、Ruby + DBIを使ってMS Accessへと接続してみました。 Ruby + Sinatra + DBI + ODBC で、MS Access(accdb)へ接続する - メモ的な思考的な しかし、毎回生SQL文を書いた上でShift_JISに変換する必要があり少々手間に感じました。そのため、Padrinoのペー…

Ruby + Sinatra + DBI + ODBC で、MS Access(accdb)へ接続する

MS Access(accdb)を使うデスクトップアプリがあるのですが、ブラウザからもaccdbへ接続することが必要になりそうだったので、調べた時のメモを残します。 環境 Windows7 x64 + MS Access(accdb) Ruby 2.0.0p451 (RubyInstaller) + Devkit Sinatra 1.4.5 Ruby…

ファイルサーバー上にあるmdbファイルが、複数のWindows7からは同時に開けない問題に対応する

ファイルサーバー上にあるAccessファイルを複数人で利用している環境において、ロックファイル(ldb, laccdb)がある場合だとWindows7での挙動が異なったため、調べた時のメモ。 mdb/mde形式で、すでにldbファイルが存在していたら、mdb/mdeファイルが起動しな…

ClickOnceにて、アプリとともにAccessDatabaseEngineを配布する

C#でaccdbへ接続するようなプログラムを作っていたのですが、クラアントから利用するにはAccessDatabaseEngineが必要なため、各クライアントに事前にインストールする必要がありました。 さすがにすべてを手作業で行いたくないため、何か良い手段はないかを…

MS Access ではTransactionScopeを使えない?

.NET2.0よりTransactionScopeが登場し、トランザクションの実装が楽になった。 ただ、Accessで使えるのかどうかはわからなかったため、調査した時のメモ。 ■結論 無理そう。残念。 ■参考 Accessは分散トランザクションをサポートしていないため、利用できな…

C#とAccessにおける、日付型(DateTime)のデフォルト値の差について

C#とAccessにて、日付型(DateTime)のデフォルト値に差があることを忘れたりするので、メモ。 起こること C#にて、DateTime型のnull扱い(=初期値)をどうするか悩みましたが、以下のようなコードで対応することにしました。 参考:今日の井原@はてな - DateTi…