- PR -

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

投稿者投稿内容
IPホン
大ベテラン
会議室デビュー日: 2005/09/13
投稿数: 127
投稿日時: 2005-10-12 17:33
現在、久しぶりにASPを書いていますが、global.asaを利用してoo4o接続を
したいのですが、うまくいきません。

とりあえず、単純に、select文の内容をresponse.writeで表示させたいのですが、
コードミスがあったら指摘お願いします。

===================================================
global.asaの内容
<script language="vbscript" runat="Server">
option explicit

Sub Application_OnStart

'oo4oオブジェクト作成
Set Application("OraSession") = Sever.CreateObject("OracleInProcServer.XOraSession")

End Sub


Sub Application_OnEnd

'oo4oオブジェクト廃棄
Set Application("OraSession") = Nothing

End Sub

Sub Session_OnStart

'セッションタイムアウト
Session.Timeout = 100

'スクリプトタイムアウト
Server.ScriptTimeout = 120

'oo4oセッション作成
Set Session("OraDatabase") = Application("OraSession").DbOpenDatabase("db_name","user/pass",0)

End Sub

Sub Session_OnEnd

'oo4oセッション廃棄
Set Session("OraDatabase") = Nothing

End Sub


</script>

=================================================================
select.aspの内容
<%@ language="vbscript" %>

<%

dim strSQL
dim rs

strsql = ""
strsql = strsql & "select col_name from table_name"
set rs = Session("OraDatabase").CreateDynaset(strsql)

response.write rs.field(0)

Set rs = Nothing

%>

以上です。

また、別途良いサンプルをお持ちの方がいらっしゃいましたら、
参考にさせてください。
きくちゃん
ぬし
会議室デビュー日: 2003/08/01
投稿数: 854
お住まい・勤務地: 都内某所
投稿日時: 2005-10-12 22:04
emmaさん、こんばんは。

#何がどのように「うまくいかない」のかが記載されていませんので、外しているかも知れませんが。

コード:

Set Application("OraSession") = Sever.CreateObject("OracleInProcServer.XOraSession") 


この部分↑は、global.asa 中で<OBJECT>タグを使用して

コード:

<OBJECT RUNAT=server PROGID=OracleInProcServer.XOraSession id=objOraSession SCOPE=Application> </OBJECT>


として宣言するように変更し、コード中で

コード:

objOraSession.OpenDatabase("db_name","user/pass",0) 


↑のように使用してみるとどうなります?
IPホン
大ベテラン
会議室デビュー日: 2005/09/13
投稿数: 127
投稿日時: 2005-10-13 17:36
申し訳ありませんでした。

エラーの内容は、

エラータイプ
Microsoft VBScript 実行時エラー(0X800A01 A8)
オブジェクトがありません。 'OraSession'

エラーは、ASPファイルのset rs = Session("OraDatabase").CreateDynaset(strsql)
で表示されます。


きくちゃん
ぬし
会議室デビュー日: 2003/08/01
投稿数: 854
お住まい・勤務地: 都内某所
投稿日時: 2005-10-13 22:57
emmaさん、こんばんは。

引用:

Microsoft VBScript 実行時エラー(0X800A01 A8)
オブジェクトがありません。 'OraSession'


前回の投稿で私が提示した方法は試されましたでしょうか?
あと、IIS側の、アプリケーションの設定で、「アプリケーション保護」というのがありますが、これを「低(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>




hoge.asp 側

コード:
<%@ Language=VBScript %>
<% Option Explicit %>

<%
Dim OraDataBase
Dim OraDynaset

Set OraDataBase = OraSession.GetDatabaseFromPool(10)
Set OraDynaset = OraDataBase.CreateDynaset("select ............", 4 + 8)

' 以下略

%>




IPホン
大ベテラン
会議室デビュー日: 2005/09/13
投稿数: 127
投稿日時: 2005-10-28 17:34
過去に返答を投げてくれた方々、ありがとうございました。

しかし、先ほど試してみるとやはり、ASPファイル内でOraSessionは宣言されていないというエラーが出てしまいます。

きくちゃんさんに提示していただいたコードで試してみても、同様のエラーがでます。
ASPファイル内での書き方に問題あるのでしょうか・・・・。
きくちゃん
ぬし
会議室デビュー日: 2003/08/01
投稿数: 854
お住まい・勤務地: 都内某所
投稿日時: 2005-10-28 19:13
emmaさん、こんばんは。

引用:

きくちゃんさんに提示していただいたコードで試してみても、同様のエラーがでます。


IIS の設定で、該当ディレクトリはアプリケーションとして構成してありますか?
IPホン
大ベテラン
会議室デビュー日: 2005/09/13
投稿数: 127
投稿日時: 2005-12-14 12:50
以前質問させて頂きましたが、再度掲示板へあげること、申し訳ありません。
ASP(.NETではありません。)でのglobal.asaを使用してのoo4o接続の件ですが、
どこが悪いのかが特定できません。

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

ちなみに、今のコードですが
<Global.asaのコード>
<OBJECT RUNAT=server PROGID=OracleInProcServer.XOraSession id=OraSession SCOPE=Application></OBJECT>

Option Explicit

Sub Application_OnStart
OraSession.CreateDatabasePool 1,40,200, "dbname","user/pass",0
End Sub

Sub Application_OnEnd
OraSession.DestroyDatabasePool
End Sub

Sub Session_OnStart

End Sub

Sub Session_OnEnd

End Sub

<ASPコード内>一部抜粋
<%@ language="VBScript" %>
<% Option Explicit %>

Dim OraDB
Dim OraDS

Set OraDB = OraSession.GetDatabaseFromPool(10)
Set OraDS = OraDB.CreateDynaset("select 〜",0)


以上ですが、どなたかのアドバイスを受けたく存じます。
よろしくお願いします。

ちなみに、何か設定とか必要でしょうか?(IIS内で)







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

引用:

ちなみに、何か設定とか必要でしょうか?(IIS内で)


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

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