質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
Access

Accessはマイクロソフトによるリレーショナルデータベース管理システムです。オブジェクト指向のアプリケーション作成に対応しており、テーブルや編集をはじめ、クエリ生成、入力フォーム作成、レポート作成など一通りの機能を備えています。

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

データベース

データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

Q&A

解決済

4回答

3250閲覧

データベースのデータをSQLで転送したい

t1gerkngd0m

総合スコア26

Access

Accessはマイクロソフトによるリレーショナルデータベース管理システムです。オブジェクト指向のアプリケーション作成に対応しており、テーブルや編集をはじめ、クエリ生成、入力フォーム作成、レポート作成など一通りの機能を備えています。

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

データベース

データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

0グッド

0クリップ

投稿2018/02/22 04:52

編集2018/02/22 07:43

データベースに入っているデータを、別のデータベースに転送したいと考えています。
現在はデータベースの操作はACCESSを使っていますが、ACCESSを使うと1度に10万件までしか送れないのと、
スピードが遅いので、SQLで一気にデータを送ることが出来ないか考えております。
SQLを用いてのデータ転送方法と、それよりも良いやり方があればご教授頂きたいです。

転送元環境
MSのAzureを使用しています。
OS:Windows DBMS:SQL クラウド

転送先環境
現在不明。確認します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

unz.hori

2018/02/22 04:56

別のデータベースとは同一マシン上のものでしょうか?それとも別マシンにあるものでしょうか?
hihijiji

2018/02/22 05:01

Access はツールのみ?DBも? 転送元と転送先の環境は(オンプレミス/クラウド、OS、DBMS)? 転送媒体は(記録メディア/ネットワーク/パンチカード)?
t1gerkngd0m

2018/02/22 07:09

unz.horiさま 別マシンにあるものです。
unz.hori

2018/02/22 07:13

パンチカードw。えーとそれは置いといて。別マシンにあるとなるとExportしてimportするのが普通のDBのやり方なんですがAccessはちょっと詳しくないので詳しい人に任せます。んで、環境については詳しく質問に追記した方が回答がつくと思います。
退会済みユーザー

退会済みユーザー

2018/02/22 07:27 編集

Accessのmdbやaccdbには、テーブル、クエリー、フォーム、レポート、マクロ、モジュールの6要素があるのですが、それらが単一ファイルに入っている構造のか、例えばテーブルとクエリーが別ファイルになっている構造なのか。もしも(データとアプリを分離して)テーブルとクエリーが別ファイルになっているとしたら、転送先にファイルまるごと上書きしちゃえばいいじゃんって話に思えるのですが。逸れたけど、もっと丁寧に現状がどういう構造なのかを説明してほしいです。
t1gerkngd0m

2018/02/22 07:40

hihijijiさま Accessはツールのみとして使用しています。転送元のDBはazureなのでoSはWindows、クラウド、SQLサーバ。転送先の環境は不明です
t1gerkngd0m

2018/02/22 07:45

m6uさま Accessはツールとしての使用のみでDBとしては使用していません。現状の環境などは最低限何を調べればよいでしょうか?全く経験がないのでご教授頂ければ幸いです
退会済みユーザー

退会済みユーザー

2018/02/22 07:46

データが収められている先は、Microsoft SQL Serverってことですかね。データを見たり加工するためだけにAccessを使っていると。なるほど。。
guest

回答4

0

自己解決

ご回答などありがとうございました。
以下の方法で解決しました。

microsoft SQL manegement studioでSQL文を書きこみ、csvファイルとしてダウンロード
それを転送先DBへアップロード

以上のやり方にしました。

投稿2018/03/23 12:18

t1gerkngd0m

総合スコア26

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

accessをツールとして転送ということなら、リンクテーブルからリンクテーブルへの追加・更新ということかと思いますが、それだと確実に遅そうですね。

転送先がクラウドじゃなければ、DBMSによっては外部リンクできるものもあります。

速さを求めるなら、やはりそれぞれのDBに対しての、CSVによるエクスポート/インポートじゃないでしょうか。

投稿2018/02/22 14:31

sazi

総合スコア25173

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

私が考えるに最速な方法を提案します。

転送元も転送先も SQL Server の場合
1.転送元の SQL Server のDBをファイルにバックアップする。
2.転送先で転送元のバックアップファイルをFTPでダウンロードする。
3.転送先の SQL Server でバックアップファイルを復元する。

転送先が SQL Server じゃない場合
1.2.一緒
3.転送先に SQL Server を仮にインストールしてバックアップファイルを復元する。
4.SQL Server にて転送先 DB をリンクサーバに登録。
5.SQL Server にて転送先 DB にデータを移すストアドプロシージャを書く。
6.そのストアドを実行する。

投稿2018/02/22 09:32

hihijiji

総合スコア4150

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

転送元・転送先どちらかで相手方をリンクサーバーとして登録し、SQLで処理するのはどうですか?

投稿2018/02/22 09:29

Mustang32861341

総合スコア100

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問