2016年11月22日火曜日

Oracle8iでEntityFrameworkを使う方法

表題の件、すっごい苦労しました。

1.SQLServerを用意
32bitのWindowsに、SQLServerをインストール。SQLServerは当然32bit。
なぜ32bitかというと、あの忌まわしき「Program Files (x86)」のせい。
インストールパスを変えてもSQLServerのインスタンスは「Program Files (x86)」に作成されていまうため、Oracleのライブラリがうまく使えなかったり。

2.レジストリ変更
OracleのDLLを使用するように書き換え。(バックアップを忘れずに)
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\MTxOCI]
 "OracleXaLib"="oraclient8.dll"
 "OracleSqlLib"="orasql8.dll"
 "OracleOciLib"="oci.dll"

3.リンクサーバ作成
以下のコマンドでリンクサーバ作成。
 EXEC sp_addlinkedserver   'リンクテーブル名',  'Oracle',  'MSDAORA',  'TSN名'
 EXEC sp_addlinkedsrvlogin 'リンクテーブル名', 'FALSE',NULL, 'ログインID', 'パスワード'

4.VIEW作成
シノニムはEntityFrameworkで使えないのでVIEWを使う。
例)CREATE VIEW VIEW_1 AS SELECT * FROM [リンクサーバ名]..[スキーマ名].[テーブル名]


以上。
これでEntityFrameworkでアクセスできるOracle8iのできあがり。

【参考】

0 件のコメント:

コメントを投稿