C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

No.55648 の関連記事表示

<< 0 >>
■55648  Re[3]: SQLServerからAccessMDBへのインサート
□投稿者/ asuka -(2010/12/08(Wed) 11:46:35)
    皆様御回答並びに多数の案を提示して頂きありがとうございます。m(__)m

    僕の情報提供不足および分かりづらいところもあり恐縮です。

    > shu さま
    分かりづらい記述で申し訳ありません。
    Access側とSQL側でスキーマが違うことがあります。
    違いがある場合は、[AccessMDB Aテーブルカラム数 < SQL Aテーブルカラム数]
    よってUpdateしようとすると違いがある場合にないカラムをアップデートしようとするので問題になります。


    >ちゃっぴさま
    おっしゃる通りです。
    そもそもSELECT INTOでないと実現しないという決断に現状達しました。


    >魔界の仮面弁士さま
    分かりやすく場合わけして頂きありがとうございます。
    ちゃっぴさんにもご指摘頂いた通り、結局MDB側のスキーマに変更がある可能性があり、
    そのスキーマ変更は今回データを挿入するプログラムでやらなければならないので、
    SELECT INTOしか道がないように思っております。
    (以前はご指摘の通りDataTableで取得したColumnsをDataTypeで場合わけ処理しておりましたが、
    SELECT INTOでテーブルを作成すれば意識しなくて良いかと再認識しております。)
    ですんで、(1)で実装するのかな、と思っております。


    >やじゅさま
    今回はストアドの経験者がおらずWin32アプリケーションをC# .Net2.0で作れという仕様だった
    のでストアドの使用は皆無でした。
    情報の記述がなくて申し訳ありません。



    結局SELECT INTOで実装しました。
    System.Data.OleDb.OleDbConnection conn = new System.Data.OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\\test.mdb");
    conn.Open();
    System.Text.StringBuilder sql = new System.Text.StringBuilder();
    sql.Append("SELECT * INTO A FROM [ODBC;DRIVER={SQL Server};SERVER=〜;DATABASE=〜;UID=sa;PWD=xxx].A")
    System.Data.OleDb.OleDbCommand command;
    command = new System.Data.OleDb.OleDbCommand(sql.ToString(), conn);
    command.ExecuteNonQuery();
    command.Dispose();

    更に2点質問で申し訳ありません。
    1.SQL認証では接続出来ますが、Windows認証(混合?)で認証は出来ないでしょうか?
    sql.Appendに記載したクエリをSQL認証ではなく、
    Initial Catalog=TESTDB;Data Source=(local);Integrated Security=SSPI;
    のようにしたい。
    実装すると「引数が不正です」とExceptionが発生します。
    ODBC;Driver=SQL Server の文字列を付けると「ODBC--呼び出しが失敗しました」となってしまいます。

    2.データはコピー出来たのですが(SQL認証時)、インデックスのコピーは可能でしょうか?

    その他問題があればご指摘頂けると幸いです。


記事No.55621 のレス /過去ログ93より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -