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

mei [E-MAIL ADDRESS DELETED]
2007年 11月 27日 (火) 14:39:23 JST


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