5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

sqliteを語るスレ

1 :名無しさん@お腹いっぱい。:03/06/30 16:01 ID:3hdiLYQO
とりあえず立てときますた

参考:http://www.sqlite.org

2 :名無しさん@お腹いっぱい。:03/06/30 16:02 ID:???
>>2またお前かよ、なんなんだよ「2」ってのは、何か楽しいのか?お前さぁ、みんなが楽しく話してるところに近付いただけでススーっと目を合わさずに去られたって事ってないか?
なに? いつだってそうなのか?まぁ、そうだろうな。一般社会ではお前みたいにキモいヤツは相手にしたくないんだよお前はネットの中でも「おマメ」みたいなもんだからな
引きこもった挙げ句、朝からネットにかじりついてスレが立つのを一日中待ち、すかさず「2」と書き込む。 つまんねえ人生だな
みんなが書き込む掲示板に「2」って書き込んだことで自分も社会に参加してるつもりになってんだろ
それにしてもさぁ、もう少し考えろよなんとか社会復帰しようと一晩中考えて出来たギャグが「2」かよ!!
おまえさぁ、一度外に出て人が話してるところでいきなり「2!」って言ってみろよ!もうダメなんだよ、無理なんだよ、お前には
ネット社会ですらコミュニケーションとれてないじゃんわからないだろうけどさぁ
みんな苦虫を噛み潰すような目でお前の自信作の「2」を見てるんだよそう、もう終わりにしようよ、この先楽しい事なんかないんだよ、きっと。



3 :名無しさん@お腹いっぱい。:03/06/30 21:49 ID:???
誰か使ってる人いませんか?

4 :nobodyさん:03/07/01 18:36 ID:KD9GbSVt
PHP5でデフォルトでバンドルになったはいいけど、
Windows + Apache + MySQL + phpMyAdmin 環境で
ずっとテストやってたからとりあえずどうしていいかわかんないや。

PEAR DBはまだサポートしてないんですよね?
んでもってphpMyAdminみたいなツールはSQLiteにはあるのかなあ。

まあPHP5デフォルトバンドルになる以上、
今後お付き合いしていくのは間違いないだろうと思われるので期待あげ。
詳しい方解説きぼん。


5 :名無しさん@お腹いっぱい。:03/07/12 11:37 ID:???
>んでもってphpMyAdminみたいなツールはSQLiteにはあるのかなあ。

ない。全部コマンドラインで頑張るのが漢のロマン。
ツール欲しかったらそれこそMySQLでやればいい、的なものだからねえ…。


6 :あぼーん:あぼーん
あぼーん

7 :ぼるじょあ ◆ySd1dMH5Gk :03/08/02 05:11 ID:???
     ∧_∧  ∧_∧
ピュ.ー (  ・3・) (  ^^ ) <これからも僕たちを応援して下さいね(^^)。
  =〔~∪ ̄ ̄ ̄∪ ̄ ̄〕
  = ◎――――――◎                      山崎渉&ぼるじょあ

8 :あぼーん:あぼーん
あぼーん

9 :山崎 渉:03/08/15 22:12 ID:???
    (⌒V⌒)
   │ ^ ^ │<これからも僕を応援して下さいね(^^)。
  ⊂|    |つ
   (_)(_)                      山崎パン

10 :山崎 渉:03/08/15 22:36 ID:???
    (⌒V⌒)
   │ ^ ^ │<これからも僕を応援して下さいね(^^)。
  ⊂|    |つ
   (_)(_)                      山崎パン

11 :NAME IS NULL:03/10/19 03:06 ID:fcozYorT
PEARのsqlite試し中
期待age

12 :あぼーん:あぼーん
あぼーん

13 :NAME IS NULL:03/10/23 21:14 ID:w0drDQcj
NUT NULLって書いたのにテーブルできてる・・・
スキーマダンプしてもNUT NULL・・・
ていうか誰も使ってないのかよぅ

14 :NAME IS NULL:03/10/29 09:35 ID:???
情報少なすぎです。

15 :NAME IS NULL:03/10/29 22:13 ID:i9iRWIvB
>>14
少ないからこそ話し合おうやないかと。
とりあえずはオフィシャルのマニュアルでなんとかいける。

PHPでPEAR DBインターフェイスで使ってます。
コマンドラインからCSVから一括インポートできないのが今面倒。
それくらい自分で作れってわかってはいるけど。
あと、完全なカラム名入りのINSERT文でダンプできないのも面倒。


16 :NAME IS NULL:03/11/05 13:36 ID:???
delphiのラッパーでやろうと思ってるんだけど、、、

17 :NAME IS NULL:03/11/06 22:49 ID:???
こんなツールもありますね。
SQLiteデータベースを操作するGUIツール。

SQLiteCC
http://bobmanc.home.comcast.net/sqlitecc.html
> SQLite Control Center is a visual tool for working with
> SQLite database files.

スクリーンショットはこちら。
http://home.comcast.net/~bobmanc/sqlitecc.jpg
http://home.comcast.net/~bobmanc/sqlitecc2.jpg


18 :NAME IS NULL:03/11/15 19:28 ID:pb0zFJJB
sqliteのワイド文字対応版ってない?

19 :NAME IS NULL:03/11/26 09:28 ID:hrsdO7GB
.NETユーザーにとても便利。
SQLite用のADO.NETデータプロバイダSQLite.NET登場。
http://sourceforge.net/projects/adodotnetsqlite
まだα版ながら.NET Framework上ですでに動作。
これでODBCドライバもDSN登録もいらなくなった。

20 :NAME IS NULL:03/11/29 15:59 ID:BZztAbw6
SQLでデータベースを操作するGUIツールなら、SQLite専用を考えなくても、
ODBCで接続してくれる汎用のものを使えばいいよ。というか、それが普通。
定番は「Common SQL Environment」かな。->
http://www.hi-ho.ne.jp/tsumiki/
同じフリーウェアの範囲だけでも、
「ぷれぷれPlus」 http://www.geocities.jp/nai_777/
「ODBC Order」 http://homepage2.nifty.com/KENCH/
もSQLiteに使えている。どれも日本製だからちゃんと日本語データが通る。
むろんどれ使うときも、まずはSQLite用のODBCドライバをインストールして
データソースネームを登録してDSNで接続する。

21 :NAME IS NULL:03/11/29 21:01 ID:???
>>20
情報ありがとう。でも、

> まずはSQLite用のODBCドライバをインストールして
> データソースネームを登録して

これが面倒(と感じる人もいるよね)。

22 :NAME IS NULL:03/12/01 00:51 ID:???
PHPで使おうと思ってるんですが、日本語(EUC)は通りますか?


23 :20:03/12/01 09:34 ID:O/R85Nmb
ODBCドライバのインストールは一度やっとけばいいやと思うけれども、
データソースネームの登録をデータベースごとにいちいちやるのは
本当にうっとうしい操作で嫌いです。
でも今の所こうするしかないようで・・・いい手あったら教えて下さい。
JScriptやVBScriptなどからSQLiteやJetを使うときは 、
DSNなしでドライバ名とファイル名を直接指定する接続の方を
使っちゃうんですが、この手はどこでも通用するわけではないようで。

24 :NAME IS NULL:03/12/01 16:34 ID:???
API経由で作れるんだから、必要なときにその場でスクリプトから
作ってしまうのはどうか

25 :名無しさん@Linuxザウルス:03/12/01 19:55 ID:fM+FlLdE
コンパクトなので組込用途にも使えそうでつ。

26 :23:03/12/02 09:12 ID:UGNuLnLW
>>24
データソースネームの登録をスクリプトからしてしまうということでしょか。
できるかも。方法を調べてみます。

27 :23:03/12/02 10:31 ID:/D3psl+q
ありました。DSN登録はスクリプトでもできそうです。
「ファイルDSNを使用して接続する」
http://homepage2.nifty.com/inform/vbdb/filedsn.htm
というVBでのサンプルみつけました。これを応用すればできそうです。

28 :23:03/12/02 11:00 ID:/D3psl+q
あれ。APIを使うならこっちでしたか。
「ODBCデータソースの登録・削除 (API) 」
http://homepage2.nifty.com/inform/vbdb/api_dsn.htm
何度も失礼しました。

29 :NAME IS NULL:03/12/05 14:41 ID:zpfAzYND
100行ほどのデータを
SQLiteとMySQLにつっこんで、
それぞれ一万回selectしてみたけど、
MySQLの方が速かった…

↓一万回selectにかかった時間
 SQLite        MySQL
2.0537250042     1.35091304779
1.91771602631     1.58153700829
2.04412007332     1.39080893993
1.93604099751     1.38392806053
1.98756504059     1.34185707569


30 :NAME IS NULL:03/12/05 22:33 ID:???
>>29
何回おきにcommitした?


31 :NAME IS NULL:03/12/05 22:34 ID:???
ああ、INSERTと読み間違えた。
ごめんなさい。


32 :NAME IS NULL:03/12/06 07:47 ID:Y3cvNAdD
データ投入のスピードはどうよ、おねーさん

33 :NAME IS NULL:03/12/06 21:12 ID:???
sqlite_create_function() や sqlite_create_aggregate() って
どんなことに使ってる?


34 :NAME IS NULL:03/12/07 18:13 ID:???
>>29
SQLiteの設定値は?
速度あげるためにチューニングした?

35 :NAME IS NULL:03/12/07 22:27 ID:???
>>34
そんなチューニングがあるのかい?

36 :NAME IS NULL:03/12/09 01:31 ID:???
MySQL使わない?としてSQLiteを使うのだろうか?
PHPにSQLiteが搭載されてもPostgreを使うのではと思う俺。
いやいやMySQLが擦り寄ってくるのでは?と期待する俺。


          正直なところSQLiteはどうだい?

37 :いなむらきよし:03/12/09 13:39 ID:90H4pzxx
キケー!

38 :NAME IS NULL:03/12/09 23:33 ID:???
とあるオンラインソフトを作ってるんですが、
データ量が多くなってきたのでデータベースを導入しようと思っていた矢先に
SQLite を見つけました。
ソースコードから全部結合させて SQLite を内包させちゃいます。
(これが組み込みってやつですよね?)
これから追っていくつもりなのでよろしくです。
ちなみに DB は初心者です。

39 :38:03/12/12 23:07 ID:fEBGkoUY
オンラインソフトってのは、Windows 用のフリーソフトとか
シェアウェアとかです。
既存のソフトのデータベースを SQLite のデータベースに変換する
プログラムを書いたんですが、以外と遅いですね。

40 :NAME IS NULL:03/12/13 09:27 ID:???
>>39
そゆ書き方をすると「SQLiteって遅いのか」というイメージだけが広がって
「遅いからクソ」とか自分は知りもしないのにけなす奴が増えていく悪寒


41 :38:03/12/13 20:07 ID:???
>>40
ごめんなさい。私がまさにそういうイメージを植え付けられて試していたフシがあります。
で、TRANSACTION 化(って言うのかな?)すると十分に実用的な速度になりました。
だいたい10万件くらいのデータを変換したんですが、所要時間のほとんどが
SQL 文を作る処理で、SQLite の速度はめちゃ速かったです。
フリーソフトとかに組み込むような用途では SQLite 以外の
選択肢は考えられないように思います。速いし。

42 :NAME IS NULL:03/12/14 14:35 ID:???
>>40
そゆ書き方をすると「SQLiteって遅いのか」というイメージだけが広がって
「遅いからクソ」とか自分は知りもしないのにけなす奴が増えていく悪寒

>>41
比較などの詳細をキボンヌ。

43 :38:03/12/18 01:01 ID:???
SQLiteCC をちょっぴり日本語化してみました。
グリッドに日本語を表示できます。グリッドで更新もできます。
クエリー部では日本語を使えません。ごめんなさい。
http://d.hatena.ne.jp/halts/20031217#1071676215

>>42
そのうち。

44 :NAME IS NULL:03/12/23 13:03 ID:???
WEB+DB PRESS Vol.18 pp.86-94

45 :NAME IS NULL:04/01/02 14:56 ID:cP+5Z7n4
SQLiteExplorer というGUIツールを知りました。外国製にしては珍しく
文字セット変更があって日本語が使える。
作者や出所が不明になっているらしいですが、下でダウンロードは可能。
http://members.rogers.com/mbi/software/software_index.htm

46 :NAME IS NULL:04/01/02 17:19 ID:GTnsxWCQ
データ型のないSQLiteで、型の宣言をしています?
(1) 無意味だからやらない。 (2) 目印になるからやる。
(3) しないよりした方がいいと言う人がいるからやる。
(4) するとやっかいな結果になるからやらない。
など、考えていますが、どれが適当かはわかりません。
Date型を付けてしまって、後悔したことがあります。
読むときにアプリのDateTime型が例外を出してきたり...
単なる目印のつもりはまずいことがある。ということはメリットは?
Integerも要注意みたい。

47 :NAME IS NULL:04/01/02 21:34 ID:???
>>46
> Date型を付けてしまって、後悔したことがあります。
> 読むときにアプリのDateTime型が例外を出してきたり...

具体的にどんなことになったの?


48 :NAME IS NULL:04/01/05 11:44 ID:gQ8zMdLQ
NULLの扱いがよくわからん!

49 :46:04/01/06 10:49 ID:Pt3TSpWu
>>47
ADO.NETのDataSetに型の指定をしないデフォルトの読み込みをすると、
Date型をSQLiteで指定してあるときは、それをスキーマから読み取るようで、
.NETのDateTime型を使ったDataSetができて、データが"2004/01/02"という
形式でないと読み込みのエラーを起こすのが原因らしいです。
こういうことはADOのRecortSetでも起きるのかも。上にのってるSQLiteExplorer
でやってみるとわかる。Date型に"2004-01-02"なんていうデータでは、SQLでの
Insertはできても、読むときにはエラーになる。Integer型に"3.14"のデータでも
Double型に"テスト"でも、SQLiteは受け付けるけれど、
SQLiteExplorerは読み取り表示ができない。といったことです。
読むときの型を指定すればいいと思うかもしれないけど、SQLite専用に何でも
Stringで読む指定は何とかできるかもしれないけど、一般的には
もう汎用性がなくなって、用途によっては困ると思います。

50 :NAME IS NULL:04/01/06 15:45 ID:???
>>49
SQLite以前に型チャックちゃんとしようぜ。
Double型に文字列を投入しちゃうようなプログラムはダメだ。

51 :46:04/01/07 09:06 ID:UJmgjzrz
>>50
けっきょく、そういうことです。
型のないSQLiteに型チェックなんかないし、
型をつければ、それをスキーマから読んであてにしようとするプログラムは
あるんだから。いっそ型を付けない方が正しい。型はないんだから。
>SQLite以前に型チャックちゃんとしようぜ。

52 :NAME IS NULL:04/01/07 16:10 ID:???
>>51
型はつけなよ。他のDBからテーブルをインポートしたり
エクスポートしたりするときそのまま持ってけるから便利じゃん。
君の場合は使ったADO.NETのラッパー?が型のチェックを
ちゃんとしてないだけじゃろ。

53 :NAME IS NULL:04/01/07 21:34 ID:???
>>49
Date型のカラムに '2004-01-02' という値が紛れ込んでてエラーになったという話ですか
どうしてそんなことに?

入力の際にそれをはねなかったのが問題だと思う


54 :46:04/01/08 11:00 ID:lOX/MR5Z
>>52
型はつけない方がむしろ正統と結論にしたのは、
型をつけて利用することの方が裏技に近いものと思った、ということです。
うまく使えば便利かも。

ADOやADO.NETがデータベースに付けられた型を見たあとそれをどう料理するかは、
もっと調べてみる。

>>53
元はMySQLのデータベースに入れてたデータなんです。
MySQLは Date型の書式に ISO準拠の国際標準書式"yyyy-mm-dd"を採用していて、これ以外ははねられる。
だからこれをSQLiteにそのままインポートしても全部 '2004-01-02'の書式。日付は例でした。
変換してからインポートが正しい? ISO書式じゃだめ?
どうせSQLiteは Date型にすれば日付計算がサポートされるなんてわけないから、
Date型を付けなけりゃうまくいったのに、との後悔だったんだけど・・・

55 :46:04/01/08 14:50 ID:wdL+QGFi
>>52
ラッパーの件がありました。たぶん、そこの問題じゃないです。
ADO.NETでも高級な DataSetでの例だったんです。
低級で高速な DataReaderでは、明示しなけりゃDateTime型にデータを投入しませんから、
もともと問題なしです。

56 :46:04/01/08 17:41 ID:7mJL8ouu
型チェックのことに話は膨らんじゃってごめんなさい。
言葉たらずでしたが、"2004-01-02"のデータはミス入力のつもりではなかったんです。
元々のこのDate型の話を整理すれば、こんなことです。
次の3つは同時に成り立たない。
(1) 日付の書式に ISO書式"yyyy-mm-dd"を使う。(MySQLと同じにする)
(2) SQLiteのデータ型に Dateを付ける。
(3) ADO.NETの DataSetをオートで使う。
だから、最も不要なものをやめるとすると(2)を選ぽうか、ということだったんです。
むろん、がんばれば、他にも手はあるにしても。
「Integer型に"3.14"のデータでも、Double型に"テスト"でも、SQLiteは受け付けるけれど」
が誤解の元でした。失礼しました。

57 :NAME IS NULL:04/01/08 18:37 ID:???
まあこれでも読め。

** NOTES:
**
** SQLite processes all times and dates as Julian Day numbers. The
** dates and times are stored as the number of days since noon
** in Greenwich on November 24, 4714 B.C. according to the Gregorian
** calendar system.
**
** 1970-01-01 00:00:00 is JD 2440587.5
** 2000-01-01 00:00:00 is JD 2451544.5
**
** This implemention requires years to be expressed as a 4-digit number
** which means that only dates between 0000-01-01 and 9999-12-31 can
** be represented, even though julian day numbers allow a much wider
** range of dates.
**
** The Gregorian calendar system is used for all dates and times,
** even those that predate the Gregorian calendar. Historians usually
** use the Julian calendar for dates prior to 1582-10-15 and for some
** dates afterwards, depending on locale. Beware of this difference.

58 :NAME IS NULL:04/01/08 18:43 ID:???
ついでにこれも読めや。

/*
** Parse dates of the form
**
** YYYY-MM-DD HH:MM:SS.FFF
** YYYY-MM-DD HH:MM:SS
** YYYY-MM-DD HH:MM
** YYYY-MM-DD
**
** Write the result into the DateTime structure and return 0
** on success and 1 if the input string is not a well-formed
** date.
*/
static int parseYyyyMmDd(const char *zDate, DateTime *p){
int Y, M, D;

Y = getDigits(zDate, 4);
if( Y<0 || zDate[4]!='-' ) return 1;
zDate += 5;
M = getDigits(zDate, 2);
if( M<=0 || M>12 || zDate[2]!='-' ) return 1;
zDate += 3;
D = getDigits(zDate, 2);
if( D<=0 || D>31 ) return 1;
zDate += 2;
while( isspace(*zDate) ){ zDate++; }
if( isdigit(*zDate) ){
if( parseHhMmSs(zDate, p) ) return 1;
}else if( *zDate==0 ){
p->validHMS = 0;
}else{
return 1;
}
p->validJD = 0;
p->validYMD = 1;
p->Y = Y;
p->M = M;
p->D = D;
if( p->validTZ ){
computeJD(p);
}
return 0;
}

59 :46:04/01/09 10:57 ID:vDXjRDTC
>>57 >>58
ずばりサポート、ありがとうございました。
訂正: ラッパーが対応していないも正解でした。
やることが山ほどできました。

60 :NAME IS NULL:04/02/10 22:26 ID:1wsqz1Hs
SQLiteManagerはなかなかいい。

しかし、情報が少ないよね〜
もう少しすればいろいろ情報も出てくるんだろうけど・・・

標準の関数が少ないのが辛い。

61 :NAME IS NULL:04/02/20 12:01 ID:???
良さそうなDBなのに、話がなかなか進まないね。
まあ、俺も使っていないのだが。

タイプレスのDBっていうのは、
アプリ側のやる仕事が増えそうな印象があって(それが本当かどうかはしらんが)、
それでなかなか触手が伸びないのかな?

62 :NAME IS NULL:04/02/21 02:04 ID:UE2tYF6F
MySQL なり PostgreSQL なりと同列に考えるような Web のバックエンドとしては
アプリ側の仕事が多くて使いにくいんでしょうが,Windows や Mac ネイティブな
ソフト用の組み込み DB としてはほかに選択肢がないから sqlite が一番だと思ってます.
自分でゴリゴリと DB 操作コードを書かなくていいのは激しく楽です.
JET エンジンとかがほかの選択肢なんでしょうか.
個人的には alter table がないのが厳しい.
あと,sqlite 自身ちょくちょくバージョンアップしてるみたいですが,
どこがどう変わったか公式サイトをみてもわからないのがつらいです.

63 :NAME IS NULL:04/02/22 00:53 ID:???
>>62
サイトは殺伐としすぎてますよね。
sqlite 自体に必要な機能を備えさせるのは構わないけど、サイトやらドキュメントは
もっと饒舌であってほしい。

64 :NAME IS NULL:04/02/22 13:34 ID:84o4/Ew4
>>62
http://www.hwaci.com/sw/sqlite/changes.html
ちゃんと書いてるだろうがヴォケ。英語嫁。空気嫁。

65 :NAME IS NULL:04/02/22 21:58 ID:4n+LahDS
>>64
あ,ほんとだ.こっちみてますた
http://www.sqlite.org/cvstrac/timeline
つーか
http://www.sqlite.org/
からそこに辿れないのが不親切よね(辿れたらスマソ)

66 :NAME IS NULL:04/02/23 08:23 ID:gJFAyjPD
>>65
http://www.sqlite.org/トップの、"Current Status"の"Change Summary"じゃだめなん?

67 :NAME IS NULL:04/02/23 09:16 ID:xmVB1NEu
辿れたよ。スマソ(65の代筆)。

68 :NAME IS NULL:04/02/23 14:51 ID:???
sqlite使ってますが、型なしで困るのが日付と時刻。
表示や入力フォーマットの統一も面倒だし、
並べ換えもねえ。

PHPとかかませばいいんだろうが、sqliteそのものをダイレクトに使ってるからねえ。




69 :NAME IS NULL:04/02/23 16:56 ID:aEcQvCoc
最初は、alter table を使おうとして動かずあせった。
ドキュメント見直したらサポートしてない、とあって、
じゃあどうすりゃいいんだと、またもあせった。
答えは単純なのであった。

70 :NAME IS NULL:04/02/23 22:12 ID:???
このスレには詳しく調べる前に
すぐに文句を言っちゃう人が多いですね・・・。

71 :NAME IS NULL:04/02/24 01:56 ID:???
>>70
2ちゃんねる全体の傾向です。

72 :NAME IS NULL:04/02/24 09:21 ID:tHk27BoL
型なしのsqliteで、ALTER TABLE がどれだけ必要かということがある。
>Integer型に"3.14"のデータでも、Double型に"テスト"でも、SQLiteは受け付ける
という便利な仕様だから ALTER TABLE にほとんど実質的な意味がない。

columnが足りなくなる方に、とっておきの Tips
CREATE TABLE ex1(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z);
ご希望ならaaからzzも追加サポート。

73 :NAME IS NULL:04/02/24 22:53 ID:???
ワラッタ
Excel の表みたいだな。

74 :62:04/02/25 18:20 ID:UqpphvZs
>72
公式には「バックアップとって,dropして,createして,コピーすれ」って
書いてありますね.パフォーマンスはひどいと思われますが...
http://www.sqlite.org/faq.html#q13
私は a,b,...,z じゃないけど,列に「予約」を加えることにしてます.

75 :NAME IS NULL:04/02/25 20:23 ID:???
パフォーマンスはあまり気にならないのでは
1回だけだし

76 :NAME IS NULL:04/02/25 20:35 ID:???
ちょっとは自動化できるスクリプトかバッチファイルでも作ってみるかな。

77 :NAME IS NULL:04/02/26 00:12 ID:1lxCODMs
PHPと連携して、管理システムを構築した。

プロセスが起動しないっていうのがいいよ。
サーバーがないような小規模だと、クライアントで
数MBでもメモリー食うのが辛いから。

PHP5が普及すれば、レンタルサーバーでDBを付ける必要もないから
利用価値は大いにあるだろうね。

後はプロシージャさえ組めれば・・・・・


78 :NAME IS NULL:04/02/26 09:25 ID:???
サービスとして起動しておく必要がないのに、とても高速で使えるよね。
これだけコンパクトだと、組み込み用途で重宝というのもよくわかる。やったことないけど。
PHP5で知名度が上がれば「SQLite本」出るかな。

79 :NAME IS NULL:04/02/26 13:29 ID:???
>>74
もうすこし効率のいい方法があったような気がしたけど
やりかた忘れた・・・

80 :NAME IS NULL:04/03/01 01:16 ID:v+M0GB6E
ハマったのでmemo。

PHPでMySQLのデータをSQLiteにインポートしたんだけど
INSERTするときにaddslashesでエスケープしても
正しくINSERTできない時があります。
そんなときはsqlite_escape_stringつかいましょう。


alter tableないんですね・・
SQLiteManagerで作ってたから知らなかった。

ttp://www.rakuto.net/study/htdocs/sqlite/manip.html

上記の例だと一旦メモリ上に元テーブルに行を追加した仮テーブルを作って
元テーブルからデータを拾ってきたあとDROP&CREATEしてますね。

81 :NAME IS NULL:04/03/01 10:02 ID:???
>80
この場合は「行を追加」ではなく「列を追加」でしょうね。
行を追加するInsertのサンプルに上がっているけどね。よく見つけたな。

82 :NAME IS NULL:04/03/01 10:45 ID:LObuw1/6
結局、新しいテーブルを作ることは簡単だが、元のデータを移そうと思うと、
同じ名前の別テーブルに、名前の衝突を回避しながら入れ替えることは
ステップを踏まないと出来ないということだな。

83 :NAME IS NULL:04/03/03 10:09 ID:???
(゚Д゚)ハァ?

84 :NAME IS NULL:04/03/03 11:51 ID:???
  | ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|
  |   ハァハァ禁止!  |
  |________|
      ∧∧.||
    ( ゚д゚)||
    / づΦ

85 :NAME IS NULL:04/03/03 20:41 ID:???
(゚д゚)ハーン?

86 :NAME IS NULL:04/03/04 17:40 ID:3W8zShnU
日本でもフリーなPHPスクリプト配布する人が増えているが
海外に比べるとDB使っている人が非常に少ない。
理由はやはりレンタルサーバが対応している所が少ないからってのがあると思う。
で、それが>>77-78の理由で大ブレイクする予感。

87 :NAME IS NULL:04/03/04 18:05 ID:???
クマー!!(・∀・)
http://www5e.biglobe.ne.jp/~yb_net/clip/img/14872.jpg

88 :80:04/03/05 08:16 ID:???
>>81
すんません・・行と列間違える俺って相当DQN。

>>86
PEAR DB使えれば簡単に使えるし。
PHP5がでたら間違いなく流行りますね。

ところで日付型のゼロパディングって皆さんどうやってます?
自分はマメに

//$date = "2004-3-5";
$arr_date = explode("-",$date);
$date = sprintf("%0d-%02d-%02d",$arr_date[0],$arr_date[2],$arr_date[3]);
//型がないってこういう時便利ですよねー
//Cのsprintfではこんなのありえない

ってやってるんですが・・・
もっと便利な方法あります?
PEAR DB内で自動的にできたらいいなぁとか思って
ソースのぞいてみたけど、カラムの型なんかいちいち調べてたら
時間かかりそうだし・・・

89 :NAME IS NULL:04/03/05 20:03 ID:kZCYuHRE
Sqlite で JDBC接続している人いませんか?
英語のサイトを読みつつ 接続したのですが うまくいきません
JAVAでウィンドウズ2000でやっている人いないかな 

90 :NAME IS NULL:04/03/05 22:08 ID:???
トリビア

SQLiteの作者はTclのハッカーである。

91 :NAME IS NULL:04/03/05 22:56 ID:???
>>89
何がうまくいかんの?
俺もちょっと前にJDBC接続してみたが、普通に使えたぞ。
日本語以外は。

92 :NAME IS NULL:04/03/12 00:40 ID:RfCZzlsO
>90
15ふ〜ん

93 :NAME IS NULL:04/03/15 16:28 ID:???
>>36
擦り寄って来たね♪

94 :NAME IS NULL:04/03/17 21:15 ID:InsPnmlY
>>93
そーすきぼんぬ

95 :love.chu.love@dj.r.ne.jp:04/03/17 22:15 ID:???
love.chu.love@dj.rmail.ne.jp

96 :NAME IS NULL:04/03/18 06:01 ID:tomkhCwI
>94
ttp://www.itmedia.co.jp/news/articles/0403/13/news017.html

97 :NAME IS NULL:04/03/18 06:31 ID:jR84uLHZ
a

98 :80:04/03/18 08:08 ID:???
>>96
SQLiteがきたからMySQLが戻ってきても・・・
ストアドとかテクニカルな事がしたかったらポスグレ使うし
規模がデカくなったらOracle使うし・・・

SQLiteManagerいつのまにか日本語化されてますね。
自分で日本語化ファイル作ってつかってますた。


99 :NAME IS NULL:04/03/18 21:45 ID:Us3+nbT1
>>96
ほんまや。必死だな藁
つーかSQLiteが当て馬になってんのかなあ。
それはちょっと政治的で嫌だなあ。
まあ俺はWebプログラマじゃないからPHP使わないけど・・・


100 :NAME IS NULL:04/04/14 10:02 ID:+XCDs49F
http://pcweb.mycom.co.jp/special/2004/php5/007.html

トランザクション使わずにぐるぐるINSERTしてます。


101 :NAME IS NULL:04/04/17 21:04 ID:PagAZNLN
>>100
なんか気の毒だね。
教えてあげた方がいいかもw

102 :NAME IS NULL:04/04/17 22:49 ID:x7N6mXCW
>>100, 101

先日教えてあげました.
すでに訂正が入っていますね.SQLite の方が速かったみたいです.

103 :NAME IS NULL:04/04/18 03:33 ID:???
俺のテストによればトランザクションでまとめてインサート
してもデータの数が500万件とかになると、インサートは
遅くなる。多分Bツリーのページ溢れによる再構築か
ディスクアクセスに時間がかかってるのだと思う。
どうすれば速くなるのかまだ実験中。

104 :NAME IS NULL:04/04/18 21:41 ID:hUv2zobH
>>98
>ストアドとかテクニカルな事がしたかったらポスグレ使うし
>規模がデカくなったらOracle使うし・・・

だな。MySQL、もうイラネ

>>103
素朴な疑問なんだが500万件をまとめてインサート
するようなことは頻繁に発生するの?
ていうかデータの絶対量が500万件を超えると
1件の挿入でも遅いってこと?
前者ならあんま気にせんでいいような。


105 :NAME IS NULL:04/04/18 23:03 ID:???
>>104
毎日500万件のテーブルに4000件程度の挿入をまとめてやるんだが
2000件目くらいから極端に遅くなる。CPUをフルに使ってズバズバやって
欲しいのだが、CPUの使用率も下がってしまう。どこにボトルネックがあるのか
いまいち掴みきれてない。

106 :NAME IS NULL:04/04/19 03:40 ID:???
>>105
CPU が下がってるときのディスク I/O は?

107 :NAME IS NULL:04/04/19 23:30 ID:???
>>106
どれくらいの頻度でアクセスしてるのかよくわからない。
アクセスランプ壊れてるんだわ。すまん。
トランザクション中のジャーナルファイルの更新が遅い感じ。
最適化のFAQ読んでたらジャーナルファイルをOFFにできる
みたいなんでそれやってみるわ。

108 :NAME IS NULL:04/04/19 23:51 ID:ZwzacxDL
>>105
なるほど。
オイラは「500万件という(ある意味小規模とは言いにくい?)
量のアクセスで遅くなるなら、素直にあきらめて別のものを使うのが
SQLiteにとって吉」という意見なのだが…どうかね?

SQLiteはシンプルでコンパクトであり続けて欲しい。
…1000アクセス/1日未満のサイトとか、ちょっとしたアプリで
バークレーDBよりもうちっと構造化されたDBが欲しいという場合に
フリーで使えるメジャーなDBライブラリになって欲しいのよね。
getopt的プログラマの共通言語「ああ、アレね」みたいな。


109 :NAME IS NULL:04/04/20 00:21 ID:???
>>107
ん? iostat とかで見れないすか? Windows とかだったらスマソ。

110 :NAME IS NULL:04/04/20 16:47 ID:???
>>108
俺はCとTcl/Tkを好んで使うんでSQLiteにはとても
親近感を持ってるんだよ。使いたいんだ。

>>109
うん。Windows。すまん

111 :NAME IS NULL:04/04/24 22:57 ID:???
>>110
そか、悪かった。
しかし逆説的に
>毎日500万件のテーブルに4000件程度の挿入をまとめてやるんだが
>2000件目くらいから極端に遅くなる。
未満ならなんら問題ないことを実証したヨカン

ところで先日クロスコンパイルに失敗。
見た感じではさくっといきそうな感じだったんだが_| ̄|○


112 :NAME IS NULL:04/04/25 23:30 ID:???
PocketPCで使える?

113 :NAME IS NULL:04/04/26 02:26 ID:ORUhb82C
>107
sqliteInt.h の
# define TEMP_STORE 1
ですね.俺もC/Win 環境で使ってるので続報期待.

ところで ver3 の開発が始まったみたいだね.
今のところ BTree に手が加えられてるみたいだけど詳細は不明.
個人的には圧縮関連ルーチンが取り込まれないかと期待.

114 :NAME IS NULL:04/04/26 11:19 ID:fJzkQNNx
SQLiteManagerを操作中
Tableを間違って消しちゃったみたいなんですが
DBの中身を見るとテーブル定義もデータも残ってるみたいなんです。
(でもselect * from sqlite_masterしてもでてこない)

これって救出する方法ありますか?


115 :NAME IS NULL:04/04/26 18:15 ID:gZB0Gfdi
あの、ちょっとMySQLについて教えて頂きたいです、このスレッドでいいですか?
調べてもわかんなくって。。。
バカにされても仕方ない話なんですけど、SQLをバッチファイルで流したいんです。
(create DATABASE ・・・ を直に手で打つんじゃなくて、「test.sql」というバッチファイルで実行したい)

Windows環境なんですが、どうやればよいでしょうか?
教えて下さると、とっても嬉しいです。よろしくお願いします。


116 :NAME IS NULL:04/04/26 19:15 ID:???
>>115
mysql <test.sql
つーバッチファイルつくりゃすむだろ

117 :NAME IS NULL:04/04/27 00:22 ID:???
なんでmysqlの質問がここなんだよw


118 :NAME IS NULL:04/04/27 09:24 ID:???
warata

119 :NAME IS NULL:04/04/27 23:17 ID:???
前言撤回。
>…1000アクセス/1日未満のサイトとか、ちょっとしたアプリで
とか言ったが、
http://www.sqlite.org/cvstrac/wiki?p=WhenToUseSqlite
を見ると
もちろんサイトがどれだけヘビーにDBを使うかによるが
お堅く評価して100,000 hits/day程度ならまだギリまで行ってなくて
テストではその10倍くらいまで行けたぜ
とあるな。<(_ _)>

あとクロスコンパイルはOKだった。PoketPCてのはわからんが
IntelのLinuxでコンパイルしてPowerPCのLinuxで動いたよ。

自宅サーバをOpenBlockSにでもしてみようかなぁ。静かそうだし

120 :NAME IS NULL:04/04/27 23:52 ID:???
おお、PocketPCってWindowsCEのPDAなのね。
ちょっと説明すると
SQLiteってのはDB1個が1個のファイルで、サーバデーモンってのは
特に必要ない。
ソースをコンパイルすると出来上がるのは単純には2個のファイル。
ユーザがCでプログラム組んでアクセスできるための.so
(Windowsでは.dll)と、SQLインタプリタの実行ファイル。
まあ、他にもシンボリックリンクとかインクルードファイルもできるけどね。
あと、ファイルを使わずメモリだけで済ますオプションもあるから
PDAには「向いてる」かと。

イメージ的にMS Accessの.mdbの利用方法に近いのかな…
商用利用もOKであるのが決定的に違うところか?


121 :NAME IS NULL:04/04/28 10:08 ID:zZMnOcUG
>>120
Accessのmdbは商用利用ダメなんですか。そうですか。

バックアップって.dumpでsqlファイルとしてとってます?
容量が小さいならファイルまるごとコピーでも良いのではないかと
思っておるのですが。
(というか.dumpはバックアップ用なのか?)

122 :112:04/04/28 23:29 ID:???
やっぱりそうですよね。
石の違いを吸収してしまうDBファイル形式。
母艦でOracle等の親DBからデータを切り出したSQLiteのDBファイルを作成。
PDA用のアプリは慣れたSQLを使って作成可能。

os.cを見てみたのですが、PDAは所詮利用者ひとりだけなので移植はそれほど
難しくなさそうな気がするんだけど。もしかしてほとんどそのままコンパイル可能?
PocketPCアプリ作ったことがないんでよくわからないので聞いてみたのですが。
PDAで動作すると商業ベースにも乗って意外とそっち方面でも流行るのでは?

123 :NAME IS NULL:04/04/29 00:18 ID:???
Accessのmdbが商用利用不可というのは初耳なんだが

124 :120:04/04/29 11:12 ID:???
失礼。ちょっと脳にウィルス入ってた。


125 :NAME IS NULL:04/04/29 20:07 ID:???
>123
たしか
accessのライセンスがないとダメだよ。


126 :NAME IS NULL:04/04/29 21:47 ID:WDx32sxT
>>121
dumpはバックアップ用じゃなくて、他のDB、というか
Postgresqlにデータを移すために使うんだよ。
バックアップは君のいうようにDBファイルを圧縮しとけば
いいと思うよ。差分は取れるのかどうかしらない。

127 :NAME IS NULL:04/04/30 08:57 ID:y7ZGN/fc
>>125
たぶんライセンスじゃなくて信頼性とかの問題で
商用利用不可なんじゃないかと。

128 :NAME IS NULL:04/04/30 21:19 ID:VZceiIAf
信頼性というのならsqliteは実績が無いから商用につかうのは
どうかと思うけど・・・。なんかsqlite使った有名アプリない?
PHPとかは無しで。

129 :NAME IS NULL:04/04/30 21:36 ID:???
>>128
有名かわからんが、TeamSpeak
http://www.teamspeak.org/

130 :NAME IS NULL:04/04/30 23:41 ID:???
調べずにカキコするが
sqliteのperlへの実装ってある?

131 :NAME IS NULL:04/05/01 00:11 ID:FaMfpc9Z
sqliteってシングルユーザなDBみたいですけど
ロックってどんなかんじ? なんも考えず select for update
でOK?

132 :NAME IS NULL:04/05/01 01:20 ID:???
>>130
http://search.cpan.org/~msergeant/DBD-SQLite/lib/DBD/SQLite.pm

133 :NAME IS NULL:04/05/03 08:02 ID:???
>>131
トランザクション開いてアクセスする。

(トランザクション閉じるまで他の人は読み込みも蹴られますた。
SQLite擁護派として何かもう一言フォローしたいところだが
漏れも調査中なんでスンマソ)


134 :NAME IS NULL:04/05/03 23:01 ID:AtGIA8g9
SQLiteに500万件なんてナンセンス!

135 :NAME IS NULL:04/05/03 23:57 ID:6ET0kvN6
>>133
最初に開いたのだけ書き込みできたんじゃなかったっけ。

>>134
うるせーバカ

136 :NAME IS NULL:04/05/04 04:30 ID:EWylYRto
>>135
だって意味なくね?
実験するのは大いにかまわないけど、なんか必死なのが痛い。
文字通り 軽量 のデータベースなんだからさ。

137 :NAME IS NULL:04/05/06 08:18 ID:YTLAADWx
>>136
言い回しは好きじゃないけど内容的には賛成。
SQLiteは好きだし便利だけど、データ量が多いと
その真価は発揮できないと思う。
(処理速度よりもバックアップとかのメンテの面で。)

俺の場合500万件なんていうたくさんのデータを扱う案件は
今後でてこないと思うのでSQLite使いつづけますが。
10万件程度なら全然問題ないし。

138 :NAME IS NULL:04/05/06 14:08 ID:kuYQWsdl
Windows向けGUIアプリのファイル形式としての応用に挑戦中。
オブジェクト指向によるプログラミングでよく使われるシリアライズと比べて、
1.ランダムアクセスがスマートにできる
2.ファイルの全てをメモリに読み込む必要が無い
3.ある程度の標準機能(ファイルの最適化とか)を持つ
あと、多言語対応に向けたアプリ中のロケール文字列も、
こいつにぶち込んでおけば海外の人が勝手に翻訳してくれるのではないかと期待できるかな。

まあまずは動くところまで作らないとね。

あと、今のところ単純なラッパーを越える使い勝手のC++ライブラリが存在しないんですが、
ACCESS VBAのADODB.Recordsetライクな使いやすいアクセスライブラリってどこかに落ちてませんかね?
板違いならスマソ。

139 :NAME IS NULL:04/05/06 18:29 ID:YTLAADWx
>>138
なんかすごいこと言いますね。
ロケール文字列をDBに入れるってすげーありえねー。
C++でGUIGUIしてる人の発言とは思えんw

RSSリーダーのGlucoseはSQLiteを内部にもってますね。

私はGUIアプリはマウス片手にDelphiってるんで
ttp://www.myprofile.ne.jp/blog/archive/moge/41
を参考にすれば簡単に作れそう。

Cなら
ttp://www.randynetwork.com/blog/87
かな。

140 :138:04/05/06 19:26 ID:kuYQWsdl
>>139
>なんかすごいこと言いますね。
>ロケール文字列をDBに入れるってすげーありえねー。

これですが、sqliteは文字列の入力チェックをほとんど何もしていないので、
ほとんど「何でも」入ります。
S-JISでもEUCでも区別なく入るようです。
簡単なチェックをしましたが、部分一致などもとりあえず問題無いようです。
なので、アプリ中で用いるWindowsロケールに依存した(要するに各国語)の
文字列リソースを入れる容器としては充分使えそうな気がします。

ライブラリのほうは家に帰って試してみます。ありがとう。


141 :NAME IS NULL:04/05/06 21:26 ID:S/PbMEEw
>>2

142 :NAME IS NULL:04/05/07 05:27 ID:???
>>140
> ほとんど「何でも」入ります。

>>139 はそういう話を言ってるわけじゃないだろう。

143 :NAME IS NULL:04/05/07 09:40 ID:uvn4YUcn
SQLiteなら、DBとしての利用という範囲で考えずに、
>>138 が言う「ファイル形式としての応用」への挑戦はありえるんじゃない。
XMLより使いやすい場合があるかも。

144 :NAME IS NULL:04/05/08 06:16 ID:Gf03gDXu
>>143
それはどうでしょう.いきなりファイル形式が変化することもあるんでは?
同様に内部コードが UTF-8 と ANSI の場合でファイル形式変わってしまいませんかね?
(調べてません.すんません)
基本的に非圧縮だし,と思えば亜種で圧縮サポート形式も出てきていて,標準には向かないような.
以上は交換用途としての(.pdfのような)ファイル形式としての話.
アプリのデータ保存用で,ある種独自のファイル形式としてなら,大いに結構.
公式にもその用途を謳っていますしね.でも比較対象はXMLではないと思います.

145 :NAME IS NULL:04/05/08 08:01 ID:???
ロケール文字列はDBに入れないほうがいいと思う。
なぜかというとsqliteのツールが無いとユーザーが
新しく追加できないから。UTF-8のテキスト形式が
シンプルでいいと思う。
初期設定の保存とかは便利でいいと思う。

146 :NAME IS NULL:04/05/08 15:04 ID:???
>>137
軽量ってのは、本体のコードのことで
DBのサイズでは無いと思うんだけど
どうなんでしょう

147 :NAME IS NULL:04/05/08 16:36 ID:???
locale文字列.....
ADODB.Recordset.......
ファイルシステムの代わりに最適........

上記の話題を見た直後の私の第一印象、
「はぁ........もうダメポ」

148 :NAME IS NULL:04/05/08 17:56 ID:???
>>147
なんか間違えたこと言った?変なこと言ってたら
訂正するから指摘してくれ。

149 :NAME IS NULL:04/05/08 18:38 ID:???
>>148
それほどには奇天烈なことは言ってないと思うがちょっとうなってしまう
部分はある。
ロケール文字列については、
 { 言語, 通し番号 } → 文字列
ができればいいわけだよね。
現状は言語ごとに分かれたファイルから通し番号でとってくる
やり方が主流だと認識してる。

「すでにそのアプリが内部データをSQLiteで持っているので、
ついでに入れてみた」というのりでなら、まぁそれは設計者が
選択したってことでいいかと思うが、
すでに確立した感のある方法(自動生成ツールがあったり、
その解説ドキュメントがあったりして他の開発者が
共通の知識を持っている)をあえて捨てるメリットがあるかは疑問。

新しいやり方にチャレンジする精神は立派。完成させてみて
発見したり実感したりすることもあると思うのでガンガレ

150 :NAME IS NULL:04/05/09 14:03 ID:6b2QA1ug
>>149
>すでに確立した感のある方法(自動生成ツールがあったり、
>その解説ドキュメントがあったりして他の開発者が
>共通の知識を持っている)をあえて捨てるメリットがあるかは疑問。

ソースキボン
プログラム板のスレタイトル眺めて、多国語対応でググってみたが、
いいサイトが見つからない

151 :NAME IS NULL:04/05/09 15:45 ID:???
>>150
おいらが言ったのは gettext とその周辺ツール。と、その類似品。

えっと、どういうものかつうと
(1)まずCで普通に(英語メッセージで)プログラム組む。
(2)そしたらソースをツールに通す。するとソース内の文字列リテラル
の頭に目印がつく。
(3)同時に、文字列が抜き出された「リソースファイル」ができる。これには
通し番号がつく。
(4)リソースファイルの「日本語版」をつくる。
(5)次回コンパイルする前に、専用のプリプロセッサに通す。
すると、ソースの文字列リテラルの部分が「文字列をリソース
ファイルからとってくる関数」に置き換わる。
(6)プリプロセスされたソースをコンパイル。
というやつ。たまに雑誌で解説記事あったりする。

おいらがこないだまでメンテやってたソフトでもそういう
仕組み(の別物)だった。

ソースイメージ
printf( "this is a message\n" )

printf( "><this is a message\n" )

printf( gethogehoge( lang, 100 ) );

リソースファイル英語
100,this is a message\n

リソースファイル日本語
100,これはメッセージです\n

その昔shi3z氏も似たようなプリプロセッサ
作ってた(たしかそのときの動機は日本語対応してないコンパイラで
SJISの文字をつかえるようにすることだった)。そんでその副作用
というか派生で日本語の変数名が使えるようになっていた気がする。

windowsも似たしくみのはず。

152 :139:04/05/10 08:14 ID:Is7LBGNM
>>147
私も最初思ったw
もまえ本当にC++でGUI作ってるのかと。VB極めたあと
MFCでHelloWorldってるだけちゃうんかと。
まー、>>149の言うようにそんなにおかしい事を言ってるわけでは
ないわけで・・・

まぁ、>>138よ。言いだしっぺなんだからごちゃごちゃ言う前にやってみれ。
ソース晒してくれれば協力するし。

ただ、DBをこういう風に使うのはなんか間違ってると思うが。
リレーション?なにそれ?っていう状況になるわけで。

153 :NAME IS NULL:04/05/10 10:20 ID:6CmpQPbS
> リレーション?なにそれ?っていう状況になるわけで。

それは、そう思った。
ただ、型なしの仕様が正しいと考える SQLite の面白い所で、
この考えは、リレーションを厳格には考えないという所に行くんじゃないかと
解釈してるけど、どう思う ?
キーさえ、しっかりしていれば、それで出し入れするデータは、
何だってかまわないという事になればリレーションとは違うかな、と。

以下の原文は
http://www.sqlite.org/datatypes.html

SQLiteのデータ型
第1節 型なし
SQLiteは「型なし」である。これは、そのカラムに宣言されたデータ型に関わらず、どのテーブルのどんなカラムにも君が望むあらゆる種類のデータを蓄積できる、という意味である。(このルールのただ一つの例外は、次の第2節を見よ。)この動作は仕様であってバグではない。
データベースはデータを蓄積し、復元しなければならないものであって、どんな形式のデータが入るかはデータベースには関係のないことである。
他のほとんどのSQLエンジンに見られ、SQL言語の仕様に定められている強い型システムは、間違った仕様である。この間違いはインターフェースの中に現れる実装の一例である。
SQLiteは、こうした間違った仕様の克服を求める。あらゆる種類のデータをあらゆるカラムに蓄えることを君にまかせ、データ型の定義に柔軟さを認めることによって。

154 :NAME IS NULL:04/05/10 20:37 ID:6CmpQPbS
>>138
思い出した。C++ から使えるやつで、
> ACCESS VBAのADODB.Recordsetライクな使いやすいアクセスライブラリ
ttp://www.microsoft.com/japan/msdn/netframework/downloads/
ttp://sourceforge.net/projects/adodotnetsqlite
この2つからクラスライブラリどころか、
cl.exe っていう C++コンパイラも SQLite も落っこちてくる。
しかも十分に ADODB.Recordsetライクな使いやすさだ。
Windows 使ってて、まだ持ってなかったのかい。

155 :NAME IS NULL:04/05/12 14:42 ID:???
http://www111.sakura.ne.jp/~hanyan/todouhuken/00-chizu/futama-nihon-moe2.jpg

156 :NAME IS NULL:04/05/18 16:19 ID:ZavbGlbD
SQLite コマンドチュートリアル(翻訳版)
ttp://www.net-newbie.com/sqlite/sqlite.html
SQLite SQLリファレンス(翻訳版)
ttp://www.net-newbie.com/sqlite/lang.html

157 :NAME IS NULL:04/05/19 18:07 ID:???
SQLiteをC++で使いたいけど英語が苦手なんで
昨日から少しずつ翻訳してるのですが、
うまく日本語になってないところ・・・というより
意味不明なところが多すぎる _| ̄|○

http://tria.s31.xrea.com/sqlite/c_interface.html


158 :NAME IS NULL:04/05/20 17:36 ID:???
ODBCドライバはファイルDSNには対応していないのかな?
やろうとしたらエラーが出たんだけど。


159 :NAME IS NULL:04/05/23 11:50 ID:???
>>157
ぐっじょぶ!

160 :NAME IS NULL:04/05/25 01:33 ID:???
未出のようなので一応リンクしておきます。

SQLite ODBC Driver
http://www.ch-werner.de/sqliteodbc/

161 :NAME IS NULL:04/05/25 01:34 ID:???
SQLite Control Center より使えるかどうかわかりませんが一応これも

SQLite Database Browser
http://sqlitebrowser.sourceforge.net/

162 :NAME IS NULL:04/05/25 01:52 ID:???
>>160
同じ所に JDBC ドライバもあるんだけど、誰か使ってる人いないかな。

http://www.ch-werner.de/javasqlite/

それにしても、アプリに組み込みできる、シンプルで、使い勝手が良くて、緩いライセンスの
データベースがあるって素晴らすぃ。

163 :NAME IS NULL:04/05/25 08:21 ID:???
>>161
カコイイ!でも文字コードがああああああ

逝ってくる。

164 :NAME IS NULL:04/05/25 10:14 ID:???
>>163
ttp://www.kumaryu.net/cgi-bin/diary/?date=20040110
で修正の手掛りが書かれているんだけど
C言語な人解らないかなぁ...


165 :NAME IS NULL:04/05/25 10:52 ID:???
文字コードがどうかしたの?

166 :NAME IS NULL:04/05/26 08:39 ID:???
Qt 使ってるのか。

167 :NAME IS NULL:04/05/26 10:49 ID:OP8x6gI1
ほんとだ。Windows版バイナリだと、日本語データ表示は文字化けだあ。
これで入力すると ?? というデータになるしね。Qtは知らないからなあ...

168 :sage:04/05/26 13:14 ID:YjzGdGIt
外国製でもきっちり日本語処理ができるのって、どういうのかな。
Unicodeを使ってるドットネットのものは、大丈夫なのが多いみたいだけど、
Javaのもいいか ?

169 :163:04/05/26 13:19 ID:???
>>167
最初、自分がINSERTしてるデータがEUCだったので表示されないのかと
思って「逝ってくる」ってパピコしたんだけど
その後UTF-8で入れなおしてもダメ。
私もQtなんて知らないです・・orz

170 :NAME IS NULL:04/05/26 20:21 ID:+wg1Ei5Q
SQLiteCC を日本語化してみた人です.
SQLite Database Browser のソースをちらっと見ましたが,SQLite 本体が
UTF-8 enable になっていないので UTF-8 は通らないようです.
で,SQLite DB Browser の QT が日本語を通すようになっているか調査した人いますか?
QT を触ったことありませんが QT 自体は日本語処理OKと聞きました.
ちょっといじってみます.

171 :NAME IS NULL:04/05/27 15:22 ID:R/pbcO4/
ちょっと前の話題の、ロケール文字列をデータベースに入れておくって話。
webで C# のサンプルコードに当たっているうちに、たまたま、それをやっているやつを発見。
http://www.wrox.com/books/0764557599.shtml
「 Professional C#, Third Edition 」という今月出た本のダウンロードコードにある。
第1版の翻訳は持っていて、中身が濃い良い本。新版もほしいな。(翻訳出版してね)
ch17code\Localization\DatabaseResourceReader の中にあるよ。

やっていることは、ロケール文字列などのカルチャ固有のリソースにアクセスする標準のクラス
ResourceManagerクラスを継承して、自前の DatabaseResourceManagerクラスを作ってしまう、
という所がミソ。
普通なら、リソースファイル名か、埋め込みリソース名を指定する所で、
データベースを指定するという以外は、普通と変わらないわけだ。
これ、使えそうだよ。サンプルでは SQL Server を使ってるけど、SQLite 向きだね。


172 :NAME IS NULL:04/05/27 18:11 ID:???
こんなんもありますた。
ttp://www.manoeuvre.net:8080/wiki/index.php?SQLite%