![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
初めて投稿致します。
過去ログや他サイトでもいくつかみかけた事象ですが、
どこにもはっきりとした回答がないため質問させて頂きました。
知っている方がいたら、ご教授お願いします。
環境は、Win2003Server + SQL Server2000 です。
外部サーバからisqlで取得したデータをPerlでタブ区切りに加工し、
そのファイルをbcpでDBにインサートする処理でエラーが発生します。
エラー内容は、過去ログにもあったとおり
『文字列データの右側が切り捨てられました』というものです。
1行目からエラーが発生し、10回のエラー発生で異常終了します。
ただ、3万行あるデータを2万行と1万行にしてインサートすれば
問題なくDBに登録されます。
この事象はMicrosoftのバグなんでしょうか?
サイト上には、そのようなバグが報告されていないようですが。
それともどこかに仕様として紹介されているのでしょうか。
データのサイズ、レコード数に関わらず
bcpでインポートできるようにしたいのです。
ちなみに、現行は7.0で問題なく上記処理が稼動しています。
本サイト上に示されていた解決法のODBCバージョンですが、
ODBCは最新版が入ってるので、それ以外でこの事象の解決法を
知っている方がいましたらぜひとも教えてください。
以上、よろしくお願い致します。
No.2ベストアンサー
- 回答日時:
・件数次第で成功
・旧SQL-Serverでは成功
という2点で、やはりログファイル的にOKということなので、環境しか考えられないかと・・・
もちろんディスクはFATでフォーマットしてませんよね?
BCPIN最中に、セグメントがギュウギュウになってしまっているとか?
本当にログのフォーマットのせいではないですよね?
>外部サーバからisqlで取得したデータをPerlでタブ区切りに加工し、そのファイルをbcpでDBにインサートする処理でエラー
でも2万と1万に切り分けて成功する。。。
ならば、分割して入れたデータをTAB区切りでBCPOUTしてtruncate、さらにBCPINしても同じところでエラーが出ると思うのですがいかがでしょう?
同じところで出ているのであれば、
3万件のデータがどれほどのサイズであるかを知りたいです。
この回答への補足
>もちろんディスクはFATでフォーマットしてませんよね?
フォーマットはNTFSです。
>本当にログのフォーマットのせいではないですよね?
これはどういうことでしょうか?
ログのフォーマットによって何か起こるということでしょうか??
1050YENさんの言うように、
分割インサートしたデータをbcp outして再度bcp inしても同じ現象がでます。
単純にデータ件数に依存しているようです。
かなり細かくやっていくと、ある件数以上からはエラーが発生するようです。
ちなみにデータのサイズは50M前後です。
よろしくお願いします。
No.3
- 回答日時:
>>本当にログのフォーマットのせいではないですよね?
>これはどういうことでしょうか?
誤記です。すいません。
データのフォーマット(書式)と書きたかったのです。
perlということで、UNIX絡みと思われたので、エンコードやら何やらと思ったのですが、
>分割インサートしたデータをbcp outして再度bcp inしても同じ現象がでます。
ということから、根本のようですね。
私の現業務でSQL-Serverを利用しておりますが、同様な現象が発生しません。
ちなみに
データ:8万件
カラム数:41フィールド
です。
分割インサートしたデータをbcp outする時に、-tオプションを利用せず、-nでやっても一緒ですか?
perlで編集ができる文字ではなくなってしまいますが、それができないのであれば、環境としての根本的な話になってくると思います。
いろいろとお手数かけましたが、解決しました。
結論からいいますと、マイクロソフトのバグでした。
いろいろと調査した結果、英語版のサポートに修正パッチが公開されていて、それを適用で同様のエラーは発生しなくなりました。
ありがとうございました。
また、質問させていただきます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) EXCELの外部データ取得ができない 1 2023/03/23 09:03
- Visual Basic(VBA) vbaエクセルマクロについて あるデータを作成し、デスクトップに.xlsx形式で保存するマクロを作成 2 2023/03/02 18:54
- Visual Basic(VBA) vbaエクセルマクロについて あるデータを作成し、デスクトップに.xlsx形式で保存するマクロを作成 6 2023/03/03 18:05
- オープンソース Python openpyxlを使用したセル番地の使用について 1 2023/08/03 22:05
- 携帯型ゲーム機 ニンテンドースイッチについてです。 長文失礼します 今朝までポケモンSVをプレイしていたのですが、突 1 2023/02/12 21:19
- PostgreSQL DBFluteについて質問です。 環境:PostgreSQL java8 前提:webアプリケーショ 1 2022/07/07 00:49
- 電子マネー・電子決済 QUICPayの登録ができない。 4 2023/06/10 10:57
- FX・外国為替取引 MQL5にて謎のエラーが発生!だれか対処を教えてください! 1 2023/03/25 15:59
- Windows 10 Windows Updateが動作しません 7 2022/08/12 16:26
- 携帯型ゲーム機 ニンテンドースイッチについての質問です。 長文になるかもしれませんがすみません。 お昼頃にSwitc 3 2023/02/12 21:32
このQ&Aを見た人はこんなQ&Aも見ています
-
「環境が人を育てる」って本当?環境によって人格や生き方は本当に変わるのか
環境が人生に与える影響は実際どれほどのものなのか、専門家の田宮由美さんに伺った。
-
bcpインサートでのフォーマットファイルの書き方
SQL Server
-
テーブル列数とデータファイル列数の違うbcpインサートをしたい
SQL Server
-
型 varchar から型 numeric への変換エラー。
その他(データベース)
-
-
4
オラクルではできるのにSQLSERVERではサブクエリーで複数キーを指定できない?
SQL Server
-
5
exeファイルの中身を見ることは可能ですか?
フリーソフト
-
6
BCPでCSV内の文字列をテーブルのDatetime型カラムに取り込む方法
その他(データベース)
-
7
バッチファイルからのBCP起動について
SQL Server
-
8
SQL Server 2005 Expressでbcpを行うとエラーになる
SQL Server
-
9
datetime型のインポートについて
SQL Server
-
10
あるテーブルのデータを追加、更新、削除できないようにするには?
SQL Server
-
11
BCPユーティリティの使用法_ヘッダー情報の取得_
その他(プログラミング・Web制作)
-
12
SQLServer sqlcmdが使えない
SQL Server
-
13
テキストファイルの最終行を削除したいのですが
その他(プログラミング・Web制作)
-
14
BCPコマンドのリダイレクト値が空になる
SQL Server
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
SQL文(最新データ且つ条件付)...
-
SQLについて
-
ACCESS2007 フォーム 「バリア...
-
<SQL>重複しているデータの場合...
-
Visuaal Studio Community 2022...
-
Access2021 「ISNULL関数には引...
-
SQLのエラー(~付近に不適切な...
-
SQLSERVERの抽出処理について
-
SQL Server 縦方向のデータを列...
-
sqlserverで集計結果をUPDATEし...
-
chr(13) と char(13) の違いっ...
-
Tverは無料でしょうか?
-
サーバー破壊
-
甘いものがすきなのってなおせ...
-
SQLて何ですか!
-
生え際から顎先まで17.5 頭頂か...
-
sql serveについて
-
SQLを駆使したデータ抽出ってど...
-
自己相関サブクエリと自己結合...
-
DBのテーブルの設計ができず困...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
SQLserver算術オーバーフロ...
-
bcp in でエラー
-
ストアドプロシージャのRETURN...
-
DBへのOPENについて
-
VB.net SqlConnectionでの連続S...
-
ACCESSのVBAでCSVを取込処理に...
-
Oracle8.1.7の更新処理
-
Access VBAで行ラベルが定義さ...
-
Accessのマクロでモジュールを...
-
エクセルVBAでUserFormを起動し...
-
Statement ignored というエラー
-
キャッシュを使わずにSELECTを...
-
ODBCリンクの際にACCESSでは読...
-
今日の日付が入った行のデータ...
-
エクセルの日付に時差を加算 #V...
-
VBA プロシージャの名前の取得
-
sqlplusでヘッダーが付かない
-
PL/SQLカーソルの2重FORループ...
-
Accessの数値から時間に変換す...
-
likeとsubstrの使いわけについて
おすすめ情報