- PR -

ASP.NET(VB)のDataTableをPL/SQLへ渡したい

投稿者投稿内容
Meta
常連さん
会議室デビュー日: 2005/11/24
投稿数: 31
投稿日時: 2008-11-27 20:33
ASP.NETの初心者です。

APS.NET(VB)のDataTable型の内容を、OracleDBへ受け渡すことは可能でしょうか?
また、その時OracleDBでの型は何になるのでしょうか?

・そもそも、DataTable型をOracleDBへ受け渡せるのでしょうか?
・可能として、そのサンプルコードをご紹介頂けませんでしょうか?
(ASP側、PL/SQL(パッケージ)側の双方をお願いします。)

ちなみに、APS.NET(VB)のDataSet型の場合はOracleDBへ受け渡すことは可能でしょうか?
ぴあちゃん
ぬし
会議室デビュー日: 2008/02/07
投稿数: 287
投稿日時: 2008-11-28 00:41
うちの会社のプロジェクトで VB.NET+ORACLEの実績があるので出来ますよ。
ただ、組み込みのSQLエディタが使えないとか開発担当は嘆いていましたね。
VB.NETは、SQLSERVERとは非常に親和性が良いのですが、他社のDBとなると
多少使いにくい点も出てくるようです。

サンプルは、自分で探してください。

キーワード:oracle vb.net

で一杯出てきますが、全部目を通しましたか?

まさる
ベテラン
会議室デビュー日: 2006/12/21
投稿数: 59
お住まい・勤務地: 越後の中ほど
投稿日時: 2008-11-28 09:45
ODP.NETを使えば、PL/SQL表として配列を渡すことは可能です。
DataTableやDataSetを直に渡すことは出来なかったような覚えがあります。
_________________
まさるblog
Meta
常連さん
会議室デビュー日: 2005/11/24
投稿数: 31
投稿日時: 2008-12-01 12:29
皆様、回答ありがとうございます。

結局のところPL/SQLへ渡すことは可能のでしょうか?


>まさるさん

ちなみに、表として配列を渡すにはどうのようになるのでしょうか?
PL/SQL側のINの型と.NET側の変数の型をお教え頂ければ幸いです。


[ メッセージ編集済み 編集者: bu 編集日時 2008-12-01 14:08 ]
まるく
大ベテラン
会議室デビュー日: 2004/01/09
投稿数: 181
投稿日時: 2008-12-01 13:07
http://otn.oracle.co.jp/forum/thread.jspa?messageID=35025670
↑これを信じるなら ODP.NET を使っての実現は不可ですねぇ。

私はこういう時は、
CSV を import でワークテーブルに一括インサートして、それを処理するかなぁ。
Meta
常連さん
会議室デビュー日: 2005/11/24
投稿数: 31
投稿日時: 2008-12-01 14:14
まるくさん
回答ありがとうございます。

私もいろいろ調べていてPL/SQLにDataTableやDataSetを渡すのは不可能なように思います。


画面からの入力データをDataTableやDataSetにセットしてPL/SQLに渡したかったのですが、ワークテーブルを使用する方法しかないのかなぁ。
まさる
ベテラン
会議室デビュー日: 2006/12/21
投稿数: 59
お住まい・勤務地: 越後の中ほど
投稿日時: 2008-12-01 23:09
DataTableのレコードを
コード:

ID Code Name
-------------
1 0001 Hoge
2 1001 Fuga
3 9001 Payo


とした場合、DataTableの列に対応する項目の配列
コード:

Dim ids As Integer()
Dim codes As String()
Dim names As String()


みたいなのを用意して、値を詰め替えた後、PL/SQL表として渡すやり方が最もポピュラーな方法だと思います。

以下のページが参考になるでしょう。
http://www.atmarkit.co.jp/fdb/rensai/odpdotnet03/odpdotnet03_3.html

[追記]
OUTパラメータとしても、PL/SQL表は使えます。
_________________
まさるblog

[ メッセージ編集済み 編集者: まさる 編集日時 2008-12-02 00:10 ]
deanna
大ベテラン
会議室デビュー日: 2004/08/23
投稿数: 118
投稿日時: 2008-12-02 00:01
可能だとしても、INSERT,UPDATE,DELETEのみでSELECTは無理です。

スキルアップ/キャリアアップ(JOB@IT)