- - PR -
複数外部MDBを1つにする方法
投稿者 | 投稿内容 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2006-07-11 11:22
じゃんぬネット様 ありがとうございます。
.NET Framework1.0の為、Microsoft.Data.Odbcで試してみました。 Try oCommand = New OdbcCommand("INSERT INTO a SELECT * FROM a in 'c:\\\\c.mdb'", oConnection) oConnection.Open() oCommand.ExecuteNonQuery() ここでエラーが発生します。「パスワードが正しくありません。」 "SELECT * FROM MosaMosaAA" 部分を複数外部MDBを1つにするSQLに変更すると 上記エラーが発生してしまいました。 ConnectionString を試してみたかったのですが INSERT INTO SELECT FROM IN パスワード付外部MDB の記述方法がわかりませんでした。 度々すみませんがご存知なら御教授宜しくお願い致します。 | ||||||||||||
|
投稿日時: 2006-07-11 12:33
エラーどおりです。 パスワードを指定して Connection を開いているのは、コピー先だけです。 コピー元には、パスワードを指定していませんよね。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||||||
|
投稿日時: 2006-07-11 12:50
じゃんぬねっと様 回答ありがとうございます。
度々すみません。きちんと説明していませんでした。 既にコピー元のMDBは開いておりそのMDBに約100個のMDBをINSERTします。 (キーは個別に付与しています。約100個を結合するイメージです。) パスワードはすべてに付与しており、すべて同パスワードです。 コピー元には別のパスワードは付与しています。 >パスワードを指定して Connection を開いているのは、コピー先だけです。 そうなるとConnection を約100回行うという事でしょうか? すみませんが御教授宜しくお願い致します。 | ||||||||||||
|
投稿日時: 2006-07-11 13:39
はい、このあたりは大体想像どおりなので大丈夫ですよ。
unibon さん案と融合してみるというのはどうでしょうか? つまり、こういうことです。
この部分を、別メソッドに抽出すれば、100 回実行しようと同じように呼ぶことができます。 もちろん、ファイルパスやパスワードなどは引数で指定できるようにします。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||||||
|
投稿日時: 2006-07-11 15:19
じゃんぬねっと様 ありがとうございます。融合案で試してみました。
Dim cn As OdbcConnection cn = New OdbcConnection("Driver={Microsoft Access Driver (*.mdb)};" & _ "DBQ=c:\a.mdb;UID=;PWD=aaa") Dim mystring As String = "INSERT INTO a SELECT * FROM [C:\b.mdb;PWD=aaa].a" Dim cmd As OdbcCommand = New OdbcCommand(mystring, cn) cn.Open() cmd.ExecuteNonQuery() これでパスワード付きのMDBをINSERTすることができました。 本当にお世話になりました。ありがとうございました。 |