- PR -

[SQL2005 x64] OPENROWSET によるMDBへのアクセス

1
投稿者投稿内容
こばさん
大ベテラン
会議室デビュー日: 2004/03/17
投稿数: 147
投稿日時: 2006-11-29 21:17
 SQL Server 2005 において、x86 → x64 化の評価を行っているところで問題に遭遇しました。
 MDB のデータベースをバッチで SQL Server にインポートする機能があるのですが、その部分が x64 版の SQL Server 2005 では動作しません。

SELECT * FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0',〜

において、Microsoft.Jet.OLEDB.4.0 がない、と怒られてしまいます。
 レジストリを検索する限り、Microsoft.Jet.OLEDB.4.0 なコンポーネントの登録はあるようなのですが・・・

 リンクサーバーを作ってという回避策も考えたのですが、こちらも x86 版にはある「Microsoft.Jet.OLEDB.4.0」の選択肢自体がありません。

 もしかして、ネイティブ x64 から MDB や XLS などを OleDB 経由でアクセスできなくなっちゃったんでしょうか。
きくちゃん
ぬし
会議室デビュー日: 2003/08/01
投稿数: 854
お住まい・勤務地: 都内某所
投稿日時: 2006-11-29 21:34
こばさんさん、こんばんは。

引用:

 リンクサーバーを作ってという回避策も考えたのですが、こちらも x86 版にはある「Microsoft.Jet.OLEDB.4.0」の選択肢自体がありません。


x64 版の Jet・ISAM プロバイダが提供されないと駄目なんでしょうかね。
あとは x86 版(Express あたり)を間に噛ませるとか…。
ue
ぬし
会議室デビュー日: 2005/05/07
投稿数: 581
お住まい・勤務地: 広島市
投稿日時: 2006-11-29 21:41
こんばんは。

引用:

もしかして、ネイティブ x64 から MDB や XLS などを OleDB 経由でアクセスできなくなっちゃったんでしょうか。


(今のところ)できないようです。

Microsoft の Connect に Win XP X64 Jet V4.0 というフィードバックがあります。
ADO.NET Program Manager の方が寄せておられるコメントが参考になると思います。
_________________
上本亮介 (ue) @ わんくま同盟
Microsoft MVP for VSTO (Jul 2008 - Jun 2009)
Hello Another World!
.NET 勉強会 / ヒーロー島
こばさん
大ベテラン
会議室デビュー日: 2004/03/17
投稿数: 147
投稿日時: 2006-11-30 10:34
 SQL Server の x64 版に限った話題ではなく、x64 ネイティブなアプリケーション全般で MDB が(今んとこ)サポートされなくなっちゃったってことですね。
 そういう用途には Express を使えってことか・・・

 リレーショナルな操作の必要ない単純なデータ操作なんかは、dbOpenTable で開いた Recordset を Index 指定して Seek 操作して・・・
 それはそれで爆速で使いみちがあったんですが、そういうレガシーなアクセス方法も切り捨てろってことかな
※これは DAO の話ですが

 SSIS しかないのか、ということで挑戦中
 SSISの開発環境は x86 で動作するみたいなので OLE DB 系もOKみたいですが、そこで作ったパッケージは実サービス上でも x86 として動作してくれよ〜

 何はともあれデータ移送系は作り直すことにします。
 ありがとうございました。
1

スキルアップ/キャリアアップ(JOB@IT)