2016-10-24 3 views
0

私はアポストロフィをエスケープする方法を知っています。問題は異なっています。 Workbenchウィザードのステップで手動でエスケープしたアポストロフィを使用してデータを追加する方法は? SQL ServerからMysqlへの移行(Mysql Workbenchを使用)。 Workbenchウィザードのステップで手動でエスケープしたアポストロフィを使用してデータを追加する方法は?

は、私がどのように私は手動でエスケープにアポストロフィ( ')、その後、データ移行のためのワークベンチ・ウィザードの最後のステップを実行するために追加することができます SQL Server to Mysql migration (using Mysql Workbench) data transfer error

と同じ疑問を持っていますか?

私のエラーは異なります: ステートメントの実行に失敗しました:SQL構文にエラーがあります。あなたのMySQLサーバーバージョンに対応するマニュアルを確認してください。 構文は、近くのHomestead、Regina Murphy、Sales Representative、707 Oxford Rd。、Ann Arborの1行目:

INSERT INTO `Northwind`.`Suppliers` (`SupplierID`, `CompanyName`, `ContactName`, `ContactTitle`, `Address`, `City`, `Region`, `PostalCode`, `Country`, `Phone`, `Fax`, `HomePage`) 

VALUES 

(3,'Grandma Kelly's Homestead','Regina Murphy','Sales Representative','707 Oxford Rd.','Ann Arbor','MI','48104','USA','(313) 555-5735','(313) 555-3349',NULL), 

「ケリーの言葉」のアポストロフィのように見えますが、問題が発生します。

+0

私はアポストロフィをエスケープする方法を知っています。問題は異なっています。 Workbenchウィザードのステップで手動でエスケープしたアポストロフィを使用してデータを追加する方法は?重複タグを削除してください。 –

+0

十分に良い。再オープン:p – Drew

+0

これを修正するには、ソースコードを修正して再構築する必要があります。 Workbenchを一から組み立てる方法を知っていれば、正確に何を行う必要があるかを私はあなたに伝えることができます。その間、http://bugs.mysql.com/ –

答えて

0

Milosz Bodzekの答えです。

私はそれを再構成しました。

既存のオプションは、データベースのコピー - >このデータベースの変更(エスケープ文字列) - >ワークベンチウィザードを使用した移行のみです。

1

私は同じ問題に取り組んでいます。私の知る限り、あなたは、インポート前にソースDB上の

Replace(string_column, '''', ''''''); 

または

Replace(string_column, '''', '&apos'); 

を実行する必要があります。インポートスクリプトの一部として実行することは可能かもしれませんが、わかりません。私のスクリプト能力は幾分限られています。

編集:

BEGIN TRANSACTION; 
    UPDATE [dbo].[Table] 
    SET Field = REPLACE(Field, '''', ''''''); 
COMMIT TRANSACTION; 
0

これは、MySQL Workbenchのバグです(バージョン6.3.8):これは、MSSQL Server上で私のために働い

。ここではバグのページです:http://bugs.mysql.com/bug.php?id=83616

編集:

Workbenchで移行ウィザードで移行するときに、ソース列内の文字列(テキストまたはvarchar可能性が)それにアポストロフィ文字を持っている場合、それはあなたが得る、、、結局のところそのエラーは、Workbenchがアポストロフィをエスケープしないためです。

同じ問題が発生し、Topplestack's workaroundを使用しました。ソースデータの変更を避けるために、移行後にMySQLのアポストロフィを置き換えました。

編集2:

これらはMySQL Workbech 6.3.9で修正されています。これは、エントリがbug fixes part of the changelogからである:テーブルのテキストフィールドに単一引用符( ')を持つ

  • は、MySQLスキーマの転送ウィザードが失敗する原因。(Bug#24978403、Bug#83616)
関連する問題