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 のダウンロード




























