• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:IDENTITY列を持つテーブルへBCPでインポート)

IDENTITY列を持つテーブルへBCPでインポート

このQ&Aのポイント
  • IDENTITY列を持つテーブルへBCPでデータをインポートする方法について教えてください。
  • データをインポートする際にIDENTITY列を解除し、再設定する方法を知りたいです。
  • BCPコマンドを使用してデータをインポートする際に、テーブルのIDENTITY列が自動的に更新されることがあります。この問題を解決する方法を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • utakataXEX
  • ベストアンサー率69% (711/1018)
回答No.1

xp_cmdshell で実行しているコマンドは ストアドやクエリアナライザ上のSET文で 制御できません。 (別セッションですから) bcp の [-E keep identity values] スイッチでは どうでしょうか?(未検証)

elmgarden
質問者

お礼

お返事が遅くなり申し訳ございません。 ご教示いただいた方法でうまくいきました。 SETもおっしゃるとおり、意味のないものでした(^^;;) ちなみに、BULK INSERT の keepidentity オプションでもうまくいきました。 ありがとうございました!

すると、全ての回答が全文表示されます。

関連するQ&A

  • bcpによる、テーブル→CSVファイル出力について

    bcpによる、テーブル→CSVファイル出力について SQL Server(2003)のクエリアナライザからテーブル->ファイル出力を試みたのですが、うまくいきません。 サーバからの実行ではなく、クライアントのEnterpriseManagerのクエリ実行です。 このエラーは、サーバ接続自体がうまくいってないということでしょうか? exec master.dbo.xp_cmdshell 'bcp xxxxx.dbo.コピー元テーブル名 out C:\AAA.csv -c -S サーバ名 -U 接続ID名 -P 接続パスワード' 実行結果 SQL Status=S1000 ,NativeError=0 Error=[Microsoft][ODBC SQL Server Driver]一括コピーホストのデータファイルが開けません。 csv->テーブルについては、BULK INSERTで問題無く取り込めているので、単純に逆を行いたいだけです。 bcp使わない方法があれば、それでもいいのですが。。。。。

  • identity属性の列に自動採番(SQL)

    ID、name、seibetuという列を持つ、membersというテーブルがあり、INSERT文を実行してテーブルに値を入れたいと考えています。 IDがIs IDENTITYの値がTRUEになっている列で、NOT NULLです。 以下のクエリを実行したところ、IDにNULLが入るといったエラーが起きます。 SET IDENTITY_INSERT members ON INSERT INTO members (seibetu, name, ID) VALUES ('男', 'すずき', @@IDENTITY) 何か問題があるのでしょうか? お分かりの方いらっしゃいましたらよろしくお願いします。

  • SQLserver テーブルのIDENTITY列

    教えてください。 MSSQLサーバーのテーブルで最新でInsertした直後に、そのレコードを削除して、 再度Insertした時のIDENTITY列の値はその前にInsertした時に使用された値が 再度使われるのでしょうか? それとも、一度使われた値は次回以降使わないのでしょうか? SQLサーバの管理画面にどちらかを選択できる設定があるのでしょうか? よろしくお願いします。

  • Identity列に-1が入ってしまう

    いつも参考にさせていただいています。 今回質問させていただいたのは、Identity属性の列に「-1」が入ってしまう現象についてです。 なぜこのようなことになるのか、何かお気づきのかたいらしたらご意見いただけないでしょうか。 [現象の流れ] ※SAMPLEという名前のテーブルを例に使います※ SAMPLEテーブルにレコードを10程度追加しました。 追加はMS SQL Server Management StudioのクエリエディタウィンドウからINSERT文を発行して行いました。 追加後、テーブルの中身が下記のようになっていました。 Sampleテーブル A列 B列 1  1つ目の要素 2  2つ目の要素 -1  3つ目の要素 -1  4つ目の要素 -1  5つ目の要素  ・  ・  ・ ※A列に-1が入っている状態です。 [テーブル構成] CREATE TABLE [dbo].[SAMPLE]( [A] [int] IDENTITY(1,1) NOT NULL, [B] [nvarchar](20) NOT NULL ) [疑問点] なぜIdentity属性の列に-1が入るようなことが起こったのでしょうか? 原因が全く分かりません。 今後このようなことが起こっては怖いので、 原因や退避策があれば何かご意見いただけないでしょうか。 ちなみに1度データを削除し、 DBCC CHECKIDENT(テーブル名,RESEED, 0) で番号をリセットしてデータを入れ直した後の再現はまだありません。 [環境] Windows XP MS SQL Server2008 Standard MS SQL Server Management Studioよりテーブルの中身を見ています。 どうかよろしくお願いいたします。

  • IDENTITY列の複数テーブルへのINSERT

    テーブルAへINSERTをした場合のIDENTITY列の値を 同じトランザクション内で テーブルBの別のフィールドへINSERTしたいのですが、 どのようにSQLを書けばよいのか、困っています。 どうか、ご教示お願い致します。 INSERT INTOTABLE_A (NAME_A) VALUES ('あいうえお') ↓ INSERT INTOTABLE_A (A_ID,NAME_B) VALUES (取得したA_ID, 'さしす') INSERT INTOTABLE_A (NAME_A) VALUES ('かきくけこ') ↓ INSERT INTOTABLE_A (A_ID,NAME_B) VALUES (取得したA_ID, 'たちつ') INSERT INTOTABLE_A (NAME_A) VALUES ('さしすせそ') ↓ INSERT INTOTABLE_A (A_ID,NAME_B) VALUES (取得したA_ID, 'なにぬ') TABLE_A ID NAME_A 5  'あいうえお' 6  'かきくけこ' 7  'さしすせそ' TABLE_B ID A_ID NAME_B 1  5  'さしす' 2  6  'たちつ' 3  7  'なにぬ'

  • SQL Server 2008 を使用しています。bcpコマンドでクエ

    SQL Server 2008 を使用しています。bcpコマンドでクエリー結果をエクスポートする際に、1行目に列名を含めるにはどうしたらよいでしょうか? >bcp "select * from [db1].[dbo].[table1]" queryout output.txt -c -t"," -r"\n" -T などとしてクエリー結果をテキスト出力する際、上記のコマンドを実行すると1行目からいきなり条件に一致したデータで始まってしまうのですが、1行目に列名を含めるにはどうしたらよいでしょうか?

  • bcpインサートでのフォーマットファイルの書き方

    bcpコマンドでインサートをしたいと考えています。 テーブルの形式は 1 datetime 日時 2 filed_1 varchar(10) 3 filed_2 varchar(10) 4 filed_3 varchar(10) です。 フォーマットファイルに 8.0 4 1 SQLDATETIME 0 8 "," 1 日時 "" 2 SQLCHAR 0 3 "," 2 filed_1 "" 3 SQLCHAR 0 3 "," 3 filed_2 "" 4 SQLCHAR 0 3 "\r\n" 4 filed_3 "" 書きました。 データは、 2009/04/01 0:00:00,11.0,11.0,11.0 2009/04/01 0:01:00,11.0,11.0,11.0 です。 SQLServerは2005のExpressです。 実行すると コピーを開始中です... SQLState = 37000, NativeError = 7339 Error = [Microsoft][ODBC SQL Server Driver][SQL Server]リンク サーバー '(null)' の OLE DB プロバイダ 'STREAM' から、列 '[!BulkInsert].日時' に無効なデータが返さ れました。 BCP コピー in が失敗しました が返されます。 成功させるにはどこを直せばよいでしょうか。 よろしくお願いします。

  • 別のデータベースのテーブルの統合 No.2

    SQL Server 2005 Express で、別のデータベースへのテーブルの移行するにあたり、 INSERT INTO データベースB.dbo.テーブルX SELECT * FROM データベースA.dbo.テーブルX とすればよいというご回答をいただいています。 で、 IDENTITYを設定しているテーブルがあるとちょっと工夫が必要です。 とのコメントをもいただきましたが、 この「工夫」が分かりません。 どんな方法なのでしょうか? IDENTITYをはずす方法や、リレーションシップをはずす方法などが思い浮かぶのですが、テーブル構造が複雑で、わけがわからなくなります。 元のIDの値は維持しなくてもよいので、何かよい方法はありますでしょうか? よろしくお願いします。

  • ASPからBCPの実行で「ローカル セキュリティ機関にアクセスできません」

    ASP(VBScript)にて動作するWeb機能にて 1.Web画面からボタン押すと 2.ASPがBCPコマンドを発行してファイルを作成 という処理を行いたいのですが BCPを実行するところで 「SSLローカル セキュリティ機関にアクセスできません」 というエラーが発生してファイルが作成されません BCPコマンドは Set Wsh = CreateObject("WScript.Shell") bcpCmd = "bcp ~~~~ -U sa -P *** -S DBサーバ" Set oExe = Wsh.Exec(bcpCmd) こんな感じです ファイル出力先のフォルダにはIUSRに対して許可しています BCPコマンドはコマンドプロンプトからじかに実行するとファイルが作成されます WEBサーバ: OS Windows Server 2003 R2 IIS 6.0 DBサーバ: OS Windows Server 2008 DB SQL Server 2008

  • ストアドプロシージャでcsvファイルへデータにエクスポート

    いつも勉強させていただいています。 ストアドプロシージャの勉強をし始めて間もない素人ですがよろしくお願いします。 SQL-server2005でテーブルをCSVファイルに、ストアドプロシージャを使ってそのままエクスポートする、と言うことをやっています。 以下作成したストアドプロシージャです。 ******************************************* CREATE PROCEDURE [ストプロ名] AS DECLARE @command VARCHAR(200) BEGIN SET @command = ' bcp [データベース名].[スキーマ].[テーブル] out C:\XXXX\aaa.txt -PXXXXXX -UXXXXXX -SXXXXXX' EXECUTE master.dbo.xp_cmdshell @command END **************************************** 解析ボタン、実行ボタンをクリックしてもエラーは出ません。 「ストアドプロシージャの実行」を選択して実行させても、 アラーは表示されず、ファイルも作成されません。 xp_cmdshell が有効になるように設定もしました。 残念ながら検討すらつかない状態です。ぜひご教授お願いします。

このQ&Aのポイント
  • EB-PU2113/EB-PU2110を使用して暖房を27度に設定していますが、ファンの音がとてもうるさいです。
  • EB-PU2113/EB-PU2110の暖房設定でファンの音がうるさい場合、解決方法はありますか?
  • EPSON社製品であるEB-PU2113/EB-PU2110を使用して暖房を27度に設定していますが、ファンの音が非常にうるさいため困っています。解決方法を教えてください。
回答を見る