- PR -

ASP Global.asaを使用したoo4o接続に関して

投稿者投稿内容
IPホン
大ベテラン
会議室デビュー日: 2005/09/13
投稿数: 127
投稿日時: 2005-12-14 13:50
きくちゃんさん、再度ご返事いただきありがとうございます。

>>IIS の設定で該当ディレクトリはアプリケーションとして構成してありますか?
また、「アプリケーション保護」の設定はどうなっていますか?

→すみません、ご質問の意図と反するかもしれませんが、仮想ディレクトリとして
設定しています。また、アプリケーション保護は、以前のご指摘とおりに
低(IISプロセス)と設定しています。

きくちゃんさん、
アプリケーションとして構成とは、具体的に何かをしなければいけないのでしょうか??
きくちゃん
ぬし
会議室デビュー日: 2003/08/01
投稿数: 854
お住まい・勤務地: 都内某所
投稿日時: 2005-12-14 14:25
鼻セレブさん、こんにちは。

引用:

アプリケーションとして構成とは、具体的に何かをしなければいけないのでしょうか??


IISマネージャで当該ディレクトリのプロパティ画面で、ディレクトリタブの「アプリケーションの設定」で、「作成」ボタンが表示されているなら、クリックする必要があります。「削除」「構成」ボタンが表示されているならアプリケーションは構成されています。

ところで、Global.asa のスクリプト部分(Option Explicit 以降)ですが、<SCRIPT>タグで括っていないような気がするんですが、転記ミスでしょうか…。
IPホン
大ベテラン
会議室デビュー日: 2005/09/13
投稿数: 127
投稿日時: 2005-12-14 14:37
きくちゃんさん、

すみません、転記ミスです。実際のコードには、

<SCRIPT language=VBScript RUNAT=Server>

</Script>
を記載しています。
きくちゃん
ぬし
会議室デビュー日: 2003/08/01
投稿数: 854
お住まい・勤務地: 都内某所
投稿日時: 2005-12-14 16:05
鼻セレブさん、こんにちは。

引用:

Microsoft VBScript 実行時エラー (0x800A01F4)
この変数は宣言されていません。: 'OraSession'


うーん…。
このエラー、変数名が宣言と違っているとかでなければ、アプリケーションとして構成されていない場合なんかに、global.asa が参照されない為に発生したりするんですけどねぇ…。
あるいは、ファイル名とか、微妙に間違っていたりしませんか?

#そういえば、OS のバージョンとか OO4O のバージョンとか、環境も聞いてませんでしたね。
IPホン
大ベテラン
会議室デビュー日: 2005/09/13
投稿数: 127
投稿日時: 2005-12-14 16:33
きくちゃんさん、
長らくお付き合いしていただいて、ありがとうございます。

今まで、いくつかASPを利用したWebシステム(asp.netも吸収中ですが・・・。)を
経験してきましたが、global.asaとか特に気にしていなかったので、自分でも何でエラー??という感じがしています。

また、普通だったら周りの人に尋ねたらいいじゃんって感じがしますけど、
開発は自分ひとりなので、そうもいかなくて・・・。


本題に戻りまして、

OS→Windows2000 SP4
IE→Ver6.0
Oracle Database→8i
Oracle Client→8i
oo4o→8.1.5.3.4

以上です。
きくちゃん
ぬし
会議室デビュー日: 2003/08/01
投稿数: 854
お住まい・勤務地: 都内某所
投稿日時: 2005-12-14 20:00
鼻セレブさん、こんばんは。

念のために、別のディレクトリに新しい ASP Web アプリケーションを作成して、動作を確認してみませんか?

1)wwwroot に 新しいディレクトリ hoge を作成。
2)新しいファイル global.asa と default.asp を作成(コピーではなく)。
3)IISマネージャで、ディレクトリ hoge のプロパティ画面を開き、「アプリケーションの設定」の、「作成」ボタンをクリックし、「アプリケーション保護」を「低(IISプロセス)」に変更。

【global.asa の内容】
コード:
<OBJECT RUNAT=server PROGID=OracleInProcServer.XOraSession id=OraSession SCOPE=Application> </OBJECT>
<SCRIPT LANGUAGE=VBScript RUNAT=Server>
Sub Application_OnStart
  OraSession.CreateDatabasePool 1, 40, 200, "dabname.domain", "user/pass", 0
End Sub

Sub Application_OnEnd
  OraSession.DestroyDatabasePool
End Sub

</SCRIPT>



【default.asp の内容】
コード:
<%@ Language=VBScript %>
<% Option Explicit %>

<%
Dim OraDataBase
Dim OraDynaset

Set OraDataBase = OraSession.GetDatabaseFromPool(10)
Set OraDynaset = OraDataBase.CreateDynaset("SELECT SYSDATE FROM DUAL", 4 + 8)

Do Until OraDynaset.EOF
  Response.Write OraDynaset.Fields(0).Value & "<br>"
  OraDynaset.MoveNext
Loop

Set OraDynaset = Nothing
Set OraDataBase = Nothing

%>


これでダメなら、他のサーバでも試してみて下さい。
IPホン
大ベテラン
会議室デビュー日: 2005/09/13
投稿数: 127
投稿日時: 2005-12-15 09:57
きくちゃんさん、ありがとうございます。

アドバイスされましたように行ってみようと思います。
IPホン
大ベテラン
会議室デビュー日: 2005/09/13
投稿数: 127
投稿日時: 2005-12-15 10:23
きくちゃんさん、

sysdate表示されましたよ!
しかし、どうして今まではできなかったんでしょうかね〜?
IIS内の既定のWebサイトのフォルダ→新規作成→仮想ディレクトリという工程
は通常行わなくて、きくちゃんさんご指摘のアプリケーションの作成ボタンを押す
ということが、普通なのでしょうか?

なにわともあれ、解決できたこと感謝します。
ありがとうございました。

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