[seasar-dotnet:683] Re: [S2Dao.NET]BLOB列のEntity定義について

mei [E-MAIL ADDRESS DELETED]
2007年 11月 27日 (火) 19:50:21 JST


こんばんは、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 メーリングリストの案内