Rainbow Engine

IT技術を分かりやすく簡潔にまとめることによる学習の効率化、また日常の気付きを記録に残すことを目指します。

Microsoft OracleDB PowerBI

Power BI Desktopで Oracle ORA-12504 エラーが出た時の対処方法

投稿日:2023年1月6日 更新日:

 

<目次>

Power BI Desktopで Oracle ORA-12504 エラーが出た時の対処方法
 エラー内容
 再現手順
 原因
 対処方法
 関連するエラーについて

Power BI Desktopで “Oracle: ORA-12504: TNS:listener was not given SERVICE_NAME in CONNECT_DATA” エラーが出た時の対処方法について

エラー内容

Power BI Desktopで「ホーム」→「データを取得」の画面から「Oracle Database」に接続する際に、下記エラーが発生しました。

(図111)

(エラーメッセージ)

接続しようとしているときにエラーが発生しました。
詳細 : "Oracle: ORA-12154: TNS:could not resolve the connect identifier specified"

目次にもどる

再現手順

・① Power BI Desktopで「ホーム」→「データを取得」から「Oracle Database」を選択し、「接続」を押下。
(図110①)

・②「DBサーバ名 / データソース名(tnsnames.ora の左辺)」を入力
(例)tk2-262-40837.vs.sakura.ne.jp/orcl
(図110②)

・③ ユーザー名 / パスワードを入力
(図110③)


▲ 冒頭のエラーが発生

目次にもどる

原因

  • 原因として考えられるのは、DBの「tnsnames.ora」が設定されていないことです。
  • 「tnsnames.ora」は、DB接続時の接続情報(ネットワークサービス名 vs ホスト名・ポート・SID)を定義するファイルです。
  • DBサーバ側でこのファイルが正しく設定されていない場合、クライアントから接続に失敗する可能性があります。
  • また、「tnsnames.ora」は存在していても、(図110②)の画面で「データソース名(tnsnames.oraの左辺)」を正しく入力していない場合も、同様のエラーが発生します。

目次にもどる

対処方法

以下の作業を DB サーバ上で実施します。
(※ Oracle DB をローカル端末にインストールしている場合は、ご自身の端末上での作業になります)

・① tnsnames.ora ファイルのサンプルを以下ディレクトリから取得し、(Admin 配下に無い場合)1つ上の Admin 配下にコピーします。

[ご自身のディレクトリ]\product\12.2.0\client_1\Network\Admin\Sample
(図112①)

(図112②)

・② コピーした tnsnames.ora を以下のように修正します。

(Before)

 =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = )(PORT = ))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = )
    )
  )

(After)

ORCL =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = tk2-262-40837.vs.sakura.ne.jp)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl)
    )
  )

(備考)
<hostname or IP> ⇒ DBサーバのホスト名またはIPアドレス
<port> ⇒ Oracle DBのポート番号
<data source alias> ⇒ SID

(図113)

・③ 再度接続
⇒ 接続成功
(図114)

目次にもどる

関連するエラーについて

● エラー
(図211)

(エラーメッセージ)

接続しようとしているときにエラーが発生しました。
詳細:"Oracle: ORA-12504: TNS:listener was not given SERVICE_NAME in CONNECT_DATA"

● 原因
サーバ名入力欄で「ホスト名 / データソース名(tnsnames.ora の左辺)」を入力すべきところ、ホスト名のみを指定していたため、リスナーがサービス名を識別できなかったことが原因です。

(NG例)tk2-262-40837.vs.sakura.ne.jp
(図212)

● 対策
サーバ名は「ホスト名 / データソース名(tnsnames.ora の左辺)」で指定します。
※ ホスト名とデータソース名の間はスラッシュ「/」で区切ります。

(OK例)tk2-262-40837.vs.sakura.ne.jp/orcl
(図213)

目次にもどる

Adsense審査用広告コード


Adsense審査用広告コード


-Microsoft, OracleDB, PowerBI
-

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

Azure Synapse AnalyticsのパイプラインからREST APIを呼び出す方法

  <目次> Azure Synapse AnalyticsのパイプラインからREST APIを呼び出す方法  やりたいこと/概要  STEP0:前提  STEP1:事前準備  STEP2: …

JavaのJDBC接続でjava.sql.SQLRecoverableException: Closed Connectionが発生した時の解決メモ

(0)目次&概説 (1) エラー事象の概要  (1-1) エラーの発生状況  (1-2) エラーメッセージ全文 (2) エラーの原因 (3) エラーの対処方法  (3-1) エラーの修正内容  (3- …

Linuxサーバ(CentOS6)にOracleDB11gをインストールする(その3)

目次 (5)リスナーの作成(netca)  (5-0)リスナーについての概要  (5-1)netcaの起動(netca)  (5-2)リスナー設定  (5-3)リスナー名の設定  (5-4)リスナーの …

OracleDBのexpdp/impdpで発生したエラー対処[ORA-39002,ORA-39070,ORA-39087]&[ORA-39083,ORA-01658]

(4) エラー対応  (4-1) エラー1:ORA-39002,ORA-39070,ORA-39087   (4-1-1) 発生状況・エラーメッセージ   (4-1-2) 原因   (4-1-3) 対 …

Teams会議にゲスト参加する手順をご紹介

  <目次> (1) Teams会議にゲスト参加する手順をご紹介  (1-1) Teams会議のゲスト参加とは?  (1-2) ゲスト参加の手順 (1) Teams会議にゲスト参加する手順を …

  • English (United States)
  • 日本語
Top