下記のperlのソースでエラーになる。
use DBIx::Custom;
my $dbi = DBIx::Custom->connect(
dsn => "dbi:ODBC:Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=C:/Users/usui/Documents/Access/目標管理/151225.accdb"
);
下記のエラーが出る。
DBI connect('Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=C:/Users/usui/Documents/Access/目標管理/151225.accdb','',...) failed: [Microsoft][ODBC Driver Manager] データ ソース名および指定された既定のドライバーが見つかりません。 (SQL-IM002) at C:/Perl64/site/lib/DBIx/Custom.pm line 1656.
(DBIx::Custom::_connect) at C:\Users\usui\Documents\Access\目標管理\02.pl line 2.
perlのDBIx::Customはperldocで確認を取っています。odbcドライバーのインストールは終わっていますがそれ以外の設定が有るのでしょうか。
特にデータソースなどの設定はしていないのですが。詳しい方の説明をお願いします。
No.2
- 回答日時:
Perlについては皆目わかりませんが、ODBCドライバの対応Bit数が原因かも?
ExcelでODBCを使用して似たようなエラーになったことがあります。
OSが64Bitである場合、
ODBCを利用するアプリが32/64Bitにかかわらず64Bit版ODBCを参照しようとします。
そちらのエラー内容からC:\Perl64\site・・・なので
OS・Perlともに64BitのようですがODBCのドライバはどうなっていますか?
コントロールパネル→管理ツール→データソース(ODBC)から
ドライバータブにAccess のがありますか、(この場合は64Bit版が開きます)
Excelでトラブった時には32Bit版管理ツールでシステムDSNを作成して対処しました。
64Bit版→C:\Windows\System32\odbcad32.exe
32Bit版→C:\Windows\SysWOW64\odbcad32.exe
まずは、ご確認を。
dsnには二つのタブが有り、ユーザーdsnにはMS Access Databaseは有り
ますが。システムdsnには一切のドライバーは有りませんが。これが、
災いをしているのでしょうか。
宜しく、回答願います。
No.3
- 回答日時:
先にも申しましたようにPerlについてはサッパリ…です。
ODBCの確認については、
64Bit版→C:\Windows\System32\odbcad32.exe
を立ち上げて
(コントロールパネル→管理ツール→データソース(ODBC)
を開くのと同じことです)
そのODBCデータソースアドミニストレーターのドライバータブに
Access関連のがあれば、私の見立て違いですので以下は読み捨ててください。
デフォルト状態だとSQL Serverしかないはず。
ODBCデータソースアドミニストレーターはもう一個隠されていて
32Bit版→C:\Windows\SysWOW64\odbcad32.exe
ですのでこっちのドライバータブには標準で入っているはずです。
(32Bit版と64Bit版を同時に立ち上げることはできません。)
32Bit版で「システムDSNタブ」を選択し
Microsoft Access Driver(*.mdb,*.accdb)を追加して
適当な名前で保存します。
VBAではこれでOKなのですが、肝心のPerlについては・・・なので
『perl odbc 32bit』でGoogleと古い記事ですが
http://www.tryhp.net/ODBC.htm
参考になるかもです。
骨折り損な結果になるかもしれませんがご容赦を。
こちらのカテゴリで再質問された方がよさそう?ですね。
https://oshiete.goo.ne.jp/category/255/
有難う御座います。
ユーザーdsnとシステムdsnの違いが分かりませんが。
ユーザーdsnには入っていますが、システムdsnには入っていません。
このシステムdsnに入っていないと使えないのでしょうか。
宜しく、お願いします。
No.4ベストアンサー
- 回答日時:
64Bit版のODBCデータソースアドミニストレーターで確認されたのですよね?!
ユーザーDSNに見える『MS Access Database』は32Bit版のが表示されているだけです。
『構成』ボタンを押してもエラーで叱られるだけです。
http://support.microsoft.com/kb/942976/ja
より抜粋
「64 ビット版の ODBC アドミニストレーター ツールは、64 ビットのシステム DSN、32 ビットのユーザー DSN、および 64 ビットのユーザー DSN を表示します。」
繰り返しになりますが、ドライバータブを開いてそこにAccess 関連のドライバーがあるか確認を。
そのうえで
OSとPerlの32/64Bitの明記も合わせてPerlカテゴリで再質問されては?
環境を構築して検証しつつ回答できればよいのでしょうけどPerlは不明のため
ミスリードが怖いのでこの辺が限界です。
下記で確認しました。
64Bit版→C:\Windows\System32\odbcad32.exe
と言う事は、64ビット版のドライバーはインストールしていない
と言う事でしょうか。ユーザーdsnにある
Microsoft Access Driverは32ビット版と言う事でしょうか。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) EXCELの外部データ取得ができない 1 2023/03/23 09:03
- Access(アクセス) Access DAOのExecuteメソッドのオプション(RecordsetOptionEnum)に 1 2022/09/19 07:34
- MySQL 参考書に従って入力したつもりでしたが、最後はエラーがでました。 1 2022/09/28 03:45
- その他(Microsoft Office) こんにちは。Windows10でaccess(拡張子accdb)を右クリックし、プロパティ→全般タブ 1 2023/02/03 19:14
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- Perl Perl の外部モジュールの利用方法 3 2022/07/10 18:34
- Visual Basic(VBA) ExcelからAccessのテーブルに書き込む時に時間がかかる 1 2022/10/14 20:38
- Visual Basic(VBA) access count数を変数に格納 2 2022/03/30 19:21
- MySQL データベースの複製の仕方(mysql) 2 2023/05/30 18:24
- その他(コンピューター・テクノロジー) WO mic のUSB接続でエラーが出ます。 1 2022/07/09 09:58
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
perlをバージョンアップしたら...
-
VBSがコンパイルエラーになりま...
-
【python】requestsでdataとし...
-
POSTで送信するとエラーになる
-
SMTP-AUTH でメール送信
-
教えて下さい。
-
powershellで引数受け取り時に...
-
エクセルVBAでシートモジュール...
-
「デバイスは PRN を初期化でき...
-
Excel VBA 『Call』で呼び出す...
-
VBA This Workbookモジュール...
-
Excel VBAでリンク切れをチェッ...
-
VBAで旧字体を異字体に一括で変...
-
例外処理のフローチャートの記...
-
モジュールとクラスの違いって...
-
VBでグローバル変数を宣言するには
-
VBAで別モジュールへの変数の受...
-
【vba】フォームに書いてあ...
-
VBAでoutlook365が起動しません。
-
Perl モジュールのアンインスト...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBSがコンパイルエラーになりま...
-
教えて下さい。
-
perlをバージョンアップしたら...
-
【python】requestsでdataとし...
-
POSTで送信するとエラーになる
-
WebClientの文字列送信にてエラー
-
SWI-Prologでのエラーに関して
-
メールアドレスについて
-
erf(x)とerfc(x)のカタカナ読み...
-
データベースが返すエラー文字...
-
VBscriptのエラーメッセージの...
-
ラズパイ4からGmailへの...
-
VBからブラウザの表示状態(リ...
-
windows7のperlでaccdb接続でエ...
-
英字のみを検索する正規表現に...
-
w3cの検証エラー?
-
逆行列(Maxima)
-
LWPでtimeoutがうまくいかない
-
powershellで引数受け取り時に...
-
Pythonプログラミングでエラー
おすすめ情報