[pgsql-jp: 37356] ラージオブジェクト、ファイル取得についての質問

yoshihiro tada toronet2002 @ hotmail.com
2006年 7月 24日 (月) 19:06:03 JST


お世話になっております。多田と申します。
ラージオブジェクトについて質問があり、この度投稿させて頂きます。

Postgresに格納されているラージオブジェクト(PDFファイル)を
lo_export()を使用し、クライアントのファイルシステム上へ格納
する時にエラーが発生します。
(pg_shadowのusesuper情報に関しては、TRUEとなっております。)

PostgresとWindowsの権限の関係で、何か問題がありますでしょうか?


以下(ソースコード)のSystem.Security.Cryptography.Oid型は、
初めはlong型にしていたのですが上手く行かないので、上記の型に
しました。

【環境】
使用Var :Postgres 8.1
クライアントファイルシステム:WindowsXP
ソフト:Visual Studio C#


【ソースコード】

	[System.Runtime.InteropServices.DllImport("libpq.dll")]
	extern static int lo_export( ref NpgsqlConnection conn,
	System.Security.Cryptography.Oid lobjId, string filename );

	(※libpq.dllが参照しているその他のdllは、全てプロジェクトに
	  追加してあります。)

	public void export()
	{
	  NpgsqlConnection conn = コネクション情報;
	  System.Security.Cryptography.Oid lobjId = ラージオブジェクトのOid;
	  string filename = @"C:\a.pdf";
	  lo_export(ref conn, lobjId, strFileName);
	}


【エラー内容】

	lo_export(〜); の行で、
	「保護されているメモリに読み取りまたは書き込み操作を行おうとしました。
	 他のメモリが壊れていることが考えられます。」
	というエラーが出力されます。


ご存知の方がおられましたら、回答の程宜しくお願い致します。





pgsql-jp メーリングリストの案内