Access】DDL(テーブル定義の変更)をロールバックできるか検証こんばんは、水戸スヤです。Accessを使用する場合に、DDL(Create、Alter、Dropなどのテーブル構造の変更命令)をした場合に、ロールバックできるかの検証をします。Oracleの場合は、DDLやTRUNCATEの命令はロールバックできません。よって構造の変更をプログラムで行うのはリスキーと言えるでしょう。Accessの場合はどうでしょう。感じだとPostgreSQLやMySQLはいけるっぽいですね。Accessはヒットしないので、検証してみます。下記のようなテーブル構成のAccessファイルを用意します。TABLEを実行してみます。}}一回目は例外なく動くことを確認したいので、//tran.Rollback();としています。ファイルを開いてみると、TABLE1が削除されることTABLE2に列CULUMN1が追加されることTABLE3が追加されることが確認できると思います。先ほどのソースのCommitを止め、Rollbackに変更します。//tran.Rollback();tran.Commit();↓tran.Rollback();そして実行。TABLE1が削除されないことTABLE2に列CULUMN1が追加されないことTABLE3が追加されないことが確認できました。ロールバックされていましたね。AccessもDDLの操作がロールバックできるようですね。【組み込みDB】スタンドアロンで使えるファイルDBまとめAccess「ODBC–呼び出しが失敗しました。コメントをキャンセルメールアドレスが公開されることはありません。