2015年3月11日水曜日

Windows server 2008 r2 上で動作する 32ビット版 Access から ORACLE ODBC を使いたい 

64ビット版のOSを使うと色々不具合があるもんですね。

今回は、Windows 2008 r2 (「マシンA」と呼びます。)上で動作している 32ビット版の Access を使って、別のサーバー(「マシンB]と呼びます。)にある Oracle に接続したい。

このマシンAには、さらに別のサーバー(「マシンC」と呼びます。)で動作する Oracle ベースのシステムにVB系で作成したアプリからアクセスするシステムが動作しており、64ビットのOracle Client がインストールされています。

この環境で、マシンA上で動作している Access を使って、マシンBの Oracle に接続しないといけなくなり、普通に Access からODBC接続をしようとしたら、ドライバーが見つかりません。

マシンAの管理ツールから ODBCad32.exe を起動したら、ちゃんと使えるようになってます。
ただ、これは、64ビット版なんですね。

syswow64下にある ODBCad32.exe を起動すると、当たり前と言えば当たり前ですが、ドライバーはありません。

前回、マシンA上で動作するSQLServer 64 ビットから Access のMDBファイルにアクセスするための、ODBCドライバーは、64ビット版と 32ビット版の共存ができましたが、
今回はほぼお手上げです。

Access を 32ビット版ではなく、64ビット版にすれば、全て解消かな?







2015年1月21日水曜日

SQLServer からリンクサーバーでつないだOracle に OpenQuery を発行

2015/04/18一部修正

SQLServer からリンクサーバーを使ってOracle に接続すると、データのやり取りが簡単になる上に、SSMSを使って、クエリを作成したり、ストアドを作ったりするのが楽になります。

単に、私がオラクルが苦手なだけなんですけど。

しかし、普通につないで、そのオブジェクトに対して、クエリを発行すると、インデックスが効かないので異常に遅いです。

そこで、アクセスでいうところの、パススルーのような方法があります。

SQLServer では OpenQuery というそうです。

SELECT * FROM OPENQUERY(OraLink, 'SELECT * FROM hoge Where ID = 1')

緑字の部分がリンクサーバー名で、赤字の部分がオラクル用のSQL文です。

赤字の部分が、直接オラクル側で評価されますので、非常に高速です。

SQLServer 32ビット or 64ビット No.3

Windows Server 2008 r2 に SQLServer Express 2008 r2 と MS-Office Pro 32ビットという組み合わせに64ビットのODBCドライバーがインストールできました。

完璧です。

感謝感謝!

2015年1月19日月曜日

ディスプレイの解像度をバッチ的に変更 No.2

ソフトの名前を書くのを忘れてますね。

Display Changer です。
Display Changer 2 もあります。

http://12noon.com/?page_id=641

SQLServer 32ビット or 64ビット No.2

64ビットのODBCドライバーがインストールできなくて、困っていましたが、
こちらに解決方法を発見した方のページがありました。

まさに、探していた解決方法です。

私はまだ実験できてませんが、早速明日にでもやってみたいと思います。

http://bitdatasci.blogspot.jp/2014/08/32microsoft-office64windows64microsoft.html

2015年1月14日水曜日

SQLServer 32ビット or 64ビット

SQLServer をインストールする際、32ビットか64ビットか迷いました。

普通に考えたら、OSがWindows 2008 server r2 64ビットなので、SQLServerも64ビットが入れれますし、メモリー空間も圧倒的に64ビットの方が有利だと思うので、64ビットを選択しました。

ところが、これだとリンクサーバーやOpenRowset で MS-ACCESSのデータを読みに行くことができません。

MS-Officeの64ビット版をインストールすれば行けるのかもしれませんが、32ビット版しか無かったので、入れてしまってます。

困ったなぁ。

2014年11月20日木曜日

ディスプレイの解像度をバッチ的に変更

これはすばらしいツールです。

ディスプレイの解像度を変更したい場合に、このツールを起動することで、即座に指定した解像度に変更できます。

コマンドラインから起動しますので、バッチファイルをいくつか用意しておけば、ダブルクリックするだけで、目的の解像度に一発変更です。

私の場合は、普段はノートパソコンに外部ディスプレイを接続して、拡張デスクトップにしていますが、時々、ノート側のディスプレイを消して、外部ディスプレイだけで表示したいときがあります。

なので、外部ディスプレイのみ用のバッチファイルと、元に戻す(拡張デスクトップ)用のバッチファイルを用意しています。

使い方は後日に。