[seasar-dotnet:684] Re: [S2Dao.NET]BLOB列のEntity定義について
Kazuya Sugimoto
[E-MAIL ADDRESS DELETED]
2007年 11月 27日 (火) 22:32:35 JST
杉本です。
meiさん、ありがとうございます。
ということは、吉田さんがOracleClientでうまくいかなかったのは、
Oracleのバージョンか何かかもしれませんねぇ。
07/11/27 に mei さんは書きました:
> こんばんは、meiです。
>
> 383KBのjpgファイルを挿入して取得しなおしてみましたが、
> 問題なく取得出来ました。
>
> 一応、テストコードを書いておきます。
>
> -- ここから
> IUserDao userDao = container.GetComponent (typeof (IUserDao)) as
> IUserDao;
>
> string filename = "xxx.jpg"; // 383KBのjpg
> User user = new User ();
> user.Name = "mei";
> user.Age = 0;
> BinaryReader br = new BinaryReader (new FileStream
> (filename,FileMode.Open));
> user.Item = br.ReadBytes ((int)br.BaseStream.Length);
> br.Close ();
> userDao.Insert (user);
>
> IList list = userDao.Select ("mei");
> foreach (User u in list)
> {
> FileStream fs = new FileStream ("temp.jpg", FileMode.CreateNew);
> fs.Write (u.Item, 0, u.Item.Length);
> fs.Close ();
> }
> -- ここまで
>
> -----Original Message-----
> From: [E-MAIL ADDRESS DELETED]
> [mailto:[E-MAIL ADDRESS DELETED]] On Behalf Of Kazuya Sugimoto
> Sent: Tuesday, November 27, 2007 4:53 PM
> To: [E-MAIL ADDRESS DELETED]
> Subject: [seasar-dotnet:677] Re: [S2Dao.NET]BLOB列のEntity定義について
>
> 杉本です。
>
> meiさん、ありがとうございます。m(_ _)m
>
> よろしければ8000バイト以上のデータで試してもらえないでしょうか?
>
> 07/11/27 に mei<[E-MAIL ADDRESS DELETED]> さんは書きました:
> > こんにちは、meiです。
> >
> > OracleClientで実験してみました。
> >
> > // Entity
> > [Table("Users")]
> > public class User
> > {
> > private string name;
> > public string Name
> > {
> > get { return name; }
> > set { name = value; }
> > }
> >
> > private int age;
> > public int Age
> > {
> > get { return age; }
> > set { age = value; }
> > }
> >
> > private byte[] item;
> > public byte[] Item
> > {
> > get { return item; }
> > set { item = value; }
> > }
> > }
> >
> > テーブルは
> > create table Users (name varchar2(32) primary key, age number not null,
> > image blob);
> > で、作成しています。
> >
> > で、実行したコードは、
> >
> > IUserDao userDao = container.GetComponent (typeof(IUserDao)) as
> > IUserDao;
> >
> > User user = new User ();
> > user.Name = "mei";
> > user.Age = 0;
> > user.Item = Encoding.Default.GetBytes ("Hello, World");
> > userDao.Insert (user);
> >
> > IList list = userDao.Select ("mei");
> > foreach (User u in list)
> > Console.WriteLine ("Name={0}, Age={1}, Image={2}", u.Name, u.Age,
> > Encoding.Default.GetString (u.Item));
> >
> > これだと、問題なく挿入したデータが取得できますね。
> > あとは、どんなパターンを試してみれば良いですか?
> >
> >
> > -----Original Message-----
> > From: [E-MAIL ADDRESS DELETED]
> > [mailto:[E-MAIL ADDRESS DELETED]] On Behalf Of Kazuya Sugimoto
> > Sent: Tuesday, November 27, 2007 10:39 AM
> > To: [E-MAIL ADDRESS DELETED]
> > Subject: [seasar-dotnet:674] Re: [S2Dao.NET]BLOB列のEntity定義について
> >
> > 杉本です。
> >
> > Object型での検証ありがとうございます。
> >
> > System.Data.DbType.ObjectからOracleType.Blobに推測されるとあったので、
> > Object型でいくかと思ったのですが・・Oracle詳しい人助けてください・・
> > http://msdn2.microsoft.com/ja-jp/library/bbw6zyha(VS.80).aspx
> >
> > OracleClientだとS2Dao.NETだと無理で、OracleLobクラスを使わないと
> > いけないのかもしれませんね。
> > http://msdn2.microsoft.com/ja-jp/library/cydxhzhz(vs.80).aspx
> >
> > ODP.NETの方ですが、念のため8,000バイト(2,000 バイトで良いのかな?)
> > を超えるデータも試しておいてください。
> >
> >
> > 07/11/27 に Takafumi Yoshidaさんは書きました:
> > > いつもお世話になります。吉田@オプティクスです。
> > >
> > > 返事が遅くなりまして、すいません。
> > >
> > > 07/11/25 に Kazuya Sugimoto<[E-MAIL ADDRESS DELETED]> さんは書きました:
> > > >ちなみにデータプロバイダはODP.NETですか?
> > > いいえ。
> > > System.Data.OracleClientを使用しています。
> > >
> > > ODP.NETに変えてみたところ、正常に動作しているようです。
> > >
> > > > 型をObjectにして、そこにバイト配列をセットして、試してもらえませんか?
> > >
> > > この場合ODP.NETでもSystem.Data.OracleClientでもエラーとなり、正しく動作
> し
> > ません
> > > でした。
> > >
> > > 以上、宜しくお願いいたします。
> > >
> > > |--------||--------||--------||--------||--------||--------|
> > > 有限会社オプティクス
> > > 700-0971
> > > 岡山県岡山市野田3-1-18 安田ビル5F
> > > TEL:086-246-9321
> > > FAX:086-246-5117
> > > http://www.optics-net.com
> > > mail:[E-MAIL ADDRESS DELETED]
> > > gmail:[E-MAIL ADDRESS DELETED]
> > > |--------||--------||--------||--------||--------||--------|
> >
> >
> >
> > --
> > Kazuya Sugimoto
> > Microsoft MVP Visual Developer - Solutions Architect
> > http://d.hatena.ne.jp/sugimotokazuya/
> > _______________________________________________
> > seasar-dotnet mailing list
> > [E-MAIL ADDRESS DELETED]
> > https://ml.seasar.org/mailman/listinfo/seasar-dotnet
> >
> > _______________________________________________
> > seasar-dotnet mailing list
> > [E-MAIL ADDRESS DELETED]
> > https://ml.seasar.org/mailman/listinfo/seasar-dotnet
> >
>
>
> --
> Kazuya Sugimoto
> Microsoft MVP Visual Developer - Solutions Architect
> http://d.hatena.ne.jp/sugimotokazuya/
> _______________________________________________
> seasar-dotnet mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-dotnet
>
> _______________________________________________
> seasar-dotnet mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-dotnet
>
--
Kazuya Sugimoto
Microsoft MVP Visual Developer - Solutions Architect
http://d.hatena.ne.jp/sugimotokazuya/
seasar-dotnet メーリングリストの案内