2011-08-10 10 views
5

64ビットColdFusion 9 Standardをインストールしたばかりの64ビットWindows Server 2008 R2ボックスがあります。私はそれを最新バージョンのCFにアップグレードして修正しました。また、ボックスに64ビットのOracle 11g(11.1.0.7.0)Clientがインストールされていました。 Windowsで64ビットのODBCデータソース管理者を使用してSystem DSNを作成し、データソースの接続を正常にテストできました。私は、ColdFusion Administratorでデータソースを追加するために行ったときColdFusion 9.0.1標準の64ビットおよびOracle 11g 64ビットODBC接続で「アーキテクチャの不一致」が発生する

これらのインストールのすべては、私はエラーを受け取り、しかし、スムーズに行きました:

Connection verification failed for data source: myDatabaseName

java.sql.SQLException: [Macromedia][SequeLink JDBC Driver][ODBC Socket]internal error: The specified DSN contains an architecture mismatch between the Driver and Application The root cause was that: java.sql.SQLException: [Macromedia][SequeLink JDBC Driver][ODBC Socket]internal error: The specified DSN contains an architecture mismatch between the Driver and Application

私はこのアーキテクチャの不一致が来ている場所を正確に理解することに苦労していますボックスは完全に64ビットであるからです。実行中のすべてのプロセスを見ているうちに、関連するいくつかのCFプロセスが32ビット(Verity関連のプロセス、SOLRとCFDotNetSVC)で動作しています。私はそれらがこの問題を引き起こす可能性があるかどうかはわかりませんが、このミスマッチがそうでない場合は説明することができません。

誰もが考えている?

答えて

4

step down to the 32-bit driversのいずれか、またはネイティブJDBCドライバを使用してOracleに正常に接続する必要があります。私の提案は、JDBCルートに行き、Datasource画面の "other"選択を使ってネイティブのOracle JDBCドライバに直接接続することです。このようにパフォーマンスが向上し、ColdFusion経由での接続をより詳細に制御できます。

Connecting to Oracle ColdFusion Livedocsの情報。

+2

ダン、応答に感謝します。残念ながら、私たちは、Oracle JDBCドライバを含まないCF Standardのみのライセンスを取得しています。 –

+2

あなたはどんな種類のJDBCドライバでも手に入ることができれば、それをインストールして自分で使うことができます。 ColdFusionのJREにインストールされているJDBCドライバを使用できます。 –

+0

あなたのアドバイスのためにおかげでダン、私はあなたがそのようなJDBCドライバを使用することができたことを認識していませんでした。 –

7

はダンのアドバイスを使用して私はここのOracleからJDBCドライバをつかん:私は、JAR(私の場合はojdbc6.jarは)に移動し、私のColdFusionクラスパスに追加し

http://www.oracle.com/technetwork/database/enterprise-edition/jdbc-111060-084321.html

。 ColdFusionのデータソースへの使用のための正しい設定を決定

少し難しいが、ここで私は一緒に行くことになった設定がありました。

JDBC URL: jdbc:oracle:thin:@//dbsrv.mydomain.com:1521/myDB.world 
Driver Class: oracle.jdbc.driver.OracleDriver 
Driver Name: Oracle Thin Driver 

DBのためのその後のユーザ名とパスワードを入力します。

確かにそれは魅力のように働いた。

ダン、正しい方向に私を置いてくれるので、チェックマークを付けたいですが、正しいものを1つだけマークすることができます。

+0

上記の答えを正解とするだけで、すべて完了です。うまくいけばうれしいよ:) –

+1

+1、これはいつも便利なようなフォローアップ – John

+0

私はCF 11トライアルモードで私たちの新しいサーバーで作業していた。 Standardのライセンスを適用したときに、Macromedia JDBCドライバが動作しなくなりました。これはちょうど私に頭痛の多くを救った。 – Lawson

1

私はあなたのwin2008の64ビットOS

に(そのために)この

は、64ビットおよび32ビットのODBCドライバをインストールし実行する別の方法を発見し、その後、System32フォルダとSYSWOW64フォルダの両方でDSNを作成しますodbc32ad32.exe

を実行して、新しいODBCソースをcreaet CFの管理者になりました(あなたのSIDを維持するために、TNSNAMESを使用している場合)あなたのTNSNAMESは、それぞれのネットワーク/管理フォルダ内のセットアップ大丈夫です

を確保aODBCソケットと名前。次のページに、64ビットDSNセットアップに存在するすべてのDSNのドロップダウンが表示されます。あなたが行くとCFでそれをテストするとき、それが妙に....あなたの接続が動作するはずvalidationb

出来上がりのための32ビットDSNのセットアップの設定を使用します。これらのアーキテクチャ上の障害などの心配はありません

0

Windows 2008 R2 Server上で2012年版SQL Serverインスタンスに対してクエリを実行するには、ColdFusion 11サーバー用に64ビットODBC接続をセットアップする必要がありました。 ODBC接続は表示されますが、動作しません。 「SSL接続が必要です」などの確認や、SQL Serverへのログインに問題が発生したときのタイムアウトメッセージなど、さまざまなメッセージが届きました。

私はこのポストを見つけたので、64ビットODBC接続を設定して、効果的に上書きすることにしました。これは32ビットODBCを使用して名前を保持しています。仲間の開発者、特にSouzamにもう一度感謝します!私の命令は以下の通りです:Windowsの2008R2 Serverの場合


あなたがそれらをデータソースとしてCF Adminで表示されるようにするため(CF 11で明白なバグ)で32ビット用の64ビットODBCソケット構成を偽装する必要があります。

  1. 2008 R2 ODBCアプリケーション経由で64ビットODBC接続を作成するには、32ビット構成で呼び出すための命名規則に従います。
  2. 手順1で以前の64ビット名を使用してodbcad32.exeを使用して、SYSWOW64(C:\ Windows \ SysWOW64)でODBC 32ビット接続を構成します。
  3. CF Adminでデータソースを作成します。これは、ODBCソケットタイプの接続を作成するときにドロップダウンボックスに表示されるはずです。