2012-02-14 18 views
0

少し問題があります。私の友人は10以上のテーブルを持つデータベースを持ち、各テーブルは90-100以上のレコードを持っています。SQL Server 2005 Express Editionからエクスポートレコード

自分のテーブルからレコードをエクスポートして(既存のレコードごとにINSERT INTO .... VALUES ...のようなSQLファイルを入れて)、データベースにインポートするための回避策が見つかりません。

どうすればよいですか?

私が試した:右側のテーブルをクリックしてください - Script Table as -> INSERT TO -> File ...

>それだけでINSERT文を生成します。

解決策はありますか?またはこの機能は商用版のみですか?輸入についてはbcp ADatabase.dbo.OneTable out d:\test\OneTable.bcp -c -Usa -Ppasswordbcp ADatabase.dbo.OneTable in d:\test\OneTable.bcp -c -Usa -Ppassword

これらのコマンドは、指定のレコードが含まれているBCPファイルを作成します。あなたは、輸出のために、この

のようにコマンドプロンプトでBCPコマンドを使用することができます

UPDATE

表。

bcp ADatabaseRemote.dbo.OneTableRemote out d:\test\OneTableRemote.bcp -Slocalhost/SQLExpress -Usa -Ppassword 

代わりのlocalhost/SQLExpressは、あなたがlocalhostまたは他のサーバ名を使用することができますおそらく最も簡単な

+0

あなたは別のデータベースにインポートするか、単にレコードをフラット・ファイルにエクスポートまたはExcelまたはそのような何かを持っているファイルを取得するために欠けていますか? – Brian

+0

レコードのみが可能であるか、またはテーブル構造であるがレコードがある場合...問題の真ん中は、多くのこれらのレコードをエクスポートする方法です。 –

答えて

1

...:あなたは、リモートデータベースを使用する場合は、別のデータベース

に、既存のBCPファイルを使用してインポートすることができますこれを行う方法は、ファイルに出力するSELECT文を実行することです。次に、そのデータをデータベースにインポートすることができます。

簡単な動作のために、手動でコピー/貼り付けも行っています。新しいデータベースに貼り付ける前にステージングプラットフォームとしてExcelを使用する方がよい場合もあります。新しいデータベースに、貼り付けるデータと正確に一致する一時テーブルを作成する必要があるかもしれません。たとえば、私は通常、最初に一時テーブルにPKを置くことなく、PKフィールドを単にINTにします。そうすれば、コピーはスムーズになります。

企業の世界では、SSISを使用してこのデータを移動します。

+0

私の投稿を更新しました。私はBCPコマンドを使用しました。 –

0

これを行う方法はいくつかあります。 1つは、各テーブルからすべてを選択し、結果をcsvまたは区切りファイルとして保存します(これはSQL管理スタジオから行うことができます)。また、SQL Serverであることを前提として、スクリプトを作成してスクリプトを新しいデータベースにコピーすることもできます。次に、インポートのために、load infileステートメントを使用します。あなたは、SQL Serverの構文をGoogleにする必要がありますが、私はこれがmysqlとoracleで動作することを知っています。まだSQL Serverでそれを試していない。

LOAD DATA INFILE 'myfile' 
INTO TABLE stuff 
FIELDS TERMINATED BY ',' 
LINES TERMINATED BY '\n' 
SET id = NULL; 

また、別のSQL Serverに行く場合は、sqlエクスポートインポートウィザードを使用します。

http://msdn.microsoft.com/en-us/library/ms141209.aspx

+0

私のメインポストを更新しました。 –

関連する問題