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

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

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

Re[11]: C#でOracleのストアドを記述したい


(過去ログ 64 を表示中)

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

■36718 / inTopicNo.1)  C#でOracleのストアドを記述したい
  
□投稿者/ デザパタ大好きっ子 (22回)-(2009/06/04(Thu) 13:26:55)

分類:[.NET 全般] 

環境
WindowsVista Business SP1
VisualStudio2008Pro(C#を使用)
Oracle11g

こんにちは。
題名の通り、C#でOracleのストアドプロシージャを記述したいと考えております。
以下のサイトを参考にしたところ、
ttp://codezine.jp/article/detail/1202
ttp://www.atmarkit.co.jp/fdb/rensai/ora_dotnet05/ora_dotnet05_1.html
Oracle Data Access Componentsをインストールする必要があることがわかりました。
しかし、どうやらコンポーネントは(クライアントではなく)データベースが入っていないとインストールできないようです。

このとことから、開発マシンにわざわざデータベースを入れなければならないのかということと、
データベースで.NET製のストアドを利用する場合、わざわざVisualStudioを入れて、
VisualStudioのウィザードを使ってストアドをデプロイ(データベースで使えるように)しなければならないのかということが気になります。

ということで、データベースが入っていない開発環境でのストアド開発を行う方法、
そして手動でデータベースにデプロイする方法があれば教えてください。


引用返信 編集キー/
■36720 / inTopicNo.2)  Re[1]: C#でOracleのストアドを記述したい
□投稿者/ デザパタ大好きっ子 (23回)-(2009/06/04(Thu) 13:36:02)
ごめんなさい。
インストールするコンポーネントの種類を選ぶ選択肢を間違えていたようで、正しく選択することで無事インストールすることができました。
これから実際に開発を試してみますので、この質問は取り下げます。
引用返信 編集キー/
■36723 / inTopicNo.3)  Re[2]: C#でOracleのストアドを記述したい
□投稿者/ .SHO (854回)-(2009/06/04(Thu) 13:54:48)
解決済みにしておきますね。
解決済み
引用返信 編集キー/
■36740 / inTopicNo.4)  Re[3]: C#でOracleのストアドを記述したい
□投稿者/ デザパタ大好きっ子 (24回)-(2009/06/04(Thu) 16:53:33)
2009/06/04(Thu) 16:55:30 編集(投稿者)

すいませんが、問題が発生したのであげさせていただきます。

現在データベースのクライアントしか入っていないPCでストアドの開発を行っています。
新しいプロジェクトからOracleプロジェクトを選択し、デプロイを試みたところ、以下のエラーが出まして完了できません。
"Direcotry ORACLECLRDIR does not exist."

ちなみに以下のサイトで紹介されている「データベース作成時の注意」の項目は試しております。
ttp://www.atmarkit.co.jp/fdb/rensai/ora_dotnet04/ora_dotnet04_2.html

ほかに何か原因は考えられるでしょうか?
#やはり、開発はデータベースが入っているPCでやらないとだめなのかな・・・
#あと、VisualStudioの表示メニューに現れるはずのOracleエクスプローラが現れないんですよね・・・
引用返信 編集キー/
■36742 / inTopicNo.5)  Re[4]: C#でOracleのストアドを記述したい
□投稿者/ HiJun (134回)-(2009/06/04(Thu) 17:22:02)
オラクルのクライアントをいれないと
動かないと思います。

引用返信 編集キー/
■36743 / inTopicNo.6)  Re[5]: C#でOracleのストアドを記述したい
□投稿者/ デザパタ大好きっ子 (25回)-(2009/06/04(Thu) 17:46:01)
No36742 (HiJun さん) に返信
> オラクルのクライアントをいれないと
> 動かないと思います。
>

開発側のPCにでしょうか?
それでしたら入っております。
データベースが入っているサーバー側には入っておりません。
引用返信 編集キー/
■36755 / inTopicNo.7)  Re[6]: C#でOracleのストアドを記述したい
□投稿者/ デザパタ大好きっ子 (26回)-(2009/06/04(Thu) 20:29:53)
2009/06/04(Thu) 20:39:13 編集(投稿者)

デプロイするところのSQLを覗いてみたところ、以下のような記述がありました。
//ここから
CREATE LIBRARY "TESTPROCEDURE_DLL" AS '$ORACLE_HOME\bin\clr\TestProcedure.dll';
/
GRANT EXECUTE ON "SYS"."TESTPROCEDURE_DLL" TO TEST_USER;
GRANT EXECUTE ON "SYS"."DBMS_CLR" TO TEST_USER;
GRANT EXECUTE ON "SYS"."DBMS_CLRTYPE" TO TEST_USER;
GRANT EXECUTE ON "SYS"."DBMS_CLRPARAMTABLE" TO TEST_USER;
CREATE FUNCTION TEST_USER.GETEMPNAME wrapped
a000000
346
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
8
160 154
r6UrPFLzlT/UxKMTGs6vjOVMYhwwg1zQfyDWZ3QC2k7VSO/3Zhqf1/V2KFe9dJs6xSVDjiZ0
jewvbFlzgUTmBfUtO/5WnXK+Se9hqFxnacQa9n6LGU138YuESxQW3bqVL3IahyoTCU5tJYfy
Ez6GWDXTNB3VHlGOAmNaJnToJV/ekswbYjtMfJRJ6KyLK06JG3DEtbt7hYlFtL+nVU8X3rMs
jr+4tjpHvu2akzWqH1CvMK+eQWQoIAbCOPg8aRHarDZJsu+Zk1yV2pScaoGG9ldJnLlo0PT9
B/a1QXVyhs0zegXpJAb1a4Ym0Cyh9UoC+4nNjGN6EB3W7HA4

/
//ここまで

$ORACLE_HOME\bin\clr\・・・って文面が気になりますね。
(サーバーにもクライアントにも)ORACLE_HOMEなんて環境変数登録されていませんし、
仮にOracleが自動で認識できたとしてもbin以下にclrフォルダなんて存在しません。
もしかしたら上記のエラーはこのフォルダがないからとも思って作ってみましたが、結果は同じ。
さらにこのディレクトリってサーバー側を指しているのかクライアント側を指しているのかもわかりません。

引用返信 編集キー/
■36769 / inTopicNo.8)  Re[7]: C#でOracleのストアドを記述したい
□投稿者/ デザパタ大好きっ子 (27回)-(2009/06/05(Fri) 08:38:28)
寝て起きたら直ってました・・・
小人さんの仕業ですかね。
#再起動が効いた?いや何度もした覚えが。

冗談はさておき、
先日と違うのはVisualStudioC#Expressをサーバーに入れたことぐらいです。

ふーむ、さっぱりですね。
まぁ無事クライアントの入っている開発用PCからサーバー側にストアドを配置することができたので良しとします。
>さらにこのディレクトリってサーバー側を指しているのかクライアント側を指しているのかもわかりません。
サーバー側のようです。
引用返信 編集キー/
■36770 / inTopicNo.9)  Re[8]: C#でOracleのストアドを記述したい
□投稿者/ デザパタ大好きっ子 (28回)-(2009/06/05(Fri) 08:52:13)
チェック忘れてました。
解決済み
引用返信 編集キー/
■36778 / inTopicNo.10)  Re[8]: C#でOracleのストアドを記述したい
□投稿者/ はつね (1015回)-(2009/06/05(Fri) 10:39:32)
はつね さんの Web サイト
No36769 (デザパタ大好きっ子 さん) に返信
> 寝て起きたら直ってました・・・
> 小人さんの仕業ですかね。
> #再起動が効いた?いや何度もした覚えが。
>
> 冗談はさておき、
> 先日と違うのはVisualStudioC#Expressをサーバーに入れたことぐらいです。

サーバーに.NET Frameworkが入っていなかったんじゃないでしょうか?

ストアドを.NET言語で記述する場合、サーバーには以下のものが必要です。
・Oracle Database (まああたりまでですが)
・.NET Framework
・ODP.NET & ODE.NET

そしてセキュリティのことなどを考えるとサーバー側に開発環境を入れない方がいいと思います。

解決済み
引用返信 編集キー/
■36779 / inTopicNo.11)  Re[9]: C#でOracleのストアドを記述したい
□投稿者/ デザパタ大好きっ子 (29回)-(2009/06/05(Fri) 11:01:44)
No36778 (はつね さん) に返信
はつねさん、ありがとうございます。

> サーバーに.NET Frameworkが入っていなかったんじゃないでしょうか?
.NET Framework1.1と.NET Framework2.0は入っておりました。
現在はVisualStudioC#Express(2008)を入れたため、以下のような構成になっています。
.NET Framework1.1
.NET Framework2.0 Service Pack 2
.NET Framework3.0 Service Pack 2
.NET Framework3.5 SP1

#2.0だけでいいと思ってたんですが、これが間違いだったのかな

> そしてセキュリティのことなどを考えるとサーバー側に開発環境を入れない方がいいと思います。
確かに入れない方がよいですよね・・・。
解決済み
引用返信 編集キー/
■36788 / inTopicNo.12)  Re[10]: C#でOracleのストアドを記述したい
□投稿者/ はつね (1016回)-(2009/06/05(Fri) 11:51:47)
はつね さんの Web サイト
No36779 (デザパタ大好きっ子 さん) に返信
>>サーバーに.NET Frameworkが入っていなかったんじゃないでしょうか?
> .NET Framework1.1と.NET Framework2.0は入っておりました。
> 現在はVisualStudioC#Express(2008)を入れたため、以下のような構成になっています。
> .NET Framework1.1
> .NET Framework2.0 Service Pack 2
> .NET Framework3.0 Service Pack 2
> .NET Framework3.5 SP1
>
> #2.0だけでいいと思ってたんですが、これが間違いだったのかな

ストアドのプロジェクトを作成したときに.NET Frameworkのどれをターゲットにしたかに依存するかと。

解決済み
引用返信 編集キー/
■36793 / inTopicNo.13)  Re[11]: C#でOracleのストアドを記述したい
□投稿者/ デザパタ大好きっ子 (31回)-(2009/06/05(Fri) 12:04:31)
No36788 (はつね さん) に返信
> ■No36779 (デザパタ大好きっ子 さん) に返信
> >>サーバーに.NET Frameworkが入っていなかったんじゃないでしょうか?
>>.NET Framework1.1と.NET Framework2.0は入っておりました。
>>現在はVisualStudioC#Express(2008)を入れたため、以下のような構成になっています。
>>.NET Framework1.1
>>.NET Framework2.0 Service Pack 2
>>.NET Framework3.0 Service Pack 2
>>.NET Framework3.5 SP1
>>
>>#2.0だけでいいと思ってたんですが、これが間違いだったのかな
>
> ストアドのプロジェクトを作成したときに.NET Frameworkのどれをターゲットにしたかに依存するかと。
>

.NET Framework2.0をターゲットにしていました。
開発側のPCには.NET Framework2.0は入れていません。
あるのは3.5だけですね(コントロールパネルで確認)。
ターゲットに2.0を指定できたのでいけると踏んでいましたが、これが間違いもとでしょうか?
それとも2.0のService Pack 2という違いが問題だったのか・・・。

解決済み
引用返信 編集キー/


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

このトピックに書きこむ

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

管理者用

- Child Tree -