0

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

Access データベースでクエリを作成し、ループして各レコードを対応する SQL Server テーブルに挿入しようとしています。しかし、それはエラーを出し続けます。HTML が原因であると確信しており、Access テキスト フィールドの 1 つに他にどんな奇妙な文字があるかは神のみぞ知るです。CFQUERYPARAM を使用してみましたが、それも役に立たないようです。

どんなアイデアでも役に立ちます。ありがとう。

4

4 に答える 4

1

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

可能であれば、ロバストエラーレポートをオンにします。

問題がページのタイムアウトである場合は、Adminを使用してタイムアウトを増やすか、cfsettingタグを使用するか、スクリプトを書き直して特定の行数を実行し、次の開始点でそれ自体に転送することができます。

于 2008-09-16T14:10:25.140 に答える
1

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

于 2008-09-15T20:25:18.557 に答える
0

アプリケーションサーバーのコマンドラインから、MSSQLServerに保存されているDTSパッケージを実行できるはずです。この場合は、を使用<cfexecute>してDTSRUNNUI.EXEに要求を発行できます。(例を参照)これはもちろん、コマンドが使用可能なサーバー上にいることを前提としています。

于 2008-09-17T22:42:53.573 に答える
-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 エンジンを利用してすべての面倒な作業を行うことです。

于 2008-09-15T19:59:18.867 に答える