• 締切済み

SQL Server へのデータ追加について

現在a、b、cの店舗でそれぞれAccessをDBとして活用しているのですが、それとは別に 3店舗分のデータを一つにまとめた統合用DBとしてSQL Serverを利用したいと考えています。その際、それぞれ各店舗分のデータをSQL Serverへと追加していきたいのですが、どういった処理が最適で効率が良いのか分からず困っています。 希望する処理的には何らかのexeファイルを作成し、そのexeファイルを叩くとAccessからデータを吸い上げ、SQL Serverへとデータを追加するということを行いたいです。 私が考えられる処理としては以下の2点でした。 1、Accessから吸い上げたデータをストアドを使い、データを追加していく。 2、Accessから吸い上げたデータをCSVに変換し外部ファイルとし、ローダーを使用して   データを追加する。 それぞれの店舗データが3万件程あります。 なるべくDBに負担をかけないで以上の様な事を行いたいです。 DBまわりにお詳しい方、ご教授よろしくお願い致します。

みんなの回答

回答No.1

AccessのvbaでSQLServerに接続してデータを追加したらどうでしょうか。 別EXEを作成、管理する手間も省けますし。

関連するQ&A

  • SQLサーバ2000へのインポート方法とその他

    こんにちは。 SQLサーバはまったくよく分からないですが、いくつか教えていただく助かります。 業務では下記のように、メインフレームから生データ(CSVファイル)をWindows2000へFTPし、SQLサーバへインポートし、その後ストアドプロシージャを実行します。 条件としては、メインフレームから不定期にFTPがおこなわれ、つづいてFTPが終了したことを通知するためのREXEC処理がコールされます。 メインフレーム ↓ Windows2000 ↓ SQLサーバ この時の具体的なテクニックを教えてほしいのですが、経験のない私のイメージはVBなどでADOを使ってファイルをインポートし、SQLサーバ内のストアドを実行するという感じです。 ↓ (1)メインフレームからファイルFTP(PUT) (2)メインフレームからVBで作成したモジュールを起動。 (3)VBはCSVファイルをDBにインポート (4)そしてVBからストアドプロシージャを実行(これは可能?) 現在はどのような仕組やツールが一般的なのでしょうか? 詳細に教えていただけると助かります。 よろしくお願いします。

  • SQL Server時間切れについて

    初めまして。SQL初心者です。 あるシステムにおいて、SQLサーバが無応答?になり、システムがダウンしてしまい、困っています。 Windows2000Server、SQL Server2000、VB6を用いてDBに定期的にRead&Write、及び各種のデータ表示を行っています。 ADOを使用して、接続や各コマンドを実行しているのですが、ごくたまに以下のエラーが出てしまいます。 Code:-2147217871,Description:時間切れになりました。Source:Microsoft OLE DB Provider for SQL Server,SQL State:HYT00,NativeError:0 過去ログや他サイトを調べた結果、コネクションのCommandTimeoutの秒数を延長させる、とあったので60秒に変更しました。 が、不定期(大体1週間~10日前後で夜中や朝方などにもあり)にこのエラーが出てしまい、約1時間~1時間半もダウンしています(この間のエラーをOn Errorではじいてログファイルに保存しています)。 毎分必ず実行しているストアド(20装置分のデータをUPDATEするので1分に20回実行する)があるのですが、必ずと言っていいほどこのストアド実行中に落ちています。 このストアドに5~6個のパラメータを渡し、複数のテーブルに対してUPDATE処理を行っています。 正常に動作している時は、数日間全く問題無いので、ストアドやVBのコードに間違いは無いと思います。 そこで、SQL Serverの設定等を見直したところ、1つ気になったところが。データベースファイル \Microsoft SQL Server\MSSQL\Data\aaa.MDF のサイズが14Gになっていました・・・。 このファイルにアクセスする時にSQL Serverで高負荷になってしまい、無応答のような状態になってしまうのでは?と思っていますがどうでしょう? 不定期に発生し、かつ再現性が無く、原因が掴めずに本当に困っています。 先輩方、何でも良いのでアドバイスをお願い致します。

  • SQL Serverでのデータロードについて質問

    SQL Server初心者です。 CSVファイルのデータをテーブルにロードするにあたり、以下のような事をするにはどんな方法があるのでしょうか?  ケース1:CSVファイルのデータでテーブルを上書き  ケース2:主キーが一致するレコードがテーブル内に存在する       データはUPDATE,なければINSERT ケース1,2それぞれDB2でいうところのImportコマンドを使用した時のREPLACEモード及びINSERT_UPDATEモードのイメージです。 DB2のように簡単にはいかないものでしょうか。 よろしくお願いします。

  • SQL Serverのテーブル追加を、Accessに反映させたいのですが・・・

    SQL Server Enterprise Manager でテーブルの行を追加したのですがが、 リンクさせているAccessのテーブルに反映されません。 会社のDBで、テーブルをSQL Serverで作成し、 Accessへリンクさせています。 通常の入力業務はAccessで行っています。 このDBを作成した前任者が退職してしまい、 DBを管理できる人がいない状況です。 ネットで調べたところ、SQL Serverで、 「パブリケーションの新規作成」を行うか、 「DTSインポート/エクスポート」を行う必要がありそうなのですが、 これらの違いもわからず、 またAccesDBへの影響がわからず、うかつに試せない状況です。 SQL Server、Access共に全く明るくないため、 つたない文章で申し訳ありませんが、 どなたか、テーブルの追加を反映させる方法を 教えて頂けませんでしょうか。

  • OracleからSQL Server 7.0へのデータの渡し方

    Oracle 8.1.6から SQL Server 7.0にデータを渡したいのですが、 CSVファイルを利用したファイル転送以外の方法ってどんな方法が あるんですか? 環境 Oracle 8.1.6(Trubo Linux Server 6.0) SQL Server 7.0(Windows 2000 Server) ・ネットワーク的には、同一LANの中に存在します。  よろしくお願いいたします。

  • SQLサーバーはテーブルの置き場として使えるのでしょうか?

    SQLサーバー初心者です。 アクセスのMDBファイルのリンクテーブルとしてSQLサーバーを使う場合、 クエリとかストアドプロシージャー(?)などの機能があるみたいですが よくわからないので 本当にただテーブルの置き場としてSQLサーバーを使うことはできるのでしょうか? 宜しくお願い致します。

  • SQL Server のデータをCSVファイルに保存

    SQL Server のデータをCSVファイルにして保存したいのですが、簡単に出来る方法はないでしょうか? よろしくお願いします。

  • SQLサーバーのデータ型について

    いつもお世話になっています。 SQLサーバーのデータ型で、 Accessでいうところの YES/NO型はありますでしょうか? SQLサーバー2000を使用しています。

  • Accessの接続先をSQLサーバーからアクセスDBにしたい

    はじめまして、宜しくお願いします。 現在、Access2002、SQLサーバー2000を使ってタイトルのようなことを 実現したいと思っています。 現在作っているファイル名の拡張子はDBにSQLサーバーを使っているので「adp」です。 しかし、システムが完成した後で、扱うデータ量がそんなに多くないことと、SQLサーバーをDBに使うとお金もかかってしまうということが分かったため やはり、アクセスの中だけの閉じたシステム(「mdb」のような状態)にしたいと思っています。 システム自体は完成してしまっているので、mdbファイルとして 作り直すには効率が大変悪いと思っています。 そこでシステムファイルはそのままでDBの接続先だけSQLサーバーから アクセスDBに変えようと思っているのですが、 なかなかうまくいかず、行き詰っています。 もしかして、そのようなことは無理なのでしょうか? もしもなにかお気づきの方が居られましたら、 ご教授宜しくお願いします。

  • SQL2008から2000へデータコピーしたい

    使用環境は DB SQL Server2008 Express 使用ツールは Microsoft SQL Server Management Studio です サーバーは 64bit です インストールファイルは SQLEXPRWT_x64_JPN.exe です 現在、同じネットワーク上には SQLServer 2000のDBを使ったサーバーはあるので すがSQLServer2008は1台だけです 今回 SQL2008のDBを 2000の方にバックアップ用としてコピーしたいと思います ファイルの保存だけであれば可能かと思いますが 万が一の時に 接続先を変更して使えるようにしたいと思います。 認識として、 ・データファイルやログファイルは上位DBから下位DBへアタッチ操作はで きない (上位DBのファイルを下位DBがアタッチ操作できない) ・データベースコピーはできない そこで データコピー をしたいと思っています。 下記 HPを参考にフリーソフト(DBCopyTool.exe)を使ってみたのですが http://www.atmarkit.co.jp/fdotnet/dotnettips/859dbcopytool/dbcopytool.html サーバーの登録はうまくいくのですが、対象DBの登録について SQLServer2008express や SQLServer2005express はうまくいくのですが SQL2000のサーバーでは、下記メッセージが出てきます Fehler:Error getting the database.オブジェクト名'sys.database'は無効です 確認したいのは 上記フリーソフトを使われたことがある方、同じような現象には ならないかどうか 何か設定、確認不足なのでしょうか? また当初の希望内容を実現するため、他の方法があれば ご教授願いたいと思いま す。 同HP内の文末に、SQLServer 2000とSQL Server 2008との間でコピーが正しく行え た とあり決して依存するわけではないのですが、もしやと思い試しているのですがうまくい きません。 仮に 2000のDBを2008にコピーできるとしても、該当DBの選択のところでエラーが 出てしまうのはクリアする必要があると思うのですが… 以上 宜しくお願い致します。