アプリ版:「スタンプのみでお礼する」機能のリリースについて

お世話になります。

Excelで[データ]-[外部データの取り込み]-[データの取り込み]-[新しいソース]
-「ODBC DSN」-「接続するODBCデータソース」-「OracleDNS」
-「Oracle ODBCドライバ接続」ではOracleに接続する事は出来、データも
Excel上に表示する事が出来ました。

しかし、下記HPの
http://www.atmarkit.co.jp/fdb/rensai/excel2oracl …
サンプルコードを元にVBAコードを作成したのですが、
'データベース接続処理がうまくいっていない様で、

Err_Han:
' エラー処理
MsgBox (Err.Description)

で、「ORA-12154:TNS: 指定された接続識別子を解決できませんでした」
と言うエラーになってしまいます。

VBAにてADOの参照設定とかしていないのですが原因はそれでしょうか。

どなたかご親切な方、ご教示くださいます様、宜しくお願い致します。

A 回答 (4件)

No.2です。



>Excelで[データ]-[外部データの取り込み]-[データの取り込み]-[新しいソース]
>-「ODBC DSN」-「接続するODBCデータソース」-「OracleDNS」
>-「Oracle ODBCドライバ接続」ではOracleに接続する事は出来、データも
>Excel上に表示する事が出来ました。
なのだから、DSNはあるのですよね。すみません。

実を言うと、私は通常ADO+OLE DBを使っているのでODBCに関しては良くわかりません。
・・・申し訳ありません

ADO+OLE DB は特にソフトをインストールなどは必要ありません。
(「ADOの参照設定とかしていないのですが」とありますが、そのエラーならばActiveX Data Objects に参照設定されていると思います。それ以外の設定は特にありません)
こちらの方が(oo4oよりは劣るにしても)パフォーマンスが多少良いとのことですし、一度試されてはいかがでしょうか。
    • good
    • 0
この回答へのお礼

ご回答頂き有難うございます。
ADO+OLE DBを試してみました。
そしてうまく行きました。
しかも処理が早かったです。
本当に有難うございました。

お礼日時:2012/02/03 22:14

#1です。

ソースを見てないので、「その前段階をチェック」の方針で回答しますが。

TNSPINGが通ったのであれば、次はODBC単体でのテストを行ってみる。

※エクスプローラの設定で、拡張子を表示できるようにしておいてください。

デスクトップででも、どこでも良いので、右クリック>新規作成で、新規テキストを作成。
名前は、ファイル名は何でも良いので拡張子をUDLとする。
(Universal Database Linkの略)
表+PCみたいなアイコンになるので、起動。

作成済みODBCソース名を選択して、接続IDとパスワードを設定して、「接続をテスト」。
接続文字列を新たにビルドすることもできます。

これも通るのであれば、後はアプリの問題です。
    • good
    • 0
この回答へのお礼

ご回答頂きありがとうございます。

エクスプローラの設定で、拡張子を表示できるようにする
やり方が良く分かりません。

新規テキストを作成と言うのは、メモ帳で良いのでしょうか。
拡張子をUDLとしましたが、表+PCみたいなアイコンに
なっていません。

とりあえず、ADO+OLE DBでうまくはいったのですが、
ご回答頂きました内容についてもう少し調べてみます。

有難うございました。

お礼日時:2012/02/03 22:18

>しかし、下記HPの


http://www.atmarkit.co.jp/fdb/rensai/excel2oracl …
>サンプルコードを元にVBAコードを作成したのですが、

こちらに3種類のサンプルが提示されていましたが、このうちどちらを使いましたか?
一番初めのADO+ODBCをもとにして、DSNの設定がされていないのかもしれません。

ODBCを介さず2番目のADO+OLE DBで作成されたらどうでしょうか。
    • good
    • 0
この回答へのお礼

ご回答有難うございます。
サンプルは一番初めのADO+ODBCをもとにして
作成して見ました。
DSNの設定が必要なのですね。
出来ましたらどの様に設定したら良いか、
参考になる様なHPでもご紹介頂ければ
ありがたいのですが・。

又、ODBCを介さず2番目のADO+OLE DBでの
作成は特に何かのソフトをインストールするとか
は必要ないのでしょうか。又何か設定とか必要
なのでしょうか。

ど素人な質問ばかりで申し訳ございませんが、
ご教示下さいます様、宜しくお願い致します。

お礼日時:2012/02/01 18:34

コマンドプロンプトを開いて、TNSPINGを打ってみる。


このレベルで、エラーなら、アプリでも当然エラーになります。
    • good
    • 0
この回答へのお礼

有難うございました。
TNSPINGを打って見ましたら問題なく通りました。
何か別の原因の様ですね。

お礼日時:2012/02/01 18:28

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す