• 締切済み

SQLServer Compact Edtion でBULK INSERTは使えますか?

rooksanの回答

  • rooksan
  • ベストアンサー率66% (4/6)
回答No.1

SQLServerのCompact Editionは通常のSQLServerとはベースが違っているようです。 Compact Edition のSQLはT-SQLのサブセットを実装していてその中には BULK INSERTはないです。よって使えないと思います MicroSoftのSQLServer Books Onlineで確認してみてください SQLServer Books Online = http://msdn.microsoft.com/ja-jp/library/ms189826.aspx この中にはBulk Insertがある SQLServer CompactEditionの Books online= http://msdn.microsoft.com/ja-jp/library/ms173372.aspx この中にはBulk Insertはない

関連するQ&A

  • CSVファイルをBULK INSERTでSQLserverに読み込むことは可能?

    BULK INSERT というものを使って SQLServer2000上のテーブルに読込みたいのですが可能でしょうか? その場合どうやって記述すればよいのでしょうか? 終端文字とかいうのは何になるのでしょう? Windows2000 RDOで接続です。

  • BULK INSERTで失敗

    いつも拝見させて頂いております。 今回はSQLServerのBULK INSERTについて質問させていただきます。 現在、UNIXから出力されたデータファイルをWindows2000Serverにて ストアドからBULK INSERTを使用して取り込もうとしています。 ですが、うまく取り込めず困っています。 現在は『BULK INSERT TBL名 FROM 'サーバ内のファイル'』として クエリアナライザからも実行しているのですが、最後のカラムで 桁あふれとなりエラーが発生してしまいます。 行終端文字が認識できず、全てのデータが1行とみなされているようです。 しばらく、調べているのですが調べれば調べるほど正常に取り込めなければ おかしいと思ってしまっています。 以下が現在の状況です。 1.BULK INSERTの行終端文字のデフォルトは\n(LF)であり、   取り込もうとしているデータファイルの行終端文字も\n(LF)である。 この状況であれば取り込めるかカラムのデータ型不一致等のエラーまで進むと思っているのですが、そこまで進みません。どなたかこのような状況を経験したら方が いらっしゃいましたらご教授いただきたく存じます。 宜しくお願い致します。

  • BULK INSERT

    BULK INSERTを使ってテーブルにデータを入れようとしているのですが、ファイルデータしか取り込めないのでしょうか? プログラム(C++)で生成したテーブルデータをオンメモリで引き渡してBULK INSERTとか出来ないでしょうか?

  • BULK INSERTについて

    CSVをバルクインサートでitemテーブルにBULK INSERTする際に、 下記のようなSQL文を使っているのですが、CSV内のブランク文字は 実行後にNULLになってしまいます。 やりたいことはNULLではなく空白文字("")にしたいのですが、 下記のSQL文をどのように変えればよいのでしょうか。 または、CSVを変更する方法でもよいです。 BULK INSERT item FROM 'c:\test.txt' WITH ( FIELDTERMINATOR = ',', ROWTERMINATOR = '\n' ); 大変お手数ですが、 わかる方がいらっしゃいましたらよろしくお願いいたします。

  • バルクインサートに関して

    表題ですが、 mysqliを使ってバルクインサートを行いたいのですが、 データ量が可変の場合のやり方がわからず、ご助言頂ければと存じます。 現在のコード。 $stmt = $mysqli->prepare("INSERT INTO mail_result.mails (NO,sessionID,Subject,ToAdd,FromAdd,Cc,Bcc,Date,AttachedFile,flag,RegistDate) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, 0, NOW())"); $bind_param = $stmt->bind_param('dsssssssi', $a, $b, $c, $d, $e, $f, $g, $h, $j); for ($i = 2; $i < count($obj[0]) + 2; $i++) { $a = $obj[0][$i][0]; $b = $sessionID; $c = $obj[0][$i][1]; $d = $obj[0][$i][2]; $e = $obj[0][$i][3]; $f = $obj[0][$i][4]; $g = $obj[0][$i][5]; $h = $date = date('Y-m-d H:i:s', $obj[0][$i][6]); $j = $obj[0][$i][7]; $stmt->execute(); } これだと1件ずつのインサートなので、 prepareで(?, ?, ?, ?, ?, ?, ?, ?, ?, 0, NOW())をcount($obj[0])分、入れたいのですが、 可変時の変数の指定方法がわからず、ご助言頂ければ幸いです。

    • ベストアンサー
    • PHP
  • SQLServer Insertが遅い

    1台のPCで発生している問題です。SQLServerで、Select命令は即戻ってくるのですが、Insertの処理は遅く、1件に2秒くらいかかっており、理由が分からず困っています。他のPCからは、SelectもInsertも問題ありません。 <SQLServer環境> ・バージョン:SQLServer2005 Express ・OS:WindowsXP ・ポート番号:1433固定 <クライアント環境> ・OS:Windows7  ※問題の発生しているPCも、問題の発生しないPCも、共に同じOS・同様のスペックです。 <当方でテストした内容> ※全テストで、実行前にテーブルはtruncateし、トランザクションは未使用で実行しています。 (1) 1件づつ Insertし、計3000件を登録    →問題発生PCでは、1件に2秒くらいかかる。問題なしPCでは、3秒くらいで全て終了 (2) sqlBulkCopyを利用し、配列変数に格納したデータ計3000件を一括登録 (配列格納後に測定)    →問題発生PCでは、15秒で30件くらい。問題なしPCでは、3秒くらいで全て終了 (3) bcpin で、テキストファイルの計3000件を登録    →問題発生PCでは、30秒くらい経っても開始されず。問題なしPCでは、1秒くらいで全て終了 (4) Select命令発行    →問題発生PC、問題なしPC 共に、1秒くらいで全て終了。 (5) bcpout で、テーブルより計3000件をテキストファイルに落とす    →問題発生PC、問題なしPC 共に、1秒くらいで全て終了。 bcpinについては、ためしに、 -S IPアドレス\Express,1433 と、ポート番号を付けて実行もしてみましたが、結果は同じで、問題発生PCでは、開始に時間がかかり、問題なしPCでは即終了しました。 以上の結果より、問題なく動くクライアントもあるため、Server側の問題ではなく、問題発生クライアントPCの環境に問題があるのではないかと思っていますが、SQLServerの接続、Selectやbcpoutには問題なく、Insertやbcpinといったデータ挿入のみが遅いという点で、何に問題があるのか、さっぱり検討がつきません。 このような場合、どういった点を調査したらよいのでしょうか?

  • BULK INSERT でファイルが開けなくて困っています

    初めての質問なのでトンチンカンなこと言ってたらすみません。 SQL Server 2005のストアドプロシージャを使ってBulk InsertでSQL Server とは別のパソコンにあるcsvファイルをテーブルにインポートしようとしているのですが、「...を開けなかったので、一括読み込みできません。...アクセスが拒否されました。」とエラーが出てしまいます。ストアドプロシージャは別パソコンのVB2005からパラメータ(ファイルパス等)を与えて実行しています。 ファイルの保存先フォルダは共有にしています。 ちなみにSQL Server側のパソコンからストアドプロシージャを実行するとちゃんとインポートしてくれます。 パスワードや権限が関係してるんでしょうか? 長くなりましたが、よろしくお願い致します。

  • SQLServer2000 UDPポート1434を有効にしたい

    タイトルの通り、SQLServer2000 UDPポート1434を有効にしたいのですが 方法がわかりません。 ご存知の方、ご教授宜しくお願い致します。

  • SQLSERVERのINSERT文について

    VB2005 SQLSERVER EXPRESS 2005 上記環境で、データベースの追加作業をしています。 大量データ(1万件ほど)をINSERTしたときに、 下記エラーが途中で表示されます。エラー表示まではINSERTできています。 途中からまた開始すると、ある程度INSERTされて、エラー表示されます。 サーバーへの接続を確立しているときにエラーが発生しました。 SQL Server 2005 に接続しているときときにこのエラーが発生した場合は、SQL Server の既定の設定がリモート接続を許可しないようになっていることがエラーの原因である可能性があります。 (provider: TCP プロバイダ, error: 0 - 通常、各ソケット アドレスに対してプロトコル、ネットワーク アドレス、またはポートのどれか 1 つのみを使用できます。) <ソース> For Each Row In Table.Rows --省略-- SqlStr = "INSERT INTO テーブル VALUES (Row("フィールドA")" SqlCmd.CommandText = SqlStr Cn.Open() SqlCmd.ExecuteNonQuery() Cn.Close() Next フィールドは50ほどです。文法のエラーはないと思います。 接続と切断を繰り返すとリソース不足でエラーになるのでしょうか? ご教授願います。

  • BULK INSERTで失敗

    SQL Server2000のSQL クエリアナライザから、 BULK INSERTを行おうとすると 以下のエラーメッセージが出力されます。 ------------------------------------- サーバー : メッセージ 7302、レベル 16、状態 1、行 1 OLE DB プロバイダ 'BULKIMPORTSTREAM' のインターフェイスを作成できませんでした。 OLE DB エラー トレース [Non-interface error: CoCreate of DSO for BULKIMPORTSTREAM returned 0x8007045a]。 ------------------------------------- 何が不足しているのでしょうか.