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

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

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

Re[7]: データベースリンクで接続されたストアドの呼び出し方法


(過去ログ 30 を表示中)

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

■14102 / inTopicNo.1)  データベースリンクで接続されたストアドの呼び出し方法
  
□投稿者/ cohen (1回)-(2008/02/09(Sat) 02:03:32)

分類:[.NET 全般] 

データベースリンクで接続されたストアドの呼び出し方法
はどのように行うかがわかりません。

Cmd.CommandType = CommandType.StoredProcedure
Cmd.CommandText = "PROCEDURE3@データベース名"
にすると、ODBC Escape 構文エラーがでます。

OLEDBを使っているのですが、なぜODBCのエラーが出るかが謎です。

よろしくお願いします。




引用返信 編集キー/
■14105 / inTopicNo.2)  Re[1]: データベースリンクで接続されたストアドの呼び出し方法
□投稿者/ やじゅ (134回)-(2008/02/09(Sat) 09:13:18)
やじゅ さんの Web サイト
No14102 (cohen さん) に返信
> データベースリンクで接続されたストアドの呼び出し方法
> はどのように行うかがわかりません。
>
> Cmd.CommandType = CommandType.StoredProcedure
> Cmd.CommandText = "PROCEDURE3@データベース名"
> にすると、ODBC Escape 構文エラーがでます。
>
> OLEDBを使っているのですが、なぜODBCのエラーが出るかが謎です。
>

データベースリンクはなんでしょうか?
ストアド以外なら動作するのでしょうか?
使用しているDBはなんでしょう?

私には情報が足りなくて・・・
引用返信 編集キー/
■14123 / inTopicNo.3)  Re[2]: データベースリンクで接続されたストアドの呼び出し方法
□投稿者/ cohen (2回)-(2008/02/09(Sat) 13:40:05)
No14105 (やじゅ さん) に返信

> 使用しているDBはなんでしょう?
Oracle10gです。

> ストアド以外なら動作するのでしょうか?
SQL_PLUSからだと動作は確認できました。

> データベースリンクはなんでしょうか?
プライベートなデータベースリンクを作成しています。

CREATE DATABASE LINK リンク名
CONNECT TO ユーザ名
IDENTIFIED BY パスワード
USING 'リンク名同じ'

処理の概要は
WEBサービスからローカルデータベースに接続して、
データベースリンクを使ってリモートデータベースのプロシージャを起動する
という処理です。




> ■No14102 (cohen さん) に返信
>>データベースリンクで接続されたストアドの呼び出し方法
>>はどのように行うかがわかりません。
>>
>>Cmd.CommandType = CommandType.StoredProcedure
>>Cmd.CommandText = "PROCEDURE3@データベース名"
>>にすると、ODBC Escape 構文エラーがでます。
>>
>>OLEDBを使っているのですが、なぜODBCのエラーが出るかが謎です。
>>
>
> データベースリンクはなんでしょうか?
> ストアド以外なら動作するのでしょうか?
> 使用しているDBはなんでしょう?
>
> 私には情報が足りなくて・・・
引用返信 編集キー/
■14128 / inTopicNo.4)  Re[3]: データベースリンクで接続されたストアドの呼び出し方法
□投稿者/ やじゅ (141回)-(2008/02/09(Sat) 17:36:40)
やじゅ さんの Web サイト
No14123 (cohen さん) に返信
>
>ストアド以外なら動作するのでしょうか?

SELECT文とかなら動作するのでしょうか?

接続文字列や参照設定はどうなでしょう?

関係ないかもしれませんが
.NETとOracle8.1.6(DBリンク)
http://otn.oracle.co.jp/forum/message.jspa?messageID=8052513&#8052513
引用返信 編集キー/
■14144 / inTopicNo.5)  Re[4]: データベースリンクで接続されたストアドの呼び出し方法
□投稿者/ HiJun (90回)-(2008/02/10(Sun) 20:33:29)
SQLPLUSで DESC プロシージャ名@DBリンク名で参照可能でしょうか?
(出来るかちょっと覚えていませんので...)

参照できないのであれば、リモートデータベースに直接接続してそのプロシージャを
コールするようにもって行くか、ローカルデータベースにリモートデータベースの
プロシージャをールするプロシージャを作るかないような気がします。

後、10gであればODP.NETを使用したほうがいいと思いますよ。


引用返信 編集キー/
■14148 / inTopicNo.6)  Re[5]: データベースリンクで接続されたストアドの呼び出し方法
□投稿者/ はつね (450回)-(2008/02/11(Mon) 08:35:09)
# ODP.NETを普段使っているので、まったくの的外れかも知れませんし、ODP.NETでの解決策という事でもありませんが。

SQL*Plusでは実行できたということでしたが、そのときの書き方とプログラムコードでの書き方には何か相違はありませんか?
また、CommandTypeをStoredProcedureとしていますが、TextにしてCommandTextにして
BEGIN PROCEDURE3@データベース; END;
としても変わりませんか?



引用返信 編集キー/
■14157 / inTopicNo.7)  Re[6]: データベースリンクで接続されたストアドの呼び出し方法
□投稿者/ cohen (3回)-(2008/02/11(Mon) 17:09:01)
皆さま、ありがとうございます。
SQL文を直接入力する方法と、
ODP.NETを使う方法を試してみます。
後は、ローカルデータベースにストアドを作成してそこから、リモートプロシージャを呼び出す方法もあるらしいので、
いろいろ試してみようと思います。


引用返信 編集キー/
■14188 / inTopicNo.8)  Re[7]: データベースリンクで接続されたストアドの呼び出し方法
□投稿者/ cohen (4回)-(2008/02/12(Tue) 19:31:52)
ローカルDBにストアド作る方法で
リモートプロシージャを呼び出すことができました。

皆様、アドバイスを頂き、ありがとうございました。
解決済み
引用返信 編集キー/


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

このトピックに書きこむ

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

管理者用

- Child Tree -