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

【SQLServer】32bitOfficeが入っている環境に64bitACEOLEDBプロバイダを導入できる?

SQLServerでOPENROWSETやリンクサーバーを使う際に必要な
プロバイダのひとつであるJet用のOLE DBプロバイダは、
64bit版SQLServerでは使用できません。
なぜなら、Jet用のOLE DBプロバイダは32bit版でしか
提供されていないためです。
代替プロバイダとしては、64bitにも対応した、
ACE OLE DBプロバイダを使用する必要があります。

ただし、このACE OLE DBプロバイダですが、SQLServerの
インストールには含まれていません。
別途下記コンポーネントをインストールする必要があります。
Microsoft Access データベース エンジン 2010 再頒布可能コンポーネント

(64bitOLEDBに関する参考資料)
64 ビット環境での各種データ アクセス | サポート エンジニアからのアドバイス

また、もうひとつの問題点として、
このACE OLE DBプロバイダですが、officeのAccessをベースと
しているため、officeと競合します。

例えば、OSが64bitで、SQLServerも64bit。
すでにofficeの32bitが導入されている。
といった環境の場合、officeの32bitが入っているため、
officeが32bitと64bitのサイドバイサイドインストールが
できないことと同理由で
ACE OLE DBプロバイダの64bit版が導入できません。
(インストーラーでのチェックでエラーとなります。)

海外のサイトではこれを無理やり導入する方法が紹介されていました。
Why can't 32 and 64 bit Access Database Engine (ACE/OLEDB Dataproviders) coexist?
Here's a workaround for installing the 64-bit version of the Microsoft Access Database Engine 2010 redistributable on a system with a 32-bit MS Office version installed:

Check the 64-bit registry key "HKEY_LOCAL_MACHINE¥SOFTWARE¥Microsoft¥Office¥14.0¥Common¥FilesPaths" before installing the 64-bit version of the Microsoft Access Database Engine 2010 redistributable.
If it does not contain the "mso.dll" registry value, then you will need to rename or delete the value after installing the 64-bit version of the Microsoft Access Database Engine 2010 redistributable on a system with a 32-bit version of MS Office installed.
Use the "/passive" command line parameter to install the redistributable, e.g. "C:¥directory path¥AccessDatabaseEngine_x64.exe" /passive
Delete or rename the "mso.dll" registry value, which contains the path to the 64-bit version of MSO.DLL (and should not be used by 32-bit MS Office versions).
Now you can start a 32-bit MS Office application without the "re-configuring" issue.

Note that the "mso.dll" registry value will already be present if a 64-bit version of MS Office is installed. In this case the value should not be deleted or renamed.

概要としては、
AccessDatabaseEngine_X64.exeを導入する前に、
64bitのレジストHKEY_LOCAL_MACHINE¥SOFTWARE¥Microsoft¥Office¥14.0¥Common¥FilesPathsに
mso.dllが登録されていないことを確認後、
AccessDatabaseEngine_X64.exeを強制インストール。
その後、再度、HKEY_LOCAL_MACHINE¥SOFTWARE¥Microsoft¥Office¥14.0¥Common¥FilesPaths
を確認。mso.dllが登録されているので、これを削除かリネーム。
(補足)
64bitのmso.dllのレジストリがあると、office201032bitを起動時、
64bitのdllを参照しようとしてしまい、officeの再設定が実行されることや、
起動エラーが発生する場合があります。

まとめると、ポイントとしては、二つ。
1) / passiveスイッチでAccessDatabaseEngine_X64.exeを強制インストール。
2) レジストリを変更し、64bit版のmso.dllを使用しないようにする

上記、マイクロソフトの推奨手順ではありませんので、
完全に自己責任の世界ですが、成功報告もたくさんありました。
本番環境では使えませんが、デモ環境用で導入するのはケースとしては
ありかと思います。

(2013/12/15 追記)
実は確認時に参照先ファイルの権限に問題がありました。
権限を付与すると正常に動作するようになりました。
私の環境では本エントリの手順で問題なく動作したことを
ご報告します。
また、新エントリもどうぞ。

【SQLServer】(自己責任で)32bitOffice環境でMicrosoft.ACE.OLEDB.12.0プロバイダを導入する方法。


で、私が以下の環境で試したところ、プロバイダはインストール
されたのですが、Microsoft.ACE.OLEDB.12.0の使用時に初期化に失敗しましたと
エラーが発生しました。
(環境)
・Windows7 64bit
・SQLServer 64bit
・office2010 32bit
インストールしたコンポーネント
Microsoft Access データベース エンジン 2010 再頒布可能コンポーネント64bit用
AccessDatabaseEngine_X64.exe

(エラーメッセージ)
リンク サーバー "EXCEL" の OLE DB プロバイダー "Microsoft.ACE.OLEDB.12.0" のデータ ソース オブジェクトを初期化できません。 (Microsoft SQL Server、エラー: 7303)

もちろん、このあたりの設定はしているんですけどね。
EXEC sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO

EXEC sp_configure 'Ad Hoc Distributed Queries', 1;
GO
RECONFIGURE;
GO

EXEC sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'AllowInProcess', 1
GO
EXEC sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'DynamicParameters', 1
GO

素直にSQLServer32ビットを導入してほうがよいのでしょうか。。。
SQL Server で WOW64 その 1

[Google PR]

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

【SQLServer】次期SQLServer2014のCTP1がリリースされたのでインストールしてみた。

・次期SQLServerの足音が聞こえてきました。


現在のSQLServerの最新バージョンは、SQLServer2012になります。
過去のSQLServerは3年〜4年に1度メジャーアップデートしていて、
次期SQLServerは、SQLServer2014となります。

次期SQLServerが、SQLServer2014という名前どおりならば、
前回バージョンの2年後となる来年にリリースとなります。

(バージョン遍歴)
・SQLServer7.0(サポート終了)
・SQLServer2005(延長サポート中)

・SQLServer2008(メインストリームサポート中)
・SQLServer2008R2(メインストリームサポート中)
・SQLServer2012(メインストリームサポート中)
・SQLServer2014(開発中 CTP1がリリース中)

サポート期間については、エディション、サービスパックによって
かわりますので詳細は、以下。
マイクロソフト プロダクト サポート ライフサイクル | SQLServer


・では、SQLServer2014の特徴は?


さて、このSQLServer2014ですが、どのような特徴があるのでしょうか?
コード名は、「Hekaton」です。100倍を表す「ヘクト」からきているという
ことなので、日本語では「ヘカトン」と呼べばいいのでしょうか?
英語表記とは、大分イメージが違いますね。(笑)

特徴はこちらの記事によると、
SQL Server 2014 処理高速化の仕掛け/Redshiftの先行評価の内容とは? | @IT

(1)メインメモリにあるデータ処理の最適化
(2)T-SQL(Transact-SQL)のフルコンパイル
(3)行ロックフリーによる高並列化


とのこと。特にハード構成を変えずに早くなるのであれば大歓迎ですね。

中でも一番の目玉はインメモリでの処理に最適化することによる、
処理の高速化のようです。
インメモリデータベース機能を搭載したSQL Server 2014のプレビュー版が公開 | Publicky

で、ここで疑問がでてくるのが、今までのSQLServerでも、
テーブルデータなどはメモリにキャッシュしていたんじゃないの?
ということ。

この問いに対するわかりやすい説明はこちら。
従来のデータベースをメモリに載せるだけではだめなのか? インメモリとカラム型データベースの可能性を調べる(その2) | Publicky

なるほど、従来はディスクからの読み込みに最適化されていたのですね。
これをディスクではなく、メモリに最適化させることにより、
さらにパフォーマンスをあげるということですか。なるほど。

SQLServer2014では、以下のように実装されているとのこと。
SQL Server 2014 処理高速化の仕掛け/Redshiftの先行評価の内容とは? | @IT
従来、データはディスクストレージに格納されており、そのデータはディスクからメモリに取り出して処理するため、データの格納単位には「ページ」が使われていました。
 しかし、データを常にメモリに乗せるHekatonのアーキテクチャなら、ページ単位でデータを取り出す必要はありません。そこでHekatonのデータベースインデックスは、ページ(ノード)をたどっていくB-Treeではなく、ハッシュで管理する仕様になっています。これで、目的の行に直接アクセスできるようになります。


・SQLServer2014 CTP1をインストールしてみる


すでに評価版が一般公開されています。
Microsoft SQL Server 2014 Community Technology Preview 1 (CTP1)
SQL Server 2014 CTP1 のダウンロード | TechNet Evaluation Center

上記でダウンロードしてインストール可能ですが、
プレリリース版なので製品版にはない制約があります。

実稼動環境に導入してはいけないのは当然として、
テスト環境においても、旧バージョンのSQLServerがインストール
されている場合、インストールできません。
こんなエラーが表示されます。(これはプレビュー版の制限です。)
SQLServer2014CTP1_インストールエラー_rule

SQLServer2014CTP1_インストールエラー

また、SQLServer用のポートを開いていなかったので
インストールチェック時、ファイアウォールに対する警告がでました。
(今までのSQLServeと同様です)
SQLServer2014CTP1_インストールエラー_firewall

その他、インストール時の流れについては、
スクリーンショットつきでまとめているサイトがありました。
Installing SQL Server 2014 CTP1 – Step by Step | SQLSailor
現行とほぼ変わりませんね。

システム要件は、ざっくりいうとクライアントOSは、VISTA以降、
サーバーOSはServer2008以降にインストール可能です。
ただし、プレリリース版は64bitのみ。詳細は以下。
Hardware and Software Requirements for Installing SQL Server 2014

今回、私は、細かい検証をやる予定はなかったので、
もうすぐつぶす予定のWindows8.1 PublicPreviewにインストールしました。


・SQLServer2014 CTP1の動作確認


すでにいろいろと検証されている方がいます。参考になります。
SQL Server 2014 CTP 1 の新機能を使ってみる – Hekaton -| SEの雑記
全部勝手にインメモリで処理されると思ってました。(笑)
そんなわけないですね。

私はというと、検証環境が適当なのでパフォーマンス等の検証は
しませんでしたが、
旧バージョンのデータベースのバックアップ(SQLServer2008)を
SQLServer2014へ復元後、特に問題なく使えました。

また、データベースのバージョンを確認すると、
(select @@VERSION )
バージョンは、「11.0.9120.5」でした。
てっきり、メジャー番号は12かと思っていたのですが、
SQLServerと同じ11でした。製品版では上がるのでしょうか?
SQLServer2014CTP1_バージョン確認


・AccessADPから、SQLServer2014に接続できる?


次にAccessADPから接続テストしてみました。

(環境)
(サーバー)Windows8.1Preview / SQLServer2014CTP1
(クライアント)Windows7 / Access2010SP1(ADP)

SQLServer2014からOLEDBはサポートされないと聞いていたので、
SQL Server、OLE DBサポート廃止へ - ODBC推奨 | エンタープライズ | マイナビニュース
AccessADPのOLEDB接続はできないだろうなと思っていたのですが、
なんと、問題なく接続できてしまいました。

なんでだろう?

サポートされないが機能は存在するのか、プレビュー版だから旧機能が
残っているのか、私が何か勘違いをしているのか???

とりあえず、SQLServer2014CTP1をインストールして
ざっと触った感想レベルのエントリでした。

T-SQLの数少ないバイブル
>>SQL Server 2005 ストアドプロシージャプログラミング (SQL Server Books)


SQL初心者を脱したい方に是非。ミック本。
>>達人に学ぶ SQL徹底指南書 (CodeZine BOOKS)


初心者向けのミック本。きちんと基礎を身に着けたいと
思っている方におすすめ。(現場で使われている理想的なSQLとは
かぎりません。)
>>CD付 SQL ゼロからはじめるデータベース操作 (プログラミング学習シリーズ)


へんにはまらないためにも、アンチパターンを知って
おくことは重要ですね。
>>SQLアンチパターン

[Google PR]

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



[Google PR]


[最新エントリ 5]

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

カテゴリー
プロフィール
お問い合わせ
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)