OleDb で接続し、select 〜 into 構文の出力先を [ODBC; ... ] を使用した接続文字列の記述で SQL 上で直接参照してエクスポートを実現します。この際、キーは設定されないので2回目以降の insert 〜 select 構文で追加エクスポートが可能です
using System; using System.Data.OleDb; namespace Export_MySQL { class Program { static void Main(string[] args) { OleDbConnection accdb; bool bError = false; string mysql_connection_string = "[ODBC;Driver={MySQL ODBC 5.3 Unicode Driver};server=localhost;database=lightbox;uid=root;pwd=]"; using (accdb = new OleDbConnection()) using (OleDbCommand command = new OleDbCommand()) { string file_path = @"C:\Users\sworc\Documents\hanbaic-set\hanbaic.accdb"; accdb.ConnectionString = $"Provider=Microsoft.ACE.OLEDB.12.0;Data Source={file_path};"; try { accdb.Open(); Console.WriteLine($"{file_path} で接続されました"); } catch (Exception ex) { Console.WriteLine("接続エラーです:" + ex.Message); bError = true; } if (bError) { return; } // テーブルを新規作成してエクスポート string query = $@"select * into {mysql_connection_string}.社員マスタ_accdb from 社員マスタ"; Console.WriteLine(query); try { // コマンドオブジェクトに接続をセット command.Connection = accdb; command.CommandText = query; command.ExecuteNonQuery(); Console.WriteLine("エクスポートされました"); } catch (Exception ex) { Console.WriteLine("SQL 実行エラーです:" + ex.Message); bError = true; } if (bError) { // 既存テーブルにエクスポート query = $@"insert into {mysql_connection_string}.社員マスタ_accdb select * from 社員マスタ"; Console.WriteLine(query); try { // コマンドオブジェクトに接続をセット command.Connection = accdb; command.CommandText = query; command.ExecuteNonQuery(); Console.WriteLine("エクスポートされました"); } catch (Exception ex) { Console.WriteLine(query); Console.WriteLine("SQL 実行エラーです:" + ex.Message); } } } Console.ReadLine(); } } }
関連する記事 System.Data.OleDb で select into 構文を使って簡単に Microsoft Access のデータを他の データベースにエクスポートする データーベース間 テーブルアクセス
|
【C#の最新記事】
- C# : PHP と連携してバイナリデータを WebClient.UploadDataAsync でそのままアップロードする
- C# : WebClient で JSON データを取得後 Json.NET でオブジェクト化( ついでに PropertyInfo でプロパティデータ一覧を foreach で取得 )
- C# : TKMP.DLLを使った、Gmail 用メール送信テンプレート
- C# : DataGridView を使用したナチュラルな行データの更新
- C# の delegate : メソッドの引数にメソッドを渡して使用する方法と、JavaScript の function(){} と同じ使用方法( 匿名 )
- PowerShell 移行用 C# コンソールアプリのコードテスト( ZIP 圧縮 )
- 解く事が目的では無い、身に付ける事が目的の C# 初心者用の問題を作ったので良かったらどうぞ (4)
- 解く事が目的では無い、身に付ける事が目的の C# 初心者用の問題を作ったので良かったらどうぞ (3)
- 解く事が目的では無い、身に付ける事が目的の C# 初心者用の問題を作ったので良かったらどうぞ (2)
- 解く事が目的では無い、身に付ける事が目的の C# 初心者用の問題を作ったので良かったらどうぞ (1)
- ComboBox : C# : Form アプリケーションで良く使うコントロール / VS2012 にて
- C# バッチビルドキットで、VB の My 名前空間を使ってクリップボードを使ったり、キーボードの SHIFT キーが押されているかを知る
- printui.dll を VB.net または C# から呼び出す/ DllImport で LoadLibraryA / VS2010
- LINQ で List
のソート - VS2010(C#)WPF : ListView 内に GridView を配置する
- Windows ストア用の System.Collections.Generic 名前空間には、SortedList はありません。
- 情報が全くみつからない Microsoft.Live
- VS2010(C#) バッチ(コンソールアプリ) Twitter 投稿
- Windows8(C#) の WebView の LoadComplete で取得した URL 内のアクセストークンを Split で取得
- Facebook C# SDK の 5.4.1.0 のダウンロード