C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[12]: Oracle10gExpressEditionの接続について


(過去ログ 88 を表示中)

[トピック内 13 記事 (1 - 13 表示)]  << 0 >>

■52058 / inTopicNo.1)  Oracle10gExpressEditionの接続について
  
□投稿者/ 裕猫 (158回)-(2010/07/30(Fri) 09:59:27)

分類:[データベース全般] 

開発環境
WindowsXP_Pro_SP3 VisualStudio2008C# IE8
こんにちは 今度はデータベースでお聞きしたいことができました。
以前Oracle10gExpressEditionの記事を見てダウンロードしてみました。
Oracle Database 10g Express Edition (Universal)
Oracle Database 10g Express Client
の2つのプログラムをおとしOracle Database 10g Express Edition (Universal)をインストーラの指示に従ってインストールし、ホームページでホーム>管理>データベース・ユーザーの管理でHRのロックをはずしユーザー権限を全てチェックし使えるようにしました。

で、インストールしたパソコンでC#でプログラムを作り使用していて問題なく動作していたのでやったね(^ ^)V とおもっていたのですが、別のパソコンにOracle Database 10g Express Clientを入れてそちらからプログラムを実行したらデータベースの接続に失敗しましたというエラーを出して操作ができません。
インストールはインストーラの指示どうりやっただけで、他に何も設定等はしていません。あと何をどうすればクライアントからの接続ができるようになるのでしょうか?いろいろ調べていますがマニュアルが英語だったりLINUX版だったり、的をえません。

ホーム>管理の右のタスクにHTTPアクセスの管理があって、ローカル・サーバーからのみ使用可能にチェックマークがついていたので
ローカル・サーバーおよびリモート・クライアントから使用可能 にチェックを付けて適用しようとするとIEが対応していません
というエラーを出します。その後再度見に行くとチェックマークはローカル・サーバーおよびリモート・クライアントから使用可能に
なっていましたが、相変わらずクライアントからはデータベースの接続に失敗しましたのエラーで操作できません。
どうしたらクライアントからの操作ができるようにできるでしょう?ご存知の方がいらっしゃいましたらご教授ください。よろしくお願いいたします。

引用返信 編集キー/
■52080 / inTopicNo.2)  Re[1]: Oracle10gExpressEditionの接続について
□投稿者/ はつね (1308回)-(2010/07/30(Fri) 12:30:17)
No52058 (裕猫 さん) に返信
> で、インストールしたパソコンでC#でプログラムを作り使用していて問題なく動作していたのでやったね(^ ^)V 
> とおもっていたのですが、別のパソコンにOracle Database 10g Express Clientを入れてそちらからプログラムを
> 実行したらデータベースの接続に失敗しましたというエラーを出して操作ができません。

(1)
「リモートHTTP接続を有効」は管理画面をリモートから使うときの話でプログラム空のときは関係ありません。
リモートからの接続時にはどのような文字列で接続しているのでしょうか。

(2)
Oracle Database 10g Express Clientは.NET Framework 1.1用なのでVisual Studio 2008で作成したC#
からは接続できないと思うのですが。
もしかしたら、C#でプログラムを作り使用したパソコンには別にOracle Client、ODAC、ODP.NETなどを
インストールしていたりしませんか?

(3)
Oracle Database 10g Expressが動作しているパソコンのファイアウォールが動いているならば、一度
とめてみたから接続できるか確認してみてください。
接続できたら、Oracle Database 10g Expressが使っているポートをあける設定をしてファイアウォー
ルを起動しておく事をおわすれなく。



引用返信 編集キー/
■52085 / inTopicNo.3)  Re[2]: Oracle10gExpressEditionの接続について
□投稿者/ 裕猫 (161回)-(2010/07/30(Fri) 13:36:54)
No52080 (はつね さん) に返信
> (1)
> 「リモートHTTP接続を有効」は管理画面をリモートから使うときの話でプログラム空のときは関係ありません。
> リモートからの接続時にはどのような文字列で接続しているのでしょうか。
using Oracle.DataAccess.Client;
using Oracle.DataAccess.Types;
public static bool DBA(string DBN, Object[] NJ, int FG, int MLO, int TLO)
{
using (OracleConnection con = new OracleConnection())
{
con.ConnectionString = MKST.UID;
try
{
con.Open();
}
catch
{
MessageBox.Show("データベースの接続に失敗しました。");
return false;
}

int X = 0;
using (OracleCommand cmd = con.CreateCommand())
{
cmd.CommandText = "insert into " + DBN + "(" + MKST.KSST(DBN) + ") values(" + CDBS.VAST(FG, NJ, MLO, TLO) + ")";
try
{
X = cmd.ExecuteNonQuery();
return true;
}
catch (Exception EX)
{
MessageBox.Show("「" + EX.Message + "」でデータの追加はできませんでした。");
return false;
}
}
}
}
これはデータ書き込み用に作ったものですがこれで接続しています。
> (2)
> Oracle Database 10g Express Clientは.NET Framework 1.1用なのでVisual Studio 2008で作成したC#
> からは接続できないと思うのですが。
> もしかしたら、C#でプログラムを作り使用したパソコンには別にOracle Client、ODAC、ODP.NETなどを
> インストールしていたりしませんか?
プログラムは会社のパソコンでXP+VB2008C#で作成しています。ただ会社のOracleは2000server+Oracle10g10.2でそれに接続するため10g用のOracle Clientを入れてありそのODP.NETを使用しています。 が家のパソコンはOracle Database 10g Express ClientとOracleJapanからダウンロードしてきたODP.NETをインストールしてあります。
> (3)
> Oracle Database 10g Expressが動作しているパソコンのファイアウォールが動いているならば、一度
> とめてみたから接続できるか確認してみてください。
> 接続できたら、Oracle Database 10g Expressが使っているポートをあける設定をしてファイアウォー
> ルを起動しておく事をおわすれなく。
>
帰ってから試してみます。

補足説明しますと。
会社ではXP_SP3+VS2008C#で開発。 会社のサーバーはWin2000server+oracle10g10.2を使っていますので開発機にはoracle10gのOracle Clientが入っています。できたプログラムの続きを家でやるのに 家のXP_SP3+VS2008C#に10g Express本体を入スタンドアローンでやっていました。この状態では問題なく動いていました。で今度10g Expressでサーバー、クライアントでやれるプログラムを作ることになり家のデータ蓄積用のXP_SP3に10g Express本体を入れプログラム作っているパソコンの10g Expressを消して10g ExpressClientを入れてテストしたら接続に失敗しましたというエラーをだしてつなげないという現象がでてしまったわけです。その後oracleJapanからODP.NETをダウンロードして入れてみたりしましたがつなげません。で困って相談しました。
引用返信 編集キー/
■52122 / inTopicNo.4)  Re[3]: Oracle10gExpressEditionの接続について
□投稿者/ はつね (1309回)-(2010/07/31(Sat) 23:01:21)
2010/07/31(Sat) 23:02:58 編集(投稿者)
No52085 (裕猫 さん) に返信
>                 con.ConnectionString = MKST.UID;

MKST.UIDの内容がわからないと接続文字列がわかりません。

ところで会社で開発しているプログラムコードって自宅に持ち出し禁止だったりする場合も多いと思うのですが大丈夫?

引用返信 編集キー/
■52138 / inTopicNo.5)  Re[4]: Oracle10gExpressEditionの接続について
□投稿者/ 裕猫 (162回)-(2010/08/02(Mon) 08:49:01)
No52122 (はつね さん) に返信
> 2010/07/31(Sat) 23:02:58 編集(投稿者)
>
> ■No52085 (裕猫 さん) に返信
>> con.ConnectionString = MKST.UID;
>
> MKST.UIDの内容がわからないと接続文字列がわかりません。
>
> ところで会社で開発しているプログラムコードって自宅に持ち出し禁止だったりする場合も多いと思うのですが大丈夫?

うちは大丈夫です。許可もとってあります。家ではインターネット環境からはずしたノートパソコンでやっています。インターネットにつながるのはデスクトップ3台で各部屋に一台ずつ。開発用パソコンはノートで今回テスト用に別にキューブ型を一台仕入れてノートとキューブでクロス接続にて試しています。
MKST.UID の内容はIDとパスワードです。
//public static string UID = "User ID=会社ID;Password=会社パスワード;Data Source=会社データソース名"; //------------------------ユーザーID
public static string UID = "User ID=HR;Password=自分用パスワード"; //-----------------------------------------------------------ユーザーID
この2つを変えて翻訳しなおして接続します。会社はODBCでつないでいます。
ファイアーウォール切りましたがだめでした。リモートデスクトップに許可を入れてもだめでした。あとはアンチウィルスのファイアウォールかな?ウィルスバスターを切ろうとしたら。パスワードなくして切れません。再インストールしかないです。でも土日京都まで出かけていたので今週はできませんでした。いまだにつながっていません。
引用返信 編集キー/
■52285 / inTopicNo.6)  Re[5]: Oracle10gExpressEditionの接続について
□投稿者/ はつね (1310回)-(2010/08/05(Thu) 09:16:51)
No52138 (裕猫 さん) に返信
> MKST.UID の内容はIDとパスワードです。
> //public static string UID = "User ID=会社ID;Password=会社パスワード;Data Source=会社データソース名"; //------------------------ユーザーID
> public static string UID = "User ID=HR;Password=自分用パスワード"; //-----------------------------------------------------------ユーザーID
> この2つを変えて翻訳しなおして接続します。会社はODBCでつないでいます。

自宅用のやつはData Sourceがないですね。
これでは(少なくとも)リモートからはつながらないと思います。
会社データソースとしてどのような定義があるかを調べて、その設定をリモートのクライアント側
に設定してあげればつながると思います。

引用返信 編集キー/
■52307 / inTopicNo.7)  Re[6]: Oracle10gExpressEditionの接続について
□投稿者/ 裕猫 (163回)-(2010/08/05(Thu) 12:37:15)
No52285 (はつね さん) に返信
> ■No52138 (裕猫 さん) に返信
> 自宅用のやつはData Sourceがないですね。
> これでは(少なくとも)リモートからはつながらないと思います。
> 会社データソースとしてどのような定義があるかを調べて、その設定をリモートのクライアント側
> に設定してあげればつながると思います。
>
はいやってみます。いろいろ調べていたら Data Source=XEと入れるのを見つけました。あと問題はSQL*PLUSで接続を確認することを聞きまして
試したところOracle Database 10g Express Edition (Universal)本体を入れたパソコンではつながるのに、Cliantからは
ERROR:
ORA-12560: TNS: プロトコル・アダプタ・エラーが発生しました
でつながりませんでした。これも原因していると思いますのでこちらの対処方法も探しています。
引用返信 編集キー/
■52308 / inTopicNo.8)  Re[7]: Oracle10gExpressEditionの接続について
□投稿者/ はつね (1313回)-(2010/08/05(Thu) 13:16:37)
No52307 (裕猫 さん) に返信
> はいやってみます。いろいろ調べていたら Data Source=XEと入れるのを見つけました。

それは、Oracle Database 10g Express Edition (Universal)と同じPCからODP.NETで接続するときです。


> あと問題はSQL*PLUSで接続を確認することを聞きまして
> 試したところOracle Database 10g Express Edition (Universal)本体を入れたパソコンではつながるのに

Oracle Database 10g Express Edition (Universal)本体を入れた同じPCからは特に何も設定しなくても
(というか下手に余計なもの入れるとだめなときがある)IDとパスワードだけでSQL*Plusから接続できます。


> ORA-12560: TNS: プロトコル・アダプタ・エラーが発生しました
> でつながりませんでした。これも原因していると思いますのでこちらの対処方法も探しています。

クライアント側でnetcaとかで接続先(Data Sourceに指定する名前)を設定したいないかだと思います。
Oracle Databaseへリモートクライアントから接続するときのクライアント側の設定の基礎が分かって
いない事(知識不足による設定抜け)が原因だと思います。
引用返信 編集キー/
■52332 / inTopicNo.9)  Re[8]: Oracle10gExpressEditionの接続について
□投稿者/ 裕猫 (164回)-(2010/08/06(Fri) 08:24:02)
No52308 (はつね さん) に返信
> それは、Oracle Database 10g Express Edition (Universal)と同じPCからODP.NETで接続するときです。
そうなんですか。10g製品版ではData Sourceをいれてあるのでクライアントからとなると必要かと思ってました。

> クライアント側でnetcaとかで接続先(Data Sourceに指定する名前)を設定したいないかだと思います。
> Oracle Databaseへリモートクライアントから接続するときのクライアント側の設定の基礎が分かって
> いない事(知識不足による設定抜け)が原因だと思います。
わかりました。netcaとか知らなかったですが調べてみます。ありがとうございます。
引用返信 編集キー/
■52335 / inTopicNo.10)  Re[9]: Oracle10gExpressEditionの接続について
□投稿者/ はつね (1314回)-(2010/08/06(Fri) 09:49:52)
No52332 (裕猫 さん) に返信
>>それは、Oracle Database 10g Express Edition (Universal)と同じPCからODP.NETで接続するときです。
> そうなんですか。10g製品版ではData Sourceをいれてあるのでクライアントからとなると必要かと思ってました。

Data Source=XEと指定するのが同じPCからってことです。
クライアントから接続する時もData Sourceは指定します。というかクライアントからだったら絶対指定します。
裕猫さん、「Data Source=XE」という記述をみつけたら、それがどういった意味かをちゃんと調べた方がいいと
思います。調べずにクライアント側でも「Data Source=XE」って指定してダメでしたで終わってませんか?


>>クライアント側でnetcaとかで接続先(Data Sourceに指定する名前)を設定したいないかだと思います。
>>Oracle Databaseへリモートクライアントから接続するときのクライアント側の設定の基礎が分かって
>>いない事(知識不足による設定抜け)が原因だと思います。
> わかりました。netcaとか知らなかったですが調べてみます。ありがとうございます。

試しにクライアントからC#のプログラムでつなぐときに
「Uesr ID=scott;Password=tiger;Data Source=DBが入ったマシンのIPアドレス:1521/XE」
とConnectionStringに指定して接続してみてください。もちろん、scott、tiger、DBが入ったマシンのIPアドレスは、
ご自身の環境に合わせた値にしてください。
クライアントからSQL*Plusで接続する時も
sqlplus scott/tiger@DBが入ったマシンのIPアドレス:1521/XE

引用返信 編集キー/
■52343 / inTopicNo.11)  Re[10]: Oracle10gExpressEditionの接続について
□投稿者/ 裕猫 (165回)-(2010/08/06(Fri) 11:22:53)
No52335 (はつね さん) に返信
> 試しにクライアントからC#のプログラムでつなぐときに
> 「Uesr ID=scott;Password=tiger;Data Source=DBが入ったマシンのIPアドレス:1521/XE」
> とConnectionStringに指定して接続してみてください。もちろん、scott、tiger、DBが入ったマシンのIPアドレスは、
> ご自身の環境に合わせた値にしてください。
> クライアントからSQL*Plusで接続する時も
> sqlplus scott/tiger@DBが入ったマシンのIPアドレス:1521/XE
>
いつもご指導ありがとうございます。ご指摘のようにやってみたところ接続できました。(Q Q)V 長かった〜、泣けてきます。
DBが入ったマシンのIPアドレスが必要なんですね。このあたり知りませんでした。おかげさまで家でも動作チェックしながら開発できます。
検索してもなかなか思うようなのがヒットせず困っていました。ほんとに助かりました。ありがとうございました。
解決済み
引用返信 編集キー/
■52348 / inTopicNo.12)  Re[11]: Oracle10gExpressEditionの接続について
□投稿者/ はつね (1315回)-(2010/08/06(Fri) 13:36:43)
No52343 (裕猫 さん) に返信
>>試しにクライアントからC#のプログラムでつなぐときに
>>「Uesr ID=scott;Password=tiger;Data Source=DBが入ったマシンのIPアドレス:1521/XE」
>>とConnectionStringに指定して接続してみてください。もちろん、scott、tiger、DBが入ったマシンのIPアドレスは、
>>ご自身の環境に合わせた値にしてください。
>>クライアントからSQL*Plusで接続する時も
>>sqlplus scott/tiger@DBが入ったマシンのIPアドレス:1521/XE
>>
> いつもご指導ありがとうございます。ご指摘のようにやってみたところ接続できました。(Q Q)V 長かった〜、泣けてきます。
> DBが入ったマシンのIPアドレスが必要なんですね。このあたり知りませんでした。おかげさまで家でも動作チェックしながら開発できます。
> 検索してもなかなか思うようなのがヒットせず困っていました。ほんとに助かりました。ありがとうございました。

一度、書籍とか雑誌の特集記事とかでまとまった知識を仕入れておくと検索するためのキーワードとか
勘所がつかめると思います。

http://blogs.wankuma.com/hatsune/archive/2010/03/20/187314.aspx
http://hatsune.wankuma.com/seminer/tokyo16/index.aspx


解決済み
引用返信 編集キー/
■52354 / inTopicNo.13)  Re[12]: Oracle10gExpressEditionの接続について
□投稿者/ 裕猫 (166回)-(2010/08/06(Fri) 14:52:35)
No52348 (はつね さん) に返信
> 一度、書籍とか雑誌の特集記事とかでまとまった知識を仕入れておくと検索するためのキーワードとか
> 勘所がつかめると思います。
>
> http://blogs.wankuma.com/hatsune/archive/2010/03/20/187314.aspx
> http://hatsune.wankuma.com/seminer/tokyo16/index.aspx
>
ありがとうございます。参考にさせていただきます。
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -