質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Oracle Database

Oracle Databaseは、米オラクルが開発・販売を行うリレーショナルデータベース管理システムです。

Oracle

Oracleは、米オラクルが取り扱うリレーショナルデータベース管理システムです。メインフレームからPCまで、多様なプラットフォームに対応しています。

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

VBScript

VBScript(Visual Basic Scripting Edition)はMicrosftが開発したスクリプト言語であり、Visual Basicのサブセットです。

サーバ

サーバは、 クライアントサーバモデルにおいてクライアントからの要求に対し 何らかのサービスを提供するプログラムを指す言葉です。 また、サーバーソフトウェアを稼動させているコンピュータ機器そのもののことも、 サーバーと呼ぶ場合もあります。

Q&A

解決済

1回答

3078閲覧

Oracleサーバを新しいサーバに変更したらoraOLEDBで繋がらなくなりました。

TTTTTTT

総合スコア1

Oracle Database

Oracle Databaseは、米オラクルが開発・販売を行うリレーショナルデータベース管理システムです。

Oracle

Oracleは、米オラクルが取り扱うリレーショナルデータベース管理システムです。メインフレームからPCまで、多様なプラットフォームに対応しています。

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

VBScript

VBScript(Visual Basic Scripting Edition)はMicrosftが開発したスクリプト言語であり、Visual Basicのサブセットです。

サーバ

サーバは、 クライアントサーバモデルにおいてクライアントからの要求に対し 何らかのサービスを提供するプログラムを指す言葉です。 また、サーバーソフトウェアを稼動させているコンピュータ機器そのもののことも、 サーバーと呼ぶ場合もあります。

0グッド

1クリップ

投稿2020/07/03 05:21

前提・実現したいこと

Oracleサーバを新しいサーバに変更したらVBSで繋がらなくなりました。
しかし、他の方法では接続し更新もできます。(SQLPLUS)

今までoracleにVBSでADODBを使って接続しレコードをインサートしていました。
先日サーバが変わったらしく、新しいホスト名とSIDを頂いてVBSの接続情報も更新しました。
ユーザ名パスワードはサーバ変更前と同じです。

こちらからわかる、サーバ変更前と違う情報としては、
①ホスト名がサーバ名指定がIPアドレス指定になった
⇒例えば、「hogehoge」だったのが「0.0.0.0」の形式になった

②SIDの形式が変わり、以前の名前の後に「ドメイン名.co.jp」がつくようになった
⇒例えば、以前「hugahuga」だったが今は「hugahuga.domainname.co.jp」となった

①、②以外に変わったという情報がありません。

VBS上でData Sourceを作るロジックになっております。
⇒例えば、「Provider=OraOLEDB.Oracle;Data Source=(DESCRIPTION = ( ADDRESS = (PROTOCOL = TCP) (HOST = 0.0.0.0)(PORT = 1521)(CONNECT_DATA = (SERVER = DEDICATED) (SID = hugahuga.domainname.co.jp)));User ID=huga;Password=piyo;」といった内容です。

発生している問題・エラーメッセージ

Oracleサーバを新しいサーバに変更したら繋がらなくなりました。 エラーメッセージなのですが、ADODBのERRORSオブジェクトを記載しても取得できず内容が見れません。

試したこと

他のPCでSQLPLUSから同じユーザとパスワードで接続し更新することができました。

明確な情報が少なく申し訳ありませんが、こういった事象の時に確認すべきポイントを教えてください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Orlofsky

2020/07/03 06:01

Oracle Database のバージョン(パッチを含む)は変わっていませんか? 新旧両方のサーバーでSYSユーザーから SELECT * FROM V$VERSION ; を比較する。 質問にVBSのOracle に接続する部分を新旧両方とも追記する。 コマンドプロンプトから lsnrctl status の内容をIPアドレスをxxx.xxx.xxx.xxx などとして質問に追記しては?
TTTTTTT

2020/07/10 07:00

お返事ありがとうございます。 情報収集の方法をご教示頂きありがとうございます。 知見が無くどのような情報を載せて質問したら良いかもわからず混乱していたので、大変助かります。 今後、oracle関連で質問をする際に手順を参考にさせていただきます。
guest

回答1

0

ベストアンサー

まずはバージョンの確認かと。

「Oracle Client / Server Interoperability Support」
https://www.oracle.com/jp/system-requirement/interoperability-support-195844-ja.html

少し新しい表がありました。

Client / Server Interoperability Support Matrix for Different Oracle Versions (Doc ID 207303.1)
https://oraclefact.wordpress.com/2018/04/05/client-server-interoperability-support-matrix-for-different-oracle-versions-doc-id-207303-1/

サポートされている組み合わせであれば、以下の URL を参考に UDL ファイルを作ってテストしてみてください。

「OLE DB接続に利用できるプロバイダを調べる方法。」
https://tihiro.hatenablog.com/entry/2018/09/13/162238

テストが成功したら UDL ファイルをメモ帳で開くと、それが ADO の接続文字列になります。

投稿2020/07/03 08:52

編集2020/07/03 08:59
KOZ6.0

総合スコア2707

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

TTTTTTT

2020/07/10 06:57

ご回答ありがとうございます。 本日、試しに接続文字列の「SID =」の部分を「SERVICE_NAME」に変えてみたところ接続できました。 ご記載いただいた手順につきまして、大変参考になりました。 今後またoracle関連の接続で困った際に使用させて頂きます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問