顯示具有 Database 標籤的文章。 顯示所有文章
顯示具有 Database 標籤的文章。 顯示所有文章

2009年4月10日

SqLite.Net CRUD 參數語法 by C#

記錄使用 SQLite 的 ADO.NET 2.0 Provider 參數式寫法 by C#。

下面語法無效
dbCommand.Parameters.AddWithValue("@parameter", value);

下面語法才能成功傳遞參數
dbCommand.Parameters.Add(new SQLiteParameter("@parameter"));
dbCommand.Parameters["@parameter"].Value = value;


下面是一個 sample code
string SqlText = "Delete From Brand Where id=@id";
SQLiteCommand dbCmd = new SQLiteCommand(SqlText, _sCon);
dbCmd.Parameters.Add(new SQLiteParameter("@id"));
dbCmd.Parameters["@id"].Value = BrandID;
_sCon.Open();
dbCmd.ExecuteNonQuery();
_sCon.Close();

2009年3月3日

SQLite.NET Connection Strings

之前在網路上尋得 SQLite 的 ADO.NET 2.0 Provider,順便整理網路上查到的 SQLite Connection String 的資料。作為未來寫程式的參考資料。

最基本
Data Source=dbname;Version=3;
Data Source:資料庫檔案名稱
Version:版本

使用 UTF16 編碼
Data Source=dbname;Version=3;UseUTF16Encoding=True;
UseUTF16Encoding:True(啟用),False(關閉)

使用 Connection Pooling
Data Source=dbname;Version=3;Pooling=True;Max Pool Size=100;
Pooling:True(啟用),False(關閉)


範例
Data Source=C:\folder\dbname.db;Version=3;Compress=True

2009年2月14日

SQLite

微軟釋放可以免費使用的 SQL Express 2008,對個人使用者來講是一大德政。但是對於個人單機使用上我還是覺得太複雜。最近不小心在 Internet 上發現有 SQLite 的 ADO.NET 2.0 Provider,讓我回頭再檢視 SQLite 的特性。它有下列特性:
  • 支援ACID (Atomic, Consistent, Isolated, Durable) transaction。
  • 支援大部分 92 SQL語法。
  • 不需要管理者,以及額外的設定。
  • 一個資料庫為單一檔案。
  • 支援 TCL,也支援很多其他語言。
  • 是一個自由軟體的關聯式資料庫。
  • 佔用記憶體小。
  • 誇平台。

由於它的簡單很適合開發崁入式與個人單機的程式。從文字內容看似簡單,也要試試才知道是否可以拿來開發程式使用。於是按照官方網站(http://www.sqlite.org/)的文件,測試看看是否OK。下面記錄 command-line 的模式下的語法與結果。

sqlite3 test.db
SQLite version 3.6.10
Enter ".help" for instructions
sqlite> create table tbl1(one varchar(10), two smallint);
sqlite> insert into tbl1 values('hello!',10);
sqlite> insert into tbl1 values('goodbye', 20);
sqlite> select * from tbl1;
hello!10
goodbye20
sqlite>

經簡單測試,覺的真的很容易使用。但是靠 command-line 模式,覺得也不是挺方便。後來發現它的讚助者 Mozilla 在 FireFox 有個 add-on 元件提供一個 GUI 的管理程式。讓你很容易可以管理SQLite 的資料庫,可讓建立 Database 與 Table 更輕鬆。


下面是 SQLite 的 ADO.NET 2.0 Provider 的參考網站 http://sqlite.phxsoftware.com/。先記錄此網站。等待以後在 Visaul Express 2008 測試是否可以使用。

2008年9月18日

Sybase 11.9.2 清除交易日誌

程式已經使用一段時間,突然發現無法寫入資料或刪除資料,一直debug程式,發現程式應該沒有問題。最後發現是後端的 Sybase 11.9.2 Server transaction log 滿掉。

一行指令就可以把 transaction log 清除掉。
dump transcation databae_name with no_log

2008年6月26日

SQL Server 2005 Express Data Import/Export

工作需要,開始測試使用SQL Server Express 2005 開發一些程式。使用一段時間,發現 SQL Server 2005 Express 中沒有提供 Data Import / Export 工具,開始找有沒有工具可以解決此問題。後來發現只要安裝 Microsoft SQL Server 2005 Express Edition ToolKit,在安裝 SQL Server 2005 的目錄下 \Microsoft SQL Server\90\DTS\Binn 目錄中有一支 DTSWizard.exe 程式可以用來 Import/Export Data。下面是此程式開始的執行畫面。