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

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

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

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

Oracle

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

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

データベース

データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

VB.NET

Microsoft Visual Basic .NETのことで、Microsoft Visual Basic(VB6)の後継。 .NET環境向けのプログラムを開発することができます。 現在のVB.NETでは、.NET Frameworkを利用して開発を行うことが可能です。

Q&A

解決済

3回答

1414閲覧

WindowsアプリケーションのクライアントPC設定について

pon108

総合スコア19

Oracle Database

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

Oracle

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

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

データベース

データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

VB.NET

Microsoft Visual Basic .NETのことで、Microsoft Visual Basic(VB6)の後継。 .NET環境向けのプログラムを開発することができます。 現在のVB.NETでは、.NET Frameworkを利用して開発を行うことが可能です。

0グッド

0クリップ

投稿2020/10/06 00:44

編集2020/10/06 01:57

前提・実現したいこと

いつもお世話になっております。
Windowsアプリケーション(Windows Forms)を作成する中でどうしても分からない事がありますので質問させていただきます。

アプリケーションの仕様として
・OracleのDBから情報を引き出す
・OracleのDBから引き出したデータを加工してSQLServerに保存
このようなものを作成しています。

アプリケーション自体は出来て、開発PCでは各DBへ接続してデータを取得、保存までは出来ているのですが
これをクライアントPCで行うためには各PCでOracleへ接続を行うための設定を行う必要があると思います。

ただクライアントPCを全て自分で設定するわけにもいかないので
クライアントが自分で設定を出来るようにしたいのですが、PC操作に慣れていない方も多数で
そのような方でも簡単に設定できる方法などありますでしょうか?
※Oracleドライバをインストールして、ODBCの設定までを行う方法を簡単に出来る様にしたいです。

ちなみにSqlSererへの接続は各クライアントPCでも出来る状態なのでOracleへの接続設定のみとなります。
アプリケーション側での接続はODBCで接続を行うようにしています。
アプリケーションの配布はVisual studioの配布を使用する予定です。

勉強をしながらの質問となっており、内容に不足な点等あるかも知れません。
都度追記、回答をさせていただきますので、お手数ではありますがご指摘のほど、よろしくお願い致します。

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

初めての試みなので何をどうすればいいのか、また職場に質問できる人も居ないので
困っています。

試したこと

参考サイトを頼りに
・instantclient-basic-windows
・instantclient-odbc-windows
この2点をインストールして配布用に解凍したファイルを一つのファイルにまとめました。

これを各クライアントPCに設定をする必要があると思うのですが
環境設定などの設定を簡単にしたいです。

補足情報(FW/ツールのバージョンなど)

開発環境
Visual studio2019
Oracle11

開発言語
VB.NET

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

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

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

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

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

退会済みユーザー

退会済みユーザー

2020/10/06 00:52

何を作っているか (Windows Forms? WPF? その他?) を質問の一行目に追記してください。
pon108

2020/10/06 00:56

回答ありがとうございます。 質問内容に不備があり、申し訳ありません。 ご指摘いただいた内容を修正させていただきましたのでご確認お願い致します。
退会済みユーザー

退会済みユーザー

2020/10/06 01:23

> ちなみにSqlSererへの接続は各クライアントPCでも出来る状態なのでOracleへの接続設定のみとなります。 以下のような構成にしたいということなのですか? Windows Forms アプリ ⇔ DB サーバー (SQL Server / Oracle) SQL Server への接続はどうなっているのですか、SQL Server 認証で接続文字列に認証用の ID とパスワードをハードコーディングして ADO.NET + SqlClient で接続しているのですか? であれば、Oracle で同様なことができないのはどういうわけでしょう?
pon108

2020/10/06 01:30

その通りです。 SQL Serverへの接続は仰るようにハードコーディングして接続しています。 Oracleも同様の方法で接続できるということでしょうか? 確認不足で申し訳ありませんが、確か以前接続出来ないなどのエラーが発生した記憶があり、確認できていませんでした。 仕事場へ戻り次第、検証してみます。
退会済みユーザー

退会済みユーザー

2020/10/06 01:42

> 開発PCでは各DBへ接続してデータを取得、保存までは出来ているのですが ということですが、それはどのようにしたのですか? SQL Server と似たようなことになっていて、やはり接続文字列がハードコーディングされているのでは? であれば、 > ちなみにSqlSererへの接続は各クライアントPCでも出来る状態 ということなので、Oracle でも同じだと思うのですが、何が問題なのでしょう?
退会済みユーザー

退会済みユーザー

2020/10/06 01:53 編集

今更やり方を根本的に変えるのは無理&余計なお世話かもしれませんが・・・ クライアント PC から直接 SQL Server / Oracle に接続を許すのはセキュリティ的な問題が大きすぎると思います。以下のような構成に変更してはいかがですか? Windows Forms ⇔ ネット ⇔ Web サーバー / Web API ⇔ DB サーバー または、 ブラウザ ⇔ ネット ⇔ Web サーバー/Web アプリ ⇔ DB サーバー
pon108

2020/10/06 02:05

セキュリティ面のアドバイスありがとうございます。 情報セキュリティやコーディングなど完全独学にて進めているため、このようなアドバイスは本当にありがたいです。 ネットへの繋ぎ方など一から勉強になるので今回は一旦このまま進めていきたいと思います。 ただ同時進行で勉強はしていき出来そうであれば取り組んでみたいと思います。 質問の結果に関しては職場に戻り、検証した後に報告させていただきます。
退会済みユーザー

退会済みユーザー

2020/10/06 02:09

ひょっとして、ODP.NET を使っていて、開発マシンでは ODP.NET をインストールした際に GAC に登録されているので参照設定だけで使えるが、クライアント PC には ODP.NET がインストールされてないのでダメという話ですか?
YAmaGNZ

2020/10/06 02:17

最初からODBC接続と書いてありますが、どこからWebやらODP.NETやら出てきたのでしょうか?
退会済みユーザー

退会済みユーザー

2020/10/06 02:58

YAmaGNZ さん> 質問者さんに聞いていることなので少し黙っていてもらえませんか。
pon108

2020/10/06 14:27

返信遅くなりました。 確認のありましたODP.netは使用しておりません。 またADO.netでハードコーティングしてOracleへの接続を試みましたが接続出来ませんでした。 やはりドライバの問題みたいです。
退会済みユーザー

退会済みユーザー

2020/10/06 23:23

> 確認のありましたODP.netは使用しておりません。 それは開発マシンの話と理解して良いのですね? Visual Studio 2019 で開発していると言うことでしたので ODT をインストールしていて、そのとき ODP.NET も一緒にインストールされていると思っていましたが。 > またADO.netでハードコーティングしてOracleへの接続を試みましたが接続出来ませんでした。 それはどういう意味ですか? 開発マシンからは Oracle に接続できていたのではなかったのですか?
pon108

2020/10/06 23:41

もしかしたら私がADO.netの意味を間違っているかもしれません。 私が試したことはoledbというものを使用して接続しようとしていました。 接続が出来ていた時はodbc接続の時です。
退会済みユーザー

退会済みユーザー

2020/10/06 23:56 編集

ということは、開発マシンには自分で Oracle 用の ODBC ドライバをインストールしていて、Oracle には ADO.NET + ODBC ドライバで接続して使っていたということですね。理解が遅くてすみません。
pon108

2020/10/07 00:03

それで合ってます。 なのでクライアントPCにも同様にドライバとODBCの設定が必要だと思い、質問をさせていただきました。 ただインストールしたOracle Clientが最新版がいいと思い19というのをダウンロードしたのですが、参考サイトを頼りにしてもインストール出来ない状態です。
退会済みユーザー

退会済みユーザー

2020/10/07 01:15 編集

クライアントどころか、開発者がまず手動でインストールできないのではお話にならないので、必要要件とインストールの手順を確認した方が良いかと思われます。Visual C++ 再頒布可能パッケージ(バージョンは忘れた)辺りもインストールが必要だった気がします。 (正直、メジャーな製品にも関わらず未だにまともなクライアント向けインストーラー用意してないOracleもどうかとは思うけど)
退会済みユーザー

退会済みユーザー

2020/10/07 04:31

開発環境を自分で設定して Oracle に ODBC 接続できるようになったのなら、何をダウンロードして、どのようにインストールして、環境変数その他どのように設定して使えるようになったのか具体的な手順は分かっているのですよね。 ならば、Oracle Client とかを最新版にする必要はなく(というより、するべきではない)、質問者さんが開発マシンで行ったことを文書化して、インストーラやバッチファイルで自動化できるところはそうして、質問者さんが自動化できないところはやむを得ないので文書を配布することで対応する他ないのでは?
guest

回答3

0

ベストアンサー

ODBCCONF.EXEを利用されてはどうですか?
バッチファイルを作るなり、インストーラから実行するなりできるかと思います。

投稿2020/10/06 01:01

YAmaGNZ

総合スコア10294

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

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

pon108

2020/10/06 01:20

回答ありがとうございます。 いつも本当にお世話になっております。 ODBCCONF.EXEをさっそくググってみました。 これでバッチファイルを作成するという事ですが、バッチファイルをどのように書けばいいか分かりません。 参考サイト等を確認してみましたが、本当に初歩的なことしか分からず、今回のようにインストールをして設定するという内容をどのようにすればいいでしょうか? 参考サイトなど教えていただけると助かります。
YAmaGNZ

2020/10/06 01:35

"odbcconf oracle"とググればOracleのODBC設定のサンプルが出てくるかと思います。 それをインストール先のPCにて実行してみて、ODBC設定がされているか確認してみてください。
pon108

2020/10/06 01:45

ありがとうございます。 何か所が確認したところサイトの設定はOracleドライバがインストールされている前提となっている気がするのですが、検索不足でしょうか?
YAmaGNZ

2020/10/06 01:49

ODBCの接続設定を簡単に行いたいという質問ではないのですか?
pon108

2020/10/06 01:55

質問時の説明不足、申し訳ありません。 Oracleドライバをインストールするところからの設定となります。 質問に追記させていただきます。
YAmaGNZ

2020/10/06 02:41

インストール先のPCに参考にされたページの手順を手動で実行し、ODBC設定も手動で行った場合は正しくアプリケーションを正しく動作させることは出来ているのでしょうか? そうなのであれば、各手順をバッチファイルで記述するなりすればいいのではないかと思います。 環境変数はsetxを使えば出来るでしょうし、tnsnames.oraは事前に準備したものを入れておけばいいかと思います。 ODBC設定はodbcconfを使えば設定できるでしょうし、1つのバッチファイルで全部行えるのではないでしょうか?
pon108

2020/10/07 00:06

教えていただいようにまずは手動でインストール出来るか確認しようとしたところ、インストール出来ませんでした。 コマンドプロントから実行すると「互換性が…」と出てきて、ドライバ自体は入ったように見えてるのですが、いざ選択して接続をしようとすると「ドライバがありません」みたいなエラーになります。
pon108

2020/10/09 08:57

回答が遅くなり大変申し訳ありません。 いただいたサイトを参考に同様の設定にしたところクライアントPCで接続することが出来ました。 ダウンロードをする際にプロファイル作成の部分で少し困りましたが… あとはここからバッチファイルの作成を手探りになりますが行っていきたいと思います。
guest

0

Oracle Database, Oracle Client for Windows ソフトウェア要件 できちんとソフトウェア要件を満たしている環境を用意していますか?
時々、ソフトウェア要件外に命をかけて、力尽きて消えていく人がいます。

投稿2020/10/06 05:18

Orlofsky

総合スコア16415

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

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

0

そういう設定を自動的に行えるように、インストーラ、というものがあります

投稿2020/10/06 00:53

y_waiwai

総合スコア87800

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

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

pon108

2020/10/06 01:03

回答ありがとうございます。 知識不足で申し訳ありません。 Oracleのインストーラということでしょうか?
y_waiwai

2020/10/06 01:10

あなたの作っているというアプリを、使うことができるようにコピー&設定、その他いろいろするのがインストーラと言うもんです そいつにOracleの設定もさせましょう。 早い話、そういう設定をするプログラムを作ろう、ということになりますが
pon108

2020/10/06 01:33

別の回答者様の回答にあったようにバッチファイルを作成して行うということですね。 バッチファイルは作成をしたことがないので参考に出来るサイトがないか検索をしてみます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問