備注學(xué)院

          LuLu

            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            5 隨筆 :: 50 文章 :: 16 評(píng)論 :: 0 Trackbacks
          Berkeley DB 是個(gè)馳名已久的好東西,在專用領(lǐng)域,其性能罕有敵手。作為其 .NET 平臺(tái)的封裝版本,Berkeley DB for .NET 卻讓人感覺非常郁悶,且不說那類似 C++ 風(fēng)格的源碼,單就其升級(jí)維護(hù)周期都讓人很不放心。有點(diǎn)不理解,為什么作者不參考 Berkeley DB for Java ~~~~ 不過還好,0.95 版本的發(fā)布,讓我們看到了實(shí)用的可能。Berkeley DB for .NET 的源碼和文檔看得我頭暈?zāi)X脹,如果有什么差錯(cuò),多多包涵……

          有關(guān) Berkeley DB 的基本概念,可參考以下文章。

          嵌入式數(shù)據(jù)庫系統(tǒng)Berkeley DB (施聰)
          Berkeley DB 概述 (皮東)

          C/C++ 使用教程

          風(fēng)滿袖

          ----------- 犯困的分隔線 ----------------------

          先下載相關(guān)的程序包。

          Berkeley DB 4.5.20
          Berkeley DB for .NET 0.95

          將兩個(gè)包中的 "libdb45.dll、libdb_dotNET45.dll、BerkeleyDb.Utils45.dll、Kds.Serialization.dll" 等文件拷貝到你的項(xiàng)目工程相關(guān)目錄中,并將 Berkeley DB for .NET 的程序集(后三個(gè)文件) 添加到工程引用中。OK,還是老樣子,先來個(gè)簡(jiǎn)單的 "Hello, World!" 試試。
          using System;
          using System.Collections.Generic;
          using System.Text;
          using System.IO;
          using BerkeleyDb;
          using BerkeleyDb.Serialization;
          using Kds.Serialization;
          using Kds.Serialization.Buffer;

          namespace ConsoleApplication1
          {
            public class Program
            {
              static void Main(string[] args)
              {
                using (Db db = new Db(DbCreateFlags.None))
                {
                  DbFile dbf = db.Open(null, @"test._db", null, DbType.BTree, Db.OpenFlags.Create, 0);

                  DbEntry key = DbEntry.InOut(BitConverter.GetBytes(123));
                  DbEntry data = DbEntry.InOut(Encoding.UTF8.GetBytes("Hello, World!"));

                  Console.WriteLine(dbf.Put(null, ref key, ref data));
                  dbf.Sync();

                  ReadStatus status = dbf.Get(null, ref key, ref data, DbFile.ReadFlags.None);
                  string s = Encoding.UTF8.GetString(data.Buffer, 0, data.Size);
                  Console.WriteLine(s);
                }
              }
            }
          }

          輸出:
          Success
          Hello, World!
          posted on 2008-11-13 10:35 smildlzj 閱讀(972) 評(píng)論(2)  編輯  收藏 所屬分類: 數(shù)據(jù)庫C#

          評(píng)論

          # re: Berkeley DB for .NET - Hello, World![未登錄] 2012-04-11 10:47 lee
          上面提供的下載地址不可下載
          我在其他網(wǎng)站上找到的libdb45.dll怎么在vs08上面添加引用怎么添加不進(jìn)來
          你的libdb45.dll是在哪下載的?給以發(fā)一份給我嗎


          謝謝!!!  回復(fù)  更多評(píng)論
            

          # re: Berkeley DB for .NET - Hello, World![未登錄] 2012-04-11 10:48 lee
          噢~ 忘記說我的聯(lián)系方式了 cololee@foxmail.com 謝謝了 或者是+我交流也行Q373216365  回復(fù)  更多評(píng)論
            

          主站蜘蛛池模板: 收藏| 资兴市| 邹城市| 商丘市| 内黄县| 昭觉县| 武宣县| 鱼台县| 安庆市| 扶余县| 三河市| 云梦县| 莒南县| 白沙| 岑巩县| 霍州市| 正安县| 聊城市| 千阳县| 长汀县| 五原县| 海门市| 甘洛县| 阿瓦提县| 澳门| 蓝田县| 保靖县| 汉中市| 潞城市| 金湖县| 光泽县| 柘城县| 郑州市| 田东县| 平江县| 中牟县| 丽水市| 乌拉特后旗| 庆元县| 阿勒泰市| 郁南县|