2012-02-10 20 views
0

古いMSSQL 2000 dbにいくつかのデータがあります。私はそこからいくつかのテーブルをmySQL(V 5.025)dbに移動しようとしています。過去に私はMSSQL DBからフラットCSVファイルを作成し、このコードスニペットを使用してMySQL DBに空desinationテーブルにインポート:odbc接続を使用してmySQL dbへの接続を作成しようとしています

LOAD DATA INFILE '/moodle/sourcefile.csv' INTO TABLE tablename 
      FIELDS TERMINATED BY ',' 

私はソースから直接、プログラム的な選択をしたいと思っインサート宛先プロセスに送ります。私はColdFusion(MX)を使用してソースデータベースからデータを取得しているMSSQLテーブルから読み込みます。

私はこのコードを使用して接続オブジェクトを作成しました:

classLoader = createObject("java", "java.lang.Class"); 
classLoader.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 
dm = createObject("java","java.sql.DriverManager"); 

私が使用する準備ができて、DMオブジェクトとその罰金をダンプすることができます。

次のように、mySQLテーブルへのodbc接続を作成しようとしています。これは失敗しているコードです。

con = dm.getConnection("jdbc:odbc:DRIVER={MySQL ODBC 3.51 Driver}; SERVER=ipaddress; PORT=3306; DATABASE='dbname'; USER='username'; PASSWORD='password'; OPTION=3;"); 

それが生成され、エラーがある

「[Microsoft]の[ODBCドライバマネージャ]データソース名が見つからないとデフォルトのドライバーが指定されていません」このエラーを修正する方法についての

任意のアイデアを(接続作業を行う)、またはこのデータをどのように移動するかについての異なる視点が評価されます。

+0

ちょうど好奇心、何らかの理由であなたは定期的なデータソースを設定できませんか? [ドライバの更新](http://kb2.adobe.com/cps/025/6ef0253.html)を使用すると、MXからMySQL5に接続できるはずです。 – Leigh

+0

CFIDEのmySQL db用のdsnを作成することを意味しますか? – jamesTheProgrammer

+0

はい、CF管理者経由です。 – Leigh

答えて

1

これを行うには、ブリッジコネクタをインストールする必要があります。 Windowsでは、ColdFusion ODBC ServerとColdFusion ODBC Agentの2つのサービスがあります。

さらに、64ビットと32ビットの問題が発生する可能性があります。別のodbcサーバーコマンドレットを使用してsys dsnをインストールする必要があります(WOW64フォルダを確認してください)。 Accessに関連したいくつかの回避策(ODBCを介したブリッジングもあります)については、この記事をチェックしてください。

http://www.coldfusionmuse.com/index.cfm/2010/12/31/Access.on.64bit.ColdFusion

も ​​- あなたはさらに古いCFのバージョンに最新のドライバでこれを設定することができることを知っている必要があります。ドライバファイルをクラスパスに取得してから、「その他の」JDBCタイプを使用する必要があります。 JDBC接続文字列などを作成する必要がありますが、おそらくODBCサブシステムを審査しようとするより簡単で簡単です。幸運:)

関連する問題