![SqlCeDataReaderをリードすると異常に遅い SqlCeDataReaderをリードすると異常に遅い](http://rokuz.com/wp-content/uploads/2009/04/snag-0145-400x228.png)
photo by Bеn
SQL Server Compact 3.5のSqlCeDataReaderを使用して、”While”ステートメントでループ処理を行い、データをリード。
SQL Server 2008 ExpressではSqlDataReaderを使用して、同様の処理を行えますが処理時間が異常に違います。
なにか、設定が必要なのか?といっても、SqlCeDataReaderにはSeekぐらいしか見あたらないし……
続きを読む…
SQL Server, データベース
2008, 3.5, compact, Express, sql, SqlCeDataReader, サーバー
![SQL文は1文づつしか発行できません。 SQL文は1文づつしか発行できません。](http://rokuz.com/wp-content/uploads/2009/04/snag-0144-400x225.png)
photo by tolis*
SQL Server 2008 Expressなどでは、SQL文をまとめて発行できます。
例えば下記のような文です。
コマンドラインで操作するときのように”;”でSQL文を締めて発行すれば受け付けてもらえます。
DELETE from hoge WHERE hoge_id = 1;
DELETE from hoge WHERE hoge_id = 2;
DELETE from hoge WHERE hoge_id = 3;
しかし、SQL Server Compact 3.5ではこれは受け付けてもらえませんん。
仕様のようです、あきらめて一文づつ発行するしかないようです。
SQL Server, データベース
2008, 3.5, compact, sql, サーバー
![datetime型の項目からWhere句で該当日付のみ抽出 datetime型の項目からWhere句で該当日付のみ抽出](http://rokuz.com/wp-content/uploads/2009/04/snag-0143-400x247.png)
photo by Steve-h
SQL Server 2008から、Date型、Time型が追加となりましたね。
SQL Server 2005までは、Datetime型しかなく「日付のみ保持したいのに…」とか、「時刻のみ保持したい…」という場合も、datetime型で代用していました。
ですが、日時をまとめて保持したい場合は、datetime型を利用します。
たとえば、 ‘2009/01/01’の値が入っている該当項目を抽出したいとき、下記のように問い合わせても抽出できません。
比較対象が、datetime型なので日付ではないからです。
続きを読む…
SQL Server, データベース
2005, 2008, 3.5, compact, convert, datetime, sql, サーバー
![SQL Server Compact 3.5 でIDENTITY値を再設定 SQL Server Compact 3.5 でIDENTITY値を再設定](http://rokuz.com/wp-content/uploads/2009/04/snag-0142-400x225.png)
photo by TommyOshima
SQL Server 2008 Expressなどの、Transact-SQLでは、SQL Server のデータベース コンソール コマンドとして機能するDBCCステートメントが用意されていて、この機能を使用すれば、IDENTITY値の再設定が可能でした。
しかし、SQL Server Compact 3.5 ではDBCCはサポートされていません。
テーブルを一旦、空にして、IDENTITY値を初期値に戻したい時などに必要でした。
続きを読む…
SQL Server, データベース
2008, 3.5, compact, identity, sql, tips, サーバー
![SQL Server Compact 3.5 でTRUNCATE TABLEは使えない SQL Server Compact 3.5 でTRUNCATE TABLEは使えない](http://rokuz.com/wp-content/uploads/2009/04/snag-0141-400x274.png)
photo by -Angela
SQL Server 2008 Expressなどの、Transact-SQLでサポートされている、TRUNCATE TABLE ステートメントがあります。
TRUNCATE TABLEを使用すると、指定したテーブル内のすべての行を削除してくれる便利な文です。
DELETE ステートメント に、WHERE句をつけなければ、TRUNCATE TABLEを発行するのと同等にテーブル内のすべての行を削除することは可能なのですが、TRUNCATE TABLEはテーブル内削除のためだけの関数なため、利点がいくつかあります。
続きを読む…
SQL Server, データベース
2008, 3.5, compact, Express, sql, table, Transact, truncate, サーバー
![TOP句の記述の許容の違い TOP句の記述の許容の違い](http://rokuz.com/wp-content/uploads/2009/04/snag-0140-400x255.png)
photo by artzy.viva
SQL Server Compact 3.5で、TOP句を記述してエラーとなりました。
SQL Server Compact 3.5はイマイチ、返されるエラーが大雑把で原因が分かりにくいですね。
エラーとなったTOP句を含んだ文
select TOP 1 hoge_id from hoge ORDER BY hoge_id DESC
続きを読む…
SQL Server, データベース
2008, 3.5, compact, sql, top, Transact, サーバー
![SQL Server 2008 と SQL Server Compact 3.5を比較 SQL Server 2008 と SQL Server Compact 3.5を比較](http://rokuz.com/wp-content/uploads/2009/04/snag-0118-400x226.png)
photo by hwtnv2006
SQL Server 2008(Editionがいくつかありますが、コアエンジンは同じ)と、SQL Server Compact 3.5これらの違いはどこにあるのでしょうか?
機能差があまりなければ、SQL Server 2008を使用して動作するアプリケーションソフトをデータベース接続部分の切り替えのみで、動作させることができます。
SQL Server Compact 3.5の特徴として
- DLL7つで構成されている
- XCopyでインストール作業は必要ない
- 構成ファイルの容量が3MB未満
この3つから考えても、SQL Server 2008と比較した際、いくつもの機能が省略されているものと思われます。なにができて、なにができないのでしょうか?
続きを読む…
SQL Server, データベース
2005, 2008, 3.5, compact, sql, サーバー, 比較
![sqlserver compact 3.5 接続 sqlserver compact 3.5 接続](http://rokuz.com/wp-content/uploads/2009/03/snag-0008-400x265.png)
photo byPhoto by Harry Browne
SQL Server Compact3.5をデータベースとして使用する、ソフトウェアで、起動時にデータベースファイル(hoge.sdf)の存在可否をチェックし、存在しなければファイルを生成する場合、どのようなコードでデータベースを作成するのでしょう。
続きを読む…
SQL Server, データベース
3.5, compact, sql, サーバー, データベース
![SQL Server Compact Edition](http://rokuz.com/wp-content/uploads/editions-compact.jpg)
SQL Server Compact3.5SP1がMicrosoftより、無償リリースされています。
今回、作成しているソフトからスタンドアローン環境で使用するデータベースの選定で、Jetエンジン(Access MDBファイル)にしようかと思っていたのですが、SQL Server CompactがJetより優れていればこちらを採用しようというわけで、機能比較を調査してみました。
まず、選定条件から。
- インストールが容易(これが重要ですね。)
- 堅牢
- SQL Server Express(MSDE)との互換性
これらが、まず頭に浮かぶ選定条件となります。
続きを読む…
SQL Server, データベース
Access, compact, sql