2008-09-15 13 views
0

これは単純なはずです。 AccessからSQL Serverにデータをインポートしようとしています。 SQL Serverデータベースに直接アクセスすることはできません.GoDaddy上にあり、Webアクセスのみを許可します。したがって、Management Studioツール、またはデータベースへのリモートアクセスを必要とするその他のサードパーティのAccessアップサイジングプログラムを使用することはできません。ColdFusionを使用してAccessデータをSQL Serverにインポートする

私はAccessデータベースに対してクエリを書きました。ループして各レコードを対応するSQL Serverテーブルに挿入しようとしています。しかし、それは誤ったままです。私はそれがHTMLのためにあると確信しています、そして、神は他の奇妙な文字がアクセステキストフィールドの1つに何であるか知っています。私はCFQUERYPARAMを使用しようとしましたが、どちらも助けにならないようです。

いずれかのアイデアが役に立ちます。ありがとう。

+0

エラーの内容を列挙すると便利です。あなたが何をしようとしているのか分かっている場合は、アクセスデータベースに接続してすべての情報を取得し、そのクエリをループしてSQL Serverに挿入していますか? –

+0

エラーメッセージと同様に、Access&SQL Serverの両方でテーブル定義を一覧表示できれば役立ちます。 –

答えて

-1

SQL Updateを使用できる場合は、レコードをループすることは決してお勧めできません。

使用しているデータベースインターフェイスレイヤはご質問からは分かりませんが、適切なインターフェイスでデータベース外部のデータを挿入することは可能です。が使用されている場合は両方のタイプのデータベースがサポートされます。これは、テーブル名だけでなくデータベースの接続文字列を指定することで、SQL文のFROM句で行うことができます。あなたのWebホストにJetデータ用のODBCドライバがあると仮定します(実際にはAccessを使用していません。これはアプリケーション開発の一部で、Jetデータベースエンジンのみを使用しています)、接続文字列で十分です。

編集:Jetデータベースエンジンを使用してこれを行う場合は、ソーステーブルを次のように指定する必要があります(tblSQLServerはODBC経由でSQL ServerにリンクされたJet MDBのテーブルです)。

INSERT INTO tblSQLServer (ID, OtherField) 
SELECT ID, OtherField 
FROM [c:\MyDBs\Access.mdb].tblSQLServer 

重要な点は、ここではJet dbエンジンを活用していることです。

1

GoDaddy SQL backup/restore toolを使用して、データベースのローカルコピーを取得してみてください。その時点で、SQL Server DTS toolを使用してデータをインポートします。それは使いやすい、ドラッグアンドドロップグラフィカルインターフェイスです。

+0

私はこれを試しましたが、GoDaddyは自分のバックアップ以外のものからリストアを許可していません。私は彼らが知られている宇宙の他のすべてのウェブホストがしていることを専門にしないと思う。 –

1

どのようなエラーがスローされますか?どんな奇妙なキャラクターを使用していますか?あなたはHTMLマークアップ、または拡張(例えばUTF-8)文字を参照していますか?

可能であれば、ロバストエラー報告を有効にしてください。

問題がページのタイムアウトになった場合は、cfsettingタグを使用してAdminを使用してタイムアウトを増やすか、スクリプトを書き直して特定の行数を実行し、次の開始点。

0

MS SQL Serverでアプリケーションサーバーのコマンドラインから保存されたDTSパッケージを実行できるはずです。この場合、<cfexecute>を使用してDTSRUNNUI.EXEに要求を発行することができます。 (See example)これはもちろん、あなたがコマンドが利用可能なサーバーにいると仮定します。

関連する問題