出来るのだASP Q&A掲示板(過去LOG)  訪問数 52046 昨日 889 今日 776
    【PR】 パソコン入門からIT専門書まで幅広く取り揃えています。セブン-イレブン受取り手数料無料のセブンアンドワイ。
Topに戻る 掲示板に戻る 検索 削除 管理者

「3219:このコンテキストで操作は許可されていません。」エラーについて   ITITさん [2005/08/22 13:24:55] [5200]
  Re:「3219:このコンテキストで操作は許可されていません。」エラーについて   暇人さん [2005/08/22 14:43:03] [5201]
    Re:「3219:このコンテキストで操作は許可されていません。」エラーについて   ITITさん [2005/08/22 18:35:36] [5208]
      Re:「3219:このコンテキストで操作は許可されていません。」エラーについて   暇人さん [2005/08/23 12:24:22] [5214]

[5200] 「3219:このコンテキストで操作は許可されていません。」エラーについて
投稿者:ITITさん 2005/08/22 13:24:55
はじめまして。

現在ASPにてクライアントからアップされた画像ファイルをバイナリの状態でDBに保存する処理を書いています。
Basp21を使用して実装していますが、標題のエラーが発生している状態です。
この件に関して、他のサイトを参照しても以下のソースでできるようなことが書いてあります。標題のエラーについては公開されている情報が少なく困っている状態です。
エラーの発生箇所はAppendChunkを呼んでいる行です。


#HTML側ソース
<form action="input.asp" method="post" enctype="multipart/form-data">
<input type="file" name="img">
<input type="submit" name="btn_up" value="アップロード">
</form>


#ASP側ソース(input.asp)
Dim Basp
Dim Con
Dim Rst
Dim Binary
Dim TableName

Set Basp = Server.CreateObject("basp21")
Set Con = Server.CreateObject("ADODB.Connection")
Set Rst = Server.CreateObject("ADODB.Recordset")
Con.Open "*******"

Binary = Request.BinaryRead(Request.TotalBytes)
TableName = "test"

Rst.Open TableName, Con, 1, 2, 2
Rst.AddNew
Rst.AppendChunk Basp.FormBinary(Binary, "img")
Rst.Update
Rst.Close

Con.Close
Set Rst = Nothing
Set Con = Nothing
Set Basp = Nothing


#環境
Windows2000(IIS5.0) + PostgreSQL8.0.3

長くなりましたが、ご教示よろしくお願いいたします。

[5201] Re:「3219:このコンテキストで操作は許可されていません。」エラーについて
投稿者:暇人さん 2005/08/22 14:43:03
1、カーソルの選択を誤っている。keysetで駄目なときはdynamicでどうぞ。
2、ドライバの問題。ドライバによってはAppendChunk使えない。
3、FieldオブジェクトのAttributesが128未満。

等々考えられます。


> はじめまして。
>
> 現在ASPにてクライアントからアップされた画像ファイルをバイナリの状態でDBに保存する処理を書いています。
> Basp21を使用して実装していますが、標題のエラーが発生している状態です。
> この件に関して、他のサイトを参照しても以下のソースでできるようなことが書いてあります。標題のエラーについては公開されている情報が少なく困っている状態です。
> エラーの発生箇所はAppendChunkを呼んでいる行です。

[5208] Re:「3219:このコンテキストで操作は許可されていません。」エラーについて
投稿者:ITITさん 2005/08/22 18:35:36
返答ありがとうございます。
未だ解決には至っておりませんが、現状報告と再質問させてください。

> 1、カーソルの選択を誤っている。keysetで駄目なときはdynamicでどうぞ。
adOpenDynamic(2)を指定しましたが、同様のエラーが表示されました。

> 2、ドライバの問題。ドライバによってはAppendChunk使えない。
PostgreSQL8.0.3のインストール時にインストールされるODBCドライバを使用しています。
これが問題あるのかないのかは未だ調査していませんが、とりあえずです。

> 3、FieldオブジェクトのAttributesが128未満。
ご指摘のとおり、値は104でした。

以上が現状です。

さらに3の項目について質問させてください。
MSDN Libraryなんかには、Field.Attributesが128のときにAppendChunk, GetChunkが利用可能とあります。
暇人さんからご指摘いただいたのは、まさにこのことかと思っています。
で、INSERT対象のFieldのAttributesに128を指定したいのですが、

Rst.Fields("img")。Attributes = 128

と指定すると、

「3705:オブジェクトが開いている場合は、操作は許可されません。」

のエラーメッセージが表示されました。

ロックタイプなどが関連しているのか?とも考えましたが、何か特別な設定方法があるのでしょうか?

以上、よろしくご教示ください。


> 1、カーソルの選択を誤っている。keysetで駄目なときはdynamicでどうぞ。
> 2、ドライバの問題。ドライバによってはAppendChunk使えない。
> 3、FieldオブジェクトのAttributesが128未満。
>
> 等々考えられます。
>
>
> > はじめまして。
> >
> > 現在ASPにてクライアントからアップされた画像ファイルをバイナリの状態でDBに保存する処理を書いています。
> > Basp21を使用して実装していますが、標題のエラーが発生している状態です。
> > この件に関して、他のサイトを参照しても以下のソースでできるようなことが書いてあります。標題のエラーについては公開されている情報が少なく困っている状態です。
> > エラーの発生箇所はAppendChunkを呼んでいる行です。
>

[5214] Re:「3219:このコンテキストで操作は許可されていません。」エラーについて
投稿者:暇人さん 2005/08/23 12:24:22
まずFieldオブジェクトのAttributesですが、基本は読み取り専用です。
Updateした後には読み書き可能となるようです(本当に書き込めるか試したこと無いですが。)

 カーソルですが。ドライバによっては使用不可能なカーソルがあり、その場合異なるカーソルが設定されます。
ロックタイプと合わせていろいろ試す必要があります。

Postgresのドライバはいろいろな人が作ってますのでこれまた試してみる価値はあるかもしれません(元々フリーソフトですから)
もっともver8については私は良く知りません。

他にプログラムで対処する方法としましては
1、Streamオブジェクトを使用する方法に替える。
2、Commandオブジェクトを使用し、パラメータクエリを使う方法に替える。
の二点が考えられます。


> 返答ありがとうございます。
> 未だ解決には至っておりませんが、現状報告と再質問させてください。
>
> > 1、カーソルの選択を誤っている。keysetで駄目なときはdynamicでどうぞ。
> adOpenDynamic(2)を指定しましたが、同様のエラーが表示されました。
>
> > 2、ドライバの問題。ドライバによってはAppendChunk使えない。
> PostgreSQL8.0.3のインストール時にインストールされるODBCドライバを使用しています。
> これが問題あるのかないのかは未だ調査していませんが、とりあえずです。
>
> > 3、FieldオブジェクトのAttributesが128未満。
> ご指摘のとおり、値は104でした。
>
> 以上が現状です。
>
> さらに3の項目について質問させてください。
> MSDN Libraryなんかには、Field.Attributesが128のときにAppendChunk, GetChunkが利用可能とあります。
> 暇人さんからご指摘いただいたのは、まさにこのことかと思っています。
> で、INSERT対象のFieldのAttributesに128を指定したいのですが、
>
> Rst.Fields("img")。Attributes = 128
>
> と指定すると、
>
> 「3705:オブジェクトが開いている場合は、操作は許可されません。」
>
> のエラーメッセージが表示されました。
>
> ロックタイプなどが関連しているのか?とも考えましたが、何か特別な設定方法があるのでしょうか?
>
> 以上、よろしくご教示ください。
>
>
> > 1、カーソルの選択を誤っている。keysetで駄目なときはdynamicでどうぞ。
> > 2、ドライバの問題。ドライバによってはAppendChunk使えない。
> > 3、FieldオブジェクトのAttributesが128未満。
> >
> > 等々考えられます。
> >
> >
> > > はじめまして。
> > >
> > > 現在ASPにてクライアントからアップされた画像ファイルをバイナリの状態でDBに保存する処理を書いています。
> > > Basp21を使用して実装していますが、標題のエラーが発生している状態です。
> > > この件に関して、他のサイトを参照しても以下のソースでできるようなことが書いてあります。標題のエラーについては公開されている情報が少なく困っている状態です。
> > > エラーの発生箇所はAppendChunkを呼んでいる行です。
> >



TreeBBS For ASP V.0.1.3
Program By YasNet