0

私は、顧客の MS SQL/ASP の Web サイトを PHP/MYSQL に移行することを担当しました。MS SQL の経験はありません。

PHP 開発を開始できるように、現在のデータを MySQL に移行する最善の方法を見つけようとしています。

いくつかの詳細:

  • SQL Server Management Studio Express をダウンロードしました。接続ファイルに次の文字列が見つかりました。

    MM_connCompanyName_STRING = "プロバイダー=SQLOLEDB;データ ソース=IP_ADDRESS;データベース=データベース名;uid=ユーザー名pwd=パスワード;"

  • この文字列の IP、ユーザー名、およびパスワードを使用して、Studio Express を使用して正常に接続できました。

  • MySQL Migration Toolkit をダウンロードして同じ情報を入力しましたが、次のエラーが表示されます。

    ソース データベースに接続し、スキーマ名を取得します。JDBC ドライバーを初期化しています ... ドライバー クラス MS SQL JDBC ドライバー 接続を開いています ... 接続 jdbc:jtds:sqlserver://IP_ADDRESS:1433/DATABASENAME;user=USERNAME;password=PASSWORD;";charset=utf-8;domain=スキーマ名のリストを取得できませんでした (エラー: 0).ReverseEngineeringMssql.getSchemata:ユーザー 'USERNAME' のログインに失敗しました。

  • 現在の SQL サーバーへの管理者または物理的なアクセス権がありません。Studio Express でいくつかのエクスポートを実行しようとしましたが、ファイル システムに保存されてしまい、アクセスできません。

  • 現在または以前のウェブマスターと連絡を取ることはできますが、彼はもう会社で働いていないため、彼の応答は遅く、通常は役に立ちません。だから仕方がない…。

  • 前の管理者から MDF ファイルが送られてきましたが、どうすればよいかわかりません。
  • 現在のサーバーの接続情報の上にこのメモを見つけました(何か意味がある場合):

'この接続が使用されているのは、ODBC が奇妙なエラーを引き起こしていたためです。OLEDB に切り替えると、エラーが修正されました

私の質問:

  1. Studio Express で動作するのと同じログイン資格情報でこれが失敗する理由は何ですか? ドライバーと関係があると思いますが、次のステップはわかりません。
  2. このデータを移行するためのより良い/簡単/効果的な方法はありますか? (私は、Studio Express で "SELECT *" ステートメントを実行し、データを Excel にコピー/貼り付けしていることに気が付かないことを望んでいます...神様、いいえ)

よろしくお願いします。

4

2 に答える 2

1

うーん、これは恐ろしいことです (接続文字列は、Dreamweaver から生成されたツールであることを示しており、決して良い兆候ではありません)。

どのバージョンの SQL Server かわかりませんか? @@VERSION を選択できるはずです。10.x は 2008 年、9.x は 2005 年、8.x は 2000 年です。7.x の場合は実行します。

MDF ファイルは実際のデータベースです。もし私があなたなら、SQL 2005 の開発者版を購入します (2008 年であれば 8 という可能性は低いでしょう)。99 ドルほどの価値があります。

これにより、MDF ファイルを ATTACH することで DB をローカルにインストールできるようになります。ローカルで実行するコピーを取得したら、MySql ODBC ドライバーで SQL Server ETL ツールを使用して、反復可能な方法でデータを MySql にプッシュできます。

于 2009-06-17T00:35:54.673 に答える
0

さまざまな SQL ダイアレクトを選択して、MSSQL からデータをエクスポートできると思います。MySQL と合理的に互換性のあるものがあると思います。もちろん、すべての問題を解決できるわけではありません。構造を適切に取得することはできますが、ストアド プロシージャやトリガーなどにはもう少し手間がかかるからです。しかし、それで始められるはずです。

于 2009-06-13T22:34:37.520 に答える