JustAnswer のしくみ:
  • 専門家に質問
    知識豊富な専門家があらゆる質問にお答えするために常に待機しています。
  • 専門家が丁寧に対応
    E メールやサイト内オンラインメッセージなど、さまざまな手段で回答を通知。必要に応じてフォローアップの質問をすることもできます。
  • 満足度 100% 保証
    専門家からの回答を確認し評価をすることで、支払うかどうかを決めます。
rushqkに今すぐ質問する
rushqk
rushqk, ソフトウェアエンジニア
カテゴリ: ソフトウェア
満足したユーザー: 14
経験:  AV機器開発、ソフトウェア設計
60440014
ここに ソフトウェア に関する質問を入力してください。
rushqkがオンラインで質問受付中

Access2016でMySQLのODBCドライバを利用して、データをエクスポートする方法 

質問者の質問

Access2016でMySQLのODBCドライバを利用して、データをエクスポートする方法 Access2016でMySQLのODBCドライバを利用して、データをエクスポートする方法が、わかりません。MySQLのODBCドライバは、インストールしています。AccessのVBAでFor Each tdf In db.TableDefs
DoCmd.TransferDatabase acExport, "ODBC", "ODBC;DSN=mysqljinkou;UID=root;PWD=XXXXXX;DATABASE=jXXXXXXX.mdb"
Nextとしています。
実行時エラー3146
[Microsoft][ODBC Driver Manager]データソース名および指定された既定のドライバが見つかりません。(#0)
投稿: 18 日 前.
カテゴリ: ソフトウェア
専門家:  DKK2002 返答済み 17 日 前.

「Access2016でMySQLのODBCドライバを利用して、データをエクスポート」ということですが,アクセスのテーブルをODBCを使ってSQL Serverへエクスポートしたいという事になるのでしょうか。

いきなりエクスポートということではなく,まずは接続が問題なく行えるかどうかの確認をなさってください。

「DSN=mysqljinkou;UID=root;PWD=XXXXXX;DATABASE=jXXXXXXX.mdb"」の部分のすべての情報も正しいという事で間違いはないでしょうか。またこの構文では必要な情報が不足しているようです。

DoCmd.TransferDatabase acExport, "ODBC データベース","ODBC;DSN=作成したODBC名;UID=sa;PWD=パスワードです;DATABASE=データベース名", acTable,"TEST", "TEST1", False

となるはずです。アクセスのテーブルは「TEST」,SQL SERVERのテーブルは「TEST1」ということです。

参考:https://www.sk-access.com/mailmaga/vol180.html

専門家:  DKK2002 返答済み 17 日 前.

恐らくですが,「ODBC;DSN=mysqljinkou」という部分も違っていると思います。「ODBC;FILEDSN=C:\********.dsn」という形で,FILEDSNでDSNファイルを指定していただく必要があると思います。DSNファイルについては以下のページもご参照ください。

参考:https://docs.microsoft.com/ja-jp/sql/integration-services/import-export-data/connect-to-an-odbc-data-source-sql-server-import-and-export-wizard?view=sql-server-2017

質問者: 返答済み 16 日 前.
12362;返事、ありがとうございます。解決まで、よろしくお願いいたします。
DoCmd.TransferDatabase acExport, "ODBCデータベース", "ODBC;DSN=phas;UID=root;PWD=opsxuq55;DATABASE=testdb", acTable, "s2007_okayama_area", "s2007_okayama_area", False
で、エラー2507:ODBCデータベースは、組み込みのデータベースの種類でないか、この操作ではサポートされていない種類です。DSNはファイルの場所設定は行っていません。やり方がわからない。またDSN1個で、MySQLの中の1個のデータベースとの接続と認識しています。
専門家:  DKK2002 返答済み 16 日 前.

"ODBCデータベース"という記述では当然作動はいたしません。それは例文ですので,適切に置き換えていただく必要があります。他の項目も同様です。

DSNファイルの作成については先の回答で解説ページをご紹介しておりますので,ご自身の環境に合わせて作成なさってください。

最初にお知らせしている通り,エクスポートという操作の前に,まずは接続が問題なく行えるかどうかの確認をなさってください。

質問者: 返答済み 16 日 前.
ODBCデータベースは、間にスペースを入れまして、「ODBC データベース」として3151エラーに変化しました。これをどのように変化して記述するのか、どこに記載されていますか?DSNファイルは、*.dsnで検索しても無いようなので、作られていないようです。
専門家:  DKK2002 返答済み 16 日 前.

基本的な部分になりますが,まずは以下のページをご覧いただきながら,Accessからの接続ができる状態になさってください。

http://a1-style.net/redmine/microsoft-access-odbc/

エクスポートするだけであれば,VBAでなくても行なう方法はあります。以下のページもご覧ください。

http://download.nust.na/pub6/mysql/doc/refman/5.1/ja/myodbc-examples-tools-with-access.html#myodbc-examples-tools-with-access-export

質問者: 返答済み 16 日 前.
Access2016の外部データの個所にODBCデータベースが、選択できません。白くなってます。
質問者: 返答済み 16 日 前.
29694;在、モバイルPCでの操作が質問の対象であり、この返信は、別のPCから行っています。Access2016に新たな機能の再インストールは、自宅へ帰ってからのことになります。ご了承ください。
専門家:  DKK2002 返答済み 16 日 前.

ご都合の良い時にご確認ください。

質問者: 返答済み 14 日 前.
Microsoft ODBC for Oracle
のドライバが必要なようです。探したのですが・・場所を教えてください。
専門家:  DKK2002 返答済み 14 日 前.

MySQLをご利用なのではないのでしょうか。なぜOracleなのでしょうか。意味がよくわからないです。

よくわからないままなさっておられるように見えるのですが,こちらのサイトでは手取り足取りという形のサポートは不可能です。この状態ではサポートは難しいのではないかと思われます。

質問者: 返答済み 14 日 前.
MySQLを利用しています。Access2016のデータベースを開き、例えば、Xというテーブルを開き、MySQLにエクスポートを、マニュアルでしようとしていますが、ファイルからのエクスポートの選択はありません。
外部データ、その他、ODBCデータベースを選ぶと、たぶん最初に聞いてくるのが、エクスポート先のテーブルの名前、これを、、同じにして、データソースの選択を聞いてきます。ここでDSNファイルが作成できると思います。ここでの下の説明が、接続するドライバを記述しているファイルデータソースを選択してください、です。新規作成で、出るのが、Microsoft ODBC for Oracleが、それらしく思えます。MySQLはOracle cloudの製品だからです。で、AccsessからMySQLへのODBCを通じてのエクスポートには、microsoft側のOracleへのODBC接続ドライバが必要と思からです。
専門家:  DKK2002 返答済み 14 日 前.

MySQLコネクタは以下のサイトからダウンロード可能です。

https://www.mysql.com/jp/products/connector/

最初に「MySQLのODBCドライバは、インストールしています。」とお書きになっておられましたが,インストールなさっておられなかったのではないのでしょうか。以下もご覧ください。

http://a1-style.net/redmine/mysql-odbc-install/

確かにMySQLはOracleに買収はされましたが,それは会社の話であって,データベースは別物です。商用かオープンソースかの違いとなります。

質問者: 返答済み 14 日 前.
https://msdn.microsoft.com/ja-jp/library/windows/desktop/dn170505%28v=vs.85%29.aspx?f=255&MSPPError=-2147217396
までは、探しました。
お返事の最初のドライバはインストール済みです。これは、MySQLから他のソフトへの接続の特に使うのではないのでしょうか?
Accessがわからの接続は、別のドライバが必要と思います。
専門家:  DKK2002 返答済み 14 日 前.

お知らせしているhttp://a1-style.net/redmine/microsoft-access-odbc/はご覧になられたのでしょうか。MySQL Connector/ODBCを利用して,AccessからMySQLに接続する手順が説明されています。

質問者: 返答済み 14 日 前.
12362;返事ありがとうございます。
専門家:  DKK2002 返答済み 13 日 前.

月曜日の日中は対応が不可ですが,また状況の進展があることを願っております。ただ,こちらのサポートではどこまで対応できるかは予想ができません。難しいかもしれません。

質問者: 返答済み 13 日 前.
MySQLのWorkbenchからのmigrationを試みています。英語サイトの詳しい手順の文書を見つけまして、そこでもやはり、accsess driverが必要なようです。Access Driver ODBCと打って、検索し、大きなドライバーが見つかりました。大きいので、自宅へ帰ってからの作業となります。
質問者: 返答済み 13 日 前.
12381;ちらが示されたものは、http://a1-style.net/redmine/mi…は、ファイルをインストールして、手順通りにやってみましたが、
外部データのリボンで、ODBCデータベースは、選べません。選べる状態にはなっていません。
専門家:  DKK2002 返答済み 13 日 前.

基本的な部分でのご理解が不足している状況だと思いますが,こちらではサポートは難しい状況だと思います。他の専門家が対応するかもしれませんが,私の対応は終了させていただきます。

質問者: 返答済み 12 日 前.
20170;までの、進行を記述します。
検索で、access driver ODBCとしたドライバは、インストールしました。
また、コンパネからのODBCデータソースアドミニストレータ(64ビット)で、名前が、MySQL_ODBC_connect,TCP/IP Serverをlocalhost,Userをroot,passworsはMySQL8.0サーバーのパスワード,Databaseをタブで選んでmysqlのものを追加しました。
そして、AccessのVBAで
'For Each tdf In db.TableDefs
DoCmd.TransferDatabase acExport, "ODBC データベース", "ODBC;DSN=MySQL_ODBC_connect;UID=root;PWD=opsxuq55;DATABASE=testdb", acTable, "account", "account", False
'Next
としました。MySQL側に、testdbは作ってあります。accountというテーブルは不要と思いますが、Access側のAccountテーブルと同じようなフィールドの作りのものも用意しました。
実行すると、ODBC-MySQL_ODBC_connectへの接続が失敗しました。
です。
新しいエンジニアーの方に、ご助言をお願いいたします。
質問者: 返答済み 12 日 前.
20363;えば、jinkou.mdbというデータベースがあり、そこのテーブルをMySQLのtestdbの中へ、すべて、送りたいのです。
データベースを開いて、accountのテーブルを選んだ状態で、外部データ、その他から、ODBCデータベースを選んで、エクスポート先でaccount,下にはODBCデータベースとあります。出力先のテーブル名と思っております。OKで、データソースの選択が出てDSN名に、新規作成でjinkou2、でデータソースの新規作成が出ます。ここで、MySQLのドライバが表示されません。
質問者: 返答済み 5 日 前.
12371;こから、解決まで、何とかサポート願えませんでしょうか?追加料金が必要なら、お支払いいたします。

ソフトウェア についての関連する質問