【保存版】2013年度発売全パチスロアプリ一覧(iPhone,iPad)

【Access】そろそろADPの代替を考えてみる。その1。

SQLServerとAccessの連携システムを作る際、OLEDBでネイティブ接続でき、
パフォーマンスも最速という触れ込みで登場したAccessADP。
ADPは、Access2000以降、Access2002、Access2003、Access2010と
4バージョンでサポートされていましたが、
なんとAccess2013では廃止されてしまいました。

(関連エントリ)
【Access】Access2013ではadp(AccessProject)が使えない。。。
Access2013ADPエラー

ADPで作成したシステムをAccess2013以降で動作させるためには、
Acessデスクトップアプリ形式(accdb)へ変更する必要があります。

で、その具体的な方法を考えていこうというお話。

ADPとは


まず、ADPとはどういうものかを押さえます。
ADPは、SQLServerへの接続に特化したアプリケーションベースです。
MDBとの違いは、アプリケーション内に、
テーブル、クエリは持ちません(持てません)。
すべてSQLServer上のオブジェクトを参照するのみです。

また、フォームやレポートのレコードソースについても
直接SQLServerを参照します。ストアドをレコードセットにする
ことも可能です。

このようにADP形式では、クライアント側ではなく
サーバー側(SQLServer)でデータ処理を行います。
サーバー側で処理させることにより、
・高スペックサーバーの恩恵がうけられる(クライアントPCと比較して)
・SQLServerの高パフォーマンスの恩恵が受けられる(JET等と比較して)
・処理結果のみを返すのでネットワーク上に無駄なトランザクションが流れない
のようなメリットがあります。

DAOで超乱暴に例えると、パススルークエリベース(*1)で
システムを作成でき、フォームではデータ更新できちゃうもんね。(*2)
という感じ。・・・余計、わかりにくい?
(*1) パススルークエリとは、DAO接続時に直接サーバーを参照する方法
(*2) パススルークエリは更新できない

上記の理由から、Access2000以降、SQLServerとAccessで
システムを構築する場合は、ADP形式が重宝されてきました。
(ただし、ADPはSQLServerに特化している分実装に「くせ」が
あるため、あえてADPを採用しないというケースもありました。)

何故ADPが廃止されたか?


これは、SQLServer側の戦略が変わったためと思われます。
従来、SQLServerへの接続はOLEDB接続が推奨されていたのですが、
その方針が変更され、より一般的なODBC接続が推奨されるように
なりました。(SQLServer2014ではOLEDB接続が廃止される予定)
SQL Server、OLE DBサポート廃止へ - ODBC推奨
SQL ServerはDenali移行でOLE DBに別れを告げる
SQL Server 2012 以降の SQL Server Native Client OLE DB プロバイダーの廃止

(SQL Server Native Client)
SQL Server Native Client (OLE DB)
SQL Server Native Client (ODBC)

(参考他)
SQLServer2012より後の製品でOLEDBサポート廃止時の接続方法について。
Office2013評価版とかいろいろ試す。->コメント部に参考コメントあり

AccessADPでは、以下のようにSQLServerへOLEDBネイティブ接続していました。
AccessADP -> ADO -> SQLServerOLEDBプロバイダ -> SQLServer

接続先であるSQLServer側のOLEDB廃止決定に伴い、
一足先にAccessADPが廃止されたという流れでしょう。

ADPの代替は?


で、頭が痛いのが過去にADPで作成されたシステムをどうするかということ。

対応期限の参考としては、
・クライアント環境では、Access2013以降では動作不可。
・サーバー環境では、SQLServer2014以降では動作不可(と思われます。)
なので、遅くとも数年後には何らかの対応がせまられるかと思います。

それまでにどのように対応するのがベストなのでしょうか?
次回以降、
・DB接続方法
・ストアド実行
・フォーム
・レポート
・etc..
について考えていきたいと思います。ちなみにフォームは大変そうな予感
をひしひしと感じます。逆にストアド実行は接続方法を変更すれば
ある程度動きますので、バッチ系メインのシステムであれば、
そんなに大変ではないのかなという印象。

空のACCDBへ現行ADPのオブジェクトをすべてインポートし、
ODBC接続対応をするという手順で考えていこうと思うのですが、
まず、ODBC接続にすることによりパフォーマンスは落ちるでしょう。
そもそも、ODBCよりパフォーマンスがよいとの触れ込みで
OLEDBネイティブ接続が推奨されていましたし。
はてさて、前途多難ではあります。。。

場合によっては、他のアプリケーションで作り変えたほうが
よいケースもあるかと思います。

では、次回。
[Google PR]

Twitterはじめました。プラプラ | Twitter

<< 【コンピュータ】office完全対応!8インチWindows8.1タブレットが密かに熱い。
【iPad】名称新たに「iPadAir(エア)」。新型モデルが11/1に発売されます! >>

[関連エントリ 最新5]

[Google PR]


[最新エントリ 5]

>>トップページ
人気カテゴリ:AccessTips SQLServer CakePHP iPad
過去ログ(全記事一覧)

コメント
コメントする(お気軽にどうぞ)









この記事のトラックバックURL
トラックバック
カテゴリー
プロフィール
お問い合わせ
Powered by NINJA TOOLS
links
recent comment
  • 【Access】vbaでhmacが正しく計算できた!!
    まさ (06/01)
  • 【Access】AccessReportMailメール送信時のポートを25から587へ
    わら (05/31)
  • 【SQLServer】超シンプル!再帰CTE(共通テーブル式)で連続データを作成する。
    sazi (09/08)
  • 【あまっちゃお】Amazon商品検索「あまっちゃお」プロジェクト始動。Ver00-06-00 β
    カメちゃん (07/31)
  • 【Access】あれ?DoCmd.RunCommand acCmdSaveRecordの内部仕様が変わった?
    花姉 (03/17)
  • 【Access】実行中のmdb(自分自身)をバックアップコピーする方法。
    亀 (02/06)
  • 【雑記】Amazonでの注文時、TMGさん発送にご注意を。納期を守れない可能性あり!
    管理人 (01/31)
  • 【雑記】Amazonでの注文時、TMGさん発送にご注意を。納期を守れない可能性あり!
    あ (01/31)
  • 【雑記】Amazonでの注文時、TMGさん発送にご注意を。納期を守れない可能性あり!
    K (11/13)
  • 【VAIOP】VaioXと両持ちできるものすっっごくマニアックなケース。当たり前ですが在庫限り。(笑)
    管理人 (08/04)
recent trackback
  • 【Access】2003安全でない式がブロックされていませんとセキュリティーレベル。
    awgs Foundry (10/29)
  • 【VAIOtypeP】液晶保護シートは、新車のカバーではない。レイアウト社液晶/天板保護フィルムセットRT-VP1FS1
    XMLがキライ。 (04/09)
  • Vistaから、LinkStation(NAS)にアクセスできません。
    そのほかいろいろ (09/06)