tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板) [ツリー表示へ]   [Home]
一括表示(VB.NET VB2005)
タイトルVB2005からPL/SQL
記事No4717
投稿日: 2006/12/20(Wed) 18:49
投稿者うっティ
教えてください!

VB2005から、PL/SQLを通じて、Oracleの更新をする方法を探しています。
VB2005でボタンを押下したら、
PL/SQLを起動し、
SQL文を書いているテキストファイル(拡張子は.SQLです。)を流し、
成功/失敗のフラグを返し、
PL/SQLを終了させるという一連の流れを実行させたいのですが、
方法はないでしょうか?

環境は
WindowsXP,VisualStusio2005,Oracle10g です。

よろしくお願いします(>_<)

[ツリー表示へ]
タイトルRe: VB2005からPL/SQL
記事No4721
投稿日: 2006/12/21(Thu) 10:11
投稿者うなまな
こんにちは。

> VB2005から、PL/SQLを通じて、Oracleの更新をする方法を探しています。
> VB2005でボタンを押下したら、
> PL/SQLを起動し、

このPL/SQLを起動するとは、どういうことを言われているのでしょうか?
SqlLoaderのことかな・・・

> SQL文を書いているテキストファイル(拡張子は.SQLです。)を流し、
> 成功/失敗のフラグを返し、
> PL/SQLを終了させるという一連の流れを実行させたいのですが、
> 方法はないでしょうか?

普通に、SQL文が記述されたテキストファイルを読み込んで、OracleCommandで
Executeするのでは駄目なのでしょうか?

[ツリー表示へ]
タイトルRe^2: VB2005からPL/SQL
記事No4723
投稿日: 2006/12/21(Thu) 11:02
投稿者うっティ
返信ありがとうございます!

大きな勘違いしておりました。
「PL/SQL」という名前で、
SQL*PLUSのようなアプリがあるのだと思っていました。

今、考えているのは、
SHELL関数でPL*SQLを起動し、テキストを流す方法で、

Dim procID As Integer
procID = Microsoft.VisualBasic.Shell("sqlplusw.exe AAA/AAA@AAA @D:\sample.sql", AppWinStyle.NormalFocus)

という形で動かしてみました。
ちゃんと更新されているのかは、まだ確認中です。
SQL*PLUSの画面を出さないように、更新したいのですが、
そこもまだ調べている途中です。

OracleCommandという方法もあるのですね。
いろいろネットなどで調べてみて、
コピペして実行してみたところ、
宣言部分で「定義されていません」のエラーがでます。
なるべく、参照設定などの機能の追加をせずに行いたいのですが。。。

まだ自分でも調べていることが多いのですが、
何か助言があればお願いします。

早速の返信ありがとうございました。

[ツリー表示へ]
タイトルRe^3: VB2005からPL/SQL
記事No4724
投稿日: 2006/12/21(Thu) 15:30
投稿者うっティ
解決しました!

SQLテキストのコンパイルまでは出来ていたので、
あとは"EXEC オブジェクト名;"の処理がいるだけでした。

DB.ExecuteSQL("Begin オブジェクト;End;")
でデータの更新を行えました。

仕様が固まっていなかったため、
内容を理解できてませんでした。。。

失礼しました!

[ツリー表示へ]