状況
1つのOSに、データベースとクライアントを入れてODBCのとき。
slqplusは問題なく、ODBCで ORA-12154 になる。
解決
%ORACLE_HOME% のディレクトリを確認
・データベース用 dbhome_1 と クライアント用 client_1 に分かれてた。
…/dbhome_1/NETWORK/ADMIN の listener.ora と sqlnet.ora をコピー
…/client_1/NETWORK/ADMIN に貼り付け
実行して接続できるか確認。
※slqplusは、dbhome_1 を見に行って、ODBC は client_1を見に行って、でもsqlnet.oraが無くて ORA-12154 になってた模様。