1 :
NAME IS NULL :
2006/11/04(土) 15:22:24 ID:u9Py0OND
金太君が回りました
いらねえのに・・・
>>4 一々反応するなよ...
気になったら絶対にスルーしない主義の人ですか?
>>5 俺も気になったのでとりあえず反応しておこう
このスレといったらアクセスだろw 糞アクセスw
9 :
NAME IS NULL :2006/11/05(日) 13:40:58 ID:9rnKRyVc
>>8 アクセスは安定性に問題があるからなぁ・・・
オープンオフィスのBaseとSQLiteの組み合わせが一番いいね。
オラクルより高性能だし。
高性能
>>9 > オープンオフィスのBaseとSQLiteの組み合わせ
kwsk
12 :
NAME IS NULL :2006/11/05(日) 13:57:19 ID:9rnKRyVc
>>11 詳しくって・・・
Baseでデータベースを作るときにSQLiteを選択するだけだよ。
ドライバは予め入れておかないといけない。
すると、フォームも使えて便利。
アクセスみたいに日本語で問題が出たりしないし、
突然落ちてデーターベースが消えたりなんてこともない。
安定性速度両面でオラクルのこれまでのどの製品を上回る。
これはすごいね。
それはすごいね
>>ID:9rnKRyVc アクセス厨はアクセスだけ使ってろよ。
自演乙
17 :
NAME IS NULL :2006/11/06(月) 20:19:10 ID:+pP1LmRb
>>14 Baseは本当によくできてるよ。
もちろんSQLiteも。
だまされたと思って使ってごらん。
19 :
NAME IS NULL :2006/11/09(木) 03:01:03 ID:lKYwGz2N
質問です。VB6にてSQLiteを使いたいのですが(Jetでは1DBあたり2GB という制限があるので)、SQLiteに関する本を買ってもウェブページ を探しても、VB6との組み合わせ例はありませんでした。どなたか、 日本語で書かれたよい資料をご存じでしょうか、お教え願いします。
親愛なる>19様。 VBなんてもうやらないでください。 MSより。
>>19 さすがにVBは無いと思う。Cで書かれた内容を見ながらVBで使うようにするしかないかも。
>>20 いや、最近のMSは、「やっぱ VBも大事だよね。」って方向転換済み。
VBじゃ仕事にならない
23 :
19 :2006/11/09(木) 13:45:12 ID:lKYwGz2N
>>20 MS様から見捨てられましたか。カワイソス
>>21 やっぱり他言語用の使用例を参考にするしかないんでしょうかね。
そもそもVB6でちゃんと動くODBCドライバーがあるかどうかを
探すところからでしょうか。
>>22 VB6のソースコード込みで納品して欲しいとの要請でして。
もちろんアクセス用のクラスライブラリを作成して、
それをコールする形式にするつもりなんですが。
24 :
NAME IS NULL :2006/11/09(木) 15:33:55 ID:q0xkgZI8
そんなあなたにREAゲフンッゲフンッ!
ソースが公開されてるんだから、ソースからBuildしなよ。 納品するなら仕事でしょ? DLLのバイナリだと、悪意が込められているか判断できないんじゃないか? もちろん、DLL提供されているモノを使っても良いけど、自分で判断して最適なモノを選びなよ。
>>26 結局どっちにしろと言いたいのかわからない。
自分で判断できない人はどっちにしろと言ってくれないと嫌みたいだな
29 :
NAME IS NULL :2006/11/10(金) 00:40:20 ID:VzvyH75Z
文面から判断すると
>>26 より質問者のほうがよくわかっていそうなんだけど。
いいからVBを使っているという時点で(ry
31 :
NAME IS NULL :2006/11/11(土) 03:38:50 ID:ZwxhpcFN
だからREALbゲフン!ゲフン!
REALbasicはウンコ。
オープンソースのsqliteはサポートが弱いからねえ。 実務で問題が出たときに困ることになる。結局は現場の業務に合わせられるかどうかだよ。 アクセス扱ってるベンダーなら、いろいろノウハウも持ってるし業務上のトラブルにも対応してくれる。 オープンソースの問題点。 誰も直さないソースコードの問題はいつまでも解消しない。 誰が責任を持ってソースコードをメンテナンスしてくれるか。
なんで自分とこで直さないんだ?w
>33 >アクセス扱ってるベンダー ……アクセスなんてMS-小売店-ユーザーじゃないか。 ベンダーというような存在があるとすればMSそのものであって、 MSのどの部門がユーザーの「業務上のトラブル」に「対応」してくれるって?
sqlite扱っているベンダー使えよw
>>33 はいはい。このスレには二度と来ないでね。
38 :
NAME IS NULL :2006/11/16(木) 00:56:33 ID:BIaDUaXn
>誰も直さないソースコードの問題はいつまでも解消しない。 >誰が責任を持ってソースコードをメンテナンスしてくれるか。 C++出来る人なら容易に改善できるはずのバグを いつまでも放置してるMicrosoftのことも忘れないで欲しい。
39 :
NAME IS NULL :2006/11/16(木) 03:10:13 ID:AWPERDaF
>>34 直せないでしょ。
業務時間内にSQLiteの修正を認めてもらうだけでも大変そうだし。
今の感じだと、修正を取り込んでもらわないと
延々と修正を続けないといけなさそうだし。
>>38 バグなのか仕様なのか調べてから書こう。
容易に修正できるバグを修正しないなら何か理由があるはず。
マイクロソフトにはC++を理解する人がいないという主張なら論外。
オープンオフィスのBaseとSQLiteの組み合わせを試してみた。
悪くない。
ま た お ま え か 上げる奴は馬鹿ばっかだな
41 :
NAME IS NULL :2006/11/16(木) 03:27:20 ID:AWPERDaF
>>40 君の書き込みはいつも情報量ゼロなんだよ。
意味のある書き込みをしてみるといいと思う。
>>39 「自分では責任もってソースをメンテナンスできない」
と言ってるようにしか聞こえない。
43 :
NAME IS NULL :2006/11/16(木) 04:04:44 ID:AWPERDaF
>>42 自分で責任もってソースをメンテナンスするコストを考えると
ほかの選択肢のほうが有効って事。
ただより高いものはないって状態になるってことだよ。
39のどこに他の選択肢の話なんて書いてあるんだ?
ていうかあれだ >実務で問題が出たときに困ることになる。 具体的にどんな問題がありますか?
46 :
NAME IS NULL :2006/11/16(木) 06:02:30 ID:AWPERDaF
>>44 あいうえおの説明から書いてもらわないと理解できない人?
ほかの選択肢のほうが有効なのに時間使って修正なんか
させてもらえないでしょ?
そういうのは趣味でやれって返されるのが落ち。
で、趣味でやる気なんかないよ。馬鹿らしい。
アクセススレでも作って引き篭もっててくれ。
>>46 がなんでこのスレにいるのかわからん。
>>35 や
>>45 をスルーしてるってことは自分の意見を検証したいわけではないようだし。
アクセスとやらが C/UNIX から簡単に扱えてソースコード見れるなら使ってやらんでもないな。
上げてる時点でかまって君だろ。そんなにの構うなよ。
どうせこんなしょうもない煽りあい合戦で1000までいくんだろ。 だから次スレいらないって言ったのに。
52 :
NAME IS NULL :2006/11/16(木) 22:03:28 ID:t4vfPZKN
sage厨キタ━━━━━━(゚∀゚)━━━━━━!!!!
アクセス扱っているベンダーにバグ報告したら、 「アクセスのソースがないからうちじゃバグは直せない。」 といわれました。 どういうことですか?
そのままの意味じゃないかと。
SQLite使ってるレン鯖屋に連絡したら、ソースあるけどうちは開発してないから直せないと言われた。 オープンソースってだめだよな。仕事では使えない。 アクセスを組み込みで使ってシステム組んでる業者はしっかり対応してくれるよ。 オープンソース業者は売りっぱなしの無責任な業者が多い。 納品後の対応とか訊くと口ごもるところばっかだし。 sqliteを業務に使って、まともに対応できる業者教えてくれ。都内にはいませんか?
仕事でレン鯖かよww
>>55 君のような人はアクセスでもヘクセスでもなんでも使ってくれ。
ここは君の来るところではない。
58 :
55 :2006/11/17(金) 01:27:55 ID:???
SQLite使ってるレン鯖屋に連絡したら、ソースあるけどうちは開発してないから直せないと言われた。 オープンソースってだめだよな。仕事では使えない。 アクセスを組み込みで使ってシステム組んでる業者はしっかり対応してくれるよ。 ソースがないからうちは開発してないから直せないと言われるけど。 ソースがないんだからこっちは仕方ないよね。
>>58 アクセスを使っていると君のようなコピペキチガイになってしまうんですね。
私は使っていなくて良かったです。
レン鯖屋はSQLiteのベンダーじゃないだろw
アクセスをシステムに組み込んでいる業者なら都内にいくらでもあるのにな(w sqlite使ってる業者のレベル低すぎ。
ケチのつけ方がシュールすぎる件について
アクセスの語源 あく‐せく【齷齪】 あくせく【齷齪】 〔副〕(「あくさく」の変化)心にゆとりがなく、目先にだけ心をうばわれたようにせわしく事を行なうさま。 *雑俳・筑丈評万句合「あくせくでかせいだ暮の餅の重」
64 :
NAME IS NULL :2006/11/17(金) 09:23:24 ID:yKoTw5cr
sqliteが流行ると困る人達がいっぱいいるの?
>>64 こういう人間には理由なんて無いよ。条件反射みたいなもんさ。
SQLite を提案した業者にコンペで負けて憂さ晴しに来たとかそんなんじゃないの? こんなのにいちいち構ってやる必要ないよ。スルーしとけ。
例のバージョン違いのファイルをこじ開けてデータ吹っ飛ばしたアホじゃねーのか
>67 まさに今日、同僚に同じ事やらかされた俺が通りますよ。 ……誰か助けてorz
全てを忘れて人生を一からやり直すいいチャンスじゃないか
r ‐、 | ○ | r‐‐、 _,;ト - イ、 ∧l☆│∧ 良い子の諸君! (⌒` ⌒・ ¨,、,,ト.-イ/,、 l 人生にリセットボタンはないが、 |ヽ ~~⌒γ⌒) r'⌒ `!´ `⌒) 電源スイッチはついている。 │ ヽー―'^ー-' ( ⌒γ⌒~~ /| いざとなったら押してみるのも │ 〉 |│ |`ー^ー― r' | いいかもしれないぞ。 │ /───| | |/ | l ト、 | | irー-、 ー ,} | / i | / `X´ ヽ / 入 |
アクセスと比べられてる時点で・・・
バージョン違いでどうやったら吹っ飛ばせるのか教えて。 エラーになってそもそも開けないんだけど。 % sqlite -version 2.8.17 % sqlite foo.db "create table foo ( id integer );" % sqlite3 -version 3.3.7 % sqlite3 foo.db "insert into foo values (1);" SQL error: file is encrypted or is not a database %
SQLite3のDBをSQLite2で開いたんじゃね? と、やったこともない俺が言ってみる。
吹き飛ばすのには何か特別な才能が必要なのではないかと思う
% sqlite3 foo.db "create table foo ( id integer );" % sqlite foo.db "insert into foo values (1);" Unable to open database "foo.db": file is encrypted or is not a database % これでもダメだなあ。俺には才能が無いようだ。
あ?おまえらって本当に知ったかというかなんつうか、中途半端な 知識であたかもSQLiteのエキスパートみたいな感じで煽ってくるよな。 これはどう見ても2と3の互換性の問題じゃなくて、3.x間の互換性の 問題だろ。
↑どう見ても中途半端な知識で煽ってますね
>>77 「3.xと3.yの互換性の問題なんじゃね?」と言えてれば
もっとうまく人間関係を築けてただろうにね
>>77 そこまでわかっているんなら最初の質問、
> バージョン違いでどうやったら吹っ飛ばせるのか教えて。
に答えてよ。
3.1と3.2間、3.2と3.3間、3.1と3.3間では全然問題なかったよ。 反論が出てきたら本当にチェックしてあげるw
そもそもSQLiteに限らずバックアップは基本です。
>>79 うるせー馬鹿。ここの馴れ合いはきめーんだよ。前スレで酒の話
に延々と食いつくような連中と仲良くできるわけねーだろが師ね。
>>80 「吹っ飛ぶ」の意味を定義しろや。俺は単純にエラーが出て
開けないという意味に解釈した。プログラムのムの字も知らない
クライアントにありがちな表現だからな(ゲラ
>>81 3.2.8で作って、3.3.6でvacuumしてから3.2.8で開いてみろや
本当にここは素人同士で大激論なスレだな。俺がいなけりゃ
くだらん馴れ合いでホルホルしてるだけのスレになるところだ。
感謝しろや。
来なきゃいいのにね
>>83 構ってクンが顔真っ赤にして大騒ぎだよかわいいね〜
相手して欲しかったらまずコテハンにしなちゃい(w
>>俺は単純にエラーが出て開けないという意味に解釈した。 自身の日本語の感性が他人との意思疎通が成り立たない程低いがその自覚は無く、 自分が好まない事象に対しては極めて自己中心的に他人を攻撃するのみ。 他者を理解する気は毛頭無いにも関わらず自己顕示欲ばかりは強い。 これがゆとり教育の結果ですよ。
"プログラムのマ" の検索結果 約 786 件中 1 - 10 件目 (0.28 秒) "プログラムのム" の検索結果 1 件中 1 - 1 件目 (0.74 秒)
>3.2.8で作って、3.3.6でvacuumしてから3.2.8で開いてみろや で、検証したヤツいる?
豚の相手するほど暇な奴は少ないだろ
英語が読めません><
プログラムのムの字より英語が読めるようになるのが先だね
95 :
NAME IS NULL :2006/11/20(月) 16:05:36 ID:MM77aSlD
>>93 みてきた。これはひどい。
羽根の絵を32x32に縮小してみたけど
こっちのほうがよっぽどいいな
>82 そしてバックアップごと吹っ飛ばされる罠
>バックアップごと吹っ飛ばされる ……普通バックアップというのは最低別のディレクトリに置くか、業務レベルなら別媒体に待避するものだと思うが ドライブに入ってすらいないCD-Rの内容を破壊できるソフトウェアなんてあったらオカ板逝きだそりゃ。
馬鹿の相手すんな
「吹っ飛ぶ」を ・データファイルが壊れる ・データファイルが読めない ・ディスク・メディアごと壊れる と色んな受け取り方をしている人たちがいて面白いな。
そりゃ、曖昧な単語で伝わると思ってるほうが間抜けだろ。
102 :
73=80 :2006/11/21(火) 09:32:10 ID:???
だから再現手順教えてと言ってるのに、みんな「吹っ飛ぶ」しか言わないんだもの。 解決のしようがないよ。
ほんとは、ぶっ飛ばないんじゃねーのー?wwww
>>98 以前ドライブやメディアごと盗難されたヤシがいた・・・
>>100 普通は「取り返しの付かない状況」に使われる言葉だと思う。
単にエラーで読めないのを「吹っ飛ぶ」なんて解釈するやつは日本語の不自由な馬鹿
約1名だけだから相手にしないほうがいいよ。
「SQLite バージョン 壊れる」とかでググってもぜんぜん情報が見当たらないねー
最近のしったか君はぬるすぎ
sqlite2のDBファイルはsqlite3で開けないけどな(ファイルが壊れる)。
馬鹿は使わなくていいと思うよ
sqlite2のDBファイルをsqlite3からみると読めない。 つまりsqlite3からみると壊れていることになる。
sqlite2のDBファイルがあるのに、sqlite3では動かないからね。 アクセス95のファイルが、アクセス97でもアクセス2000でもアクセスXPでもアクセス2003でも読めるのとは大違い。 ヒント:下位互換性。
またこの流れなのか・・・
>>112 変わった日本語を使う人ですね。外国の方ですか。それともキチガイですか。
>113 ……全部無事に読めたんだな今までは。 運の良いことだ。運を使い果たして突然病気で倒れることにでもならなければいいが。 ヒント: MSの謳う「下位互換性」はもっともシビアな局面で裏切る
>>113 あなたが文脈でいっているのは「下位互換性」ではなく「上位互換性」。
日本語は正しく使いましょう。
全角数字の使用に躊躇いを覚えない奴はプログラミングとかしてほしくないんだけど。
下位互換性と後方互換性の違いもわからない奴はアレだな。
まあ、そんな香具師でも使えるデータベースがアクセス。 2から3に変わっただけで使えないエスキューライトとは大違い。
sqlite3のパッケージをsqlite2で使っていたサーバに 何かのはずみでyumとかでインストールしちゃって sqliteのシンボリックリンクも上書きされてしまった、というシナリオを想像。
DBファイルの移行はサポートされてないの?
.dump したのを新しいのに喰わす。 ってかドキュメントくらい読めと。
アクセスならDBファイルそのまま読めるのになあ。dumpなんて不要だよ。
まんこ^^
SQLiteはVer2でもじゅうぶんですよ
まだ2使ってる香具師が居るのか。 アクセスの前身のフォックスプロ並みだな。
>>129 FoxProとACCESSに特に関連は無い。
日本ではFoxProが何故か発売されなかっただけだ。
xBase系の資産が生かせた点でFoxProの方が優れてたらしい。
Solaris の SMF ってまだ SQLite2 だったりする?
そっか、当時もっとも売れてたRDBはdBaseだもんな。
日本だと桐だけどな。 ウィンドウズ版が出せなくてアクセスに駆逐されてしまった。
桐は、地方の役所とかでまだ現役だぞ。
地方の役所とか学校とかって、 結構古くてマイナーなソフトが現役だよな・・・。 ふるーいバージョンの一太郎とか、三四郎とか、五郎とか。
使えて十分間に合うんだから買い換える(バージョンアップ)必要はない。
でも、いざという時に、データを新しいソフトに 移行できるのか心配になるよ。ちゃんと移行計画も 考えた上で使い続けているのならいいんだけどな。
何も考えてないでしょ
>>137 小さい公共の機関だと大きい金額動かすの結構難しいし、
使えなくなるまで使い続ける、てのが多いからな。
Windows95はさすがに少なくなったが、未だに98のとこも多い。
ハードディスクが飛んだら終わりだろうね。 納税者としては壊れるまで使うのは当然だが。
まあ、仕事関係だとあまり美味しくないんだよな…。 入金だけは確実なのは嬉しいけどさ。
地方の役所ならデータ量はMO一枚で足りるとかだしなぁ…
今ならメモリに乗っちゃうな。DB使うまでもない気がする。
メモリに乗るからって、他人と共有できなきゃ意味無いだろ。 DBは必要。
他人と共有するのに、桐やアクセスを使うのは間違い。 SQL鯖とか建てないと。
質問なんだが SQLiteとMySQLの相互利用を可能にするためのSQL文を書いてるんだが CURRENT_TIMESTAMPを使用するとSQLite側がGMTのままで困る datetime('now', 'localtime')ならGMT+9なんだがMySQLが対応してない この問題を解決できるSQL文を教えてくださいorz やっぱ環境に応じてSQL文変えないとだめかね…
ユーザ関数でも定義すればいーじゃん。
ここはプログラム書けない人が多いのか?ww
149 :
146 :2006/11/27(月) 17:56:26 ID:???
やっぱりないのか しょうがないんで読み出し時にタイムゾーン調整するようにソース変えました
SQL の互換性に詳しくないので質問なんだけど、そこは MySQL に合わせるべきとこなの?
SQLite と MySQL ならその方がいいな。
ぶっちゃけそれぞれ用に書けばいい
面倒なのでperlならdbiとか挟むでしょ。 javaでもjdbc挟むし、そこはミドルウェアで吸収。
>>87 これは無いな。まず定義しないことには具体的な話ができないから
定義しただけだろ。おまえらひどいな。
…DBI通したから何だって? #!perl use utf8; use strict; use warnings; use DBI qw(:sql_types); sub query1row{ my $conn = shift; my $sth = $conn->prepare(@_) or die $conn->errstr; my $rv = $sth->execute or die $sth->errstr; my @r =$sth->fetchrow_array; return (wantarray?@r:$r[0]); } my $conn = DBI->connect("dbi:SQLite:dbname=test.sqlitedb","",""); $conn->{unicode} = 1; print query1row($conn,"select CURRENT_TIMESTAMP"),"\n"; sub MyTimeStamp{ my @lt = localtime; $lt[5]+=1900;$lt[4]+=1; return sprintf "%d-%02d-%02d %02d:%02d:%02d",reverse @lt[0..5]; } $conn->func("CURRENT_TIMESTAMP",0,\&MyTimeStamp,"create_function" ); print query1row($conn,"select CURRENT_TIMESTAMP"),"\n";
>>155 それは違う。
まずは「吹っ飛ぶ」って言ってる香具師にその具体的な現象を説明してもらうべきで、
第三者が勝手に定義をでっちあげるのは混乱をさらに招くだけでよろしくない。
ついでに言うと、おまいの「定義」はひどいな。
なんでおまえらって俺が真面目な話をしようとしてても 自作自演とか蒸し返すなとか言って言論封殺しようとすんのよ。 信者がマンセーするだけのスレかよここは。。。
>>162 くらだないこと書いてる暇があったら真面目な話とやらを書けよ
>>信者がマンセーするだけのスレ えーと、どのへんが?
ホント最近は客観視できないやつが増えたな。 //なんて書くと、そういう奴ほど「そうそう」っていう
都合の悪いマジレスは聞こえないフリしてスルーで煽りレスにだけ反応してるみたいだな。 そんなのがいくら俺は真面目な話をしてるんだとか言っても説得力無いし。
都合の悪いレスなんて一つもありませんよ。 存在するのは無意味なレスだけです。
SQLiteの信者がSQLiteをマンセーしてるレスは少なめだよな…
そこで、「バックアップが飛んだ」と言われて出社してみたら、 バックアップ用のメディア(DVD-Rだった)が物理的に割られてた俺が通りますよ。
>>168 だね。たまに思い出したように「安定してるから書くネタがない」ってぼやくくらいかな。
俺はSQLiteしか使う気になれません なぜなら簡単に呼び出せたり、仕様が単純だからとてつもなく覚えやすい。 わざわざアクセスやらMySQLやらポストやら使っている人の気が知れません。
久しぶりにエロサイト巡りしたら 動画再生ソフトのインストーラでデフォルトランゲージがChineseだった。 デフォルトが中国ってだけでインストールするのがガクブルなんですが…
>>171 そりゃPHPかなんかでプログラム書く場合は、の話しだろ。
間に何も挟まずにSQLでやり取りするなら手間はほとんど同じなわけで。
ま、でもDBサーバの設定とか面倒くさくて非生産的な作業が要らないのは有り難いよね。
お聞きしたいことがあります。 フィールドではなく、テーブル全体で一意の要素というのを設定したい のですが、そういう場合はどうすれば良いのでしょうか? 例えば、A、B、C、Dフィールドがあったとして、Aをプラ イマリキーにします。しかし、Aで使われている要素は、Aの 中ではダブることはありませんが、他のフィールドでは使えま すよね?それを無しにしたいのです。 同様に、フィールド-Bで一度使われた要素は、A,C,Dでも使えない ようにしたいと思っています。
>>175 フィールド名(A,B,C,D)とその値というようなテーブルに設計を変更する
他の情報があるなら必要に応じてjoinすればよろし
>>177 不可欠である理由をちゃんと書いたほうが的確なアドバイスが得られやすいだろう
>>175 そういう特殊な制約は、普通はトリガーを使って実装しますが、
残念なことにSQLiteの貧弱な機能ではそこまでのことは
実装できません。他のまともなデータベースサーバーに
変更することをお勧めします。
結局
>>180 が言いたいだけの自演厨か。
設計で逃げられないような腕の奴はどんなDBMS使っても駄目なのにね。w
182 :
180 :2006/12/01(金) 23:17:33 ID:???
涙目になるなw 俺は断じて間違っていることは言っていない。
トリガーで設計の愚かさを補いたい人はそういうDBを使うのが良いだろうね。 そんな奴の設計したシステム使いたくないけど。
別にフィールド作ってそこをキーにして ABCDの入れたいとこに同じ値を入れればいいんじゃないの?
>>185 それこそ変な設計だろ。
制約のためだけに変なテーブル作るな。
ぜんぜん許容範囲
バックアップしてるって言うけど、リストアしたこと無いって香具師なら居たな。 漏れの職場。orz VB使ってるなら普通にアクセス使ってるってのと同レベルだ。 PHPだから、SQLITEって根拠としては薄い。 むしろ貧乏で専用鯖借りられないから、仕方なくSQLITE使ってますってのは本当の理由でしょ。
ロリポみたいな格安鯖だとMySQLの鯖が死ぬほど重くてSQLiteの方が速いってのもある
アクセスネタ飽きた。
漏れも飽きた。
2chビューアとかにSQLite内蔵されてるけど、 これをアクセスやMySQLで置き換えてプロダクトとして成立すんのかと。
このスレ不毛な議論に何ヶ月も費やしてるよな。 2chなんてそんなもんだから別にいいけどさ。
>>190 つか、そもそも最初から相手にしていない。
俺データベースの勉強最近始めて思ってたんだけど フィールド=テーブルだろ? ならテーブルといえばいいじゃん なんでわざわざ2通りの言い方で表記すんの? create fieldなんてないんだからテーブルと言えよ。 フィールドって言い始めた奴ってアホだろ。
>>196 もっと勉強しろ。もっともっと勉強しろ。
今のお前は間違いなくアホだ。
悔しかったらもっと知識と経験を積め。
頑張れ。
199 :
NAME IS NULL :2006/12/03(日) 00:50:10 ID:5Q8SnX/z
>>197 フィールド=行
カラム=列
アホは死んでいいよ
>フィールド=行 ( ゚д゚) (つд⊂)ゴシゴシ (;゚д゚) (つд⊂)ゴシゴシ _, ._ (;゚ Д゚)
まあ2chで正確な定義を調べようというのが間違いだなw
フィールド 欄 レコード 行 カラム 列 なんなんだよ、このスレは!
なんだ データベースのスレだからスゲー猛者がいるのかと思ったら 誰もわかってねーんじゃんwww >202 だから欄=テーブルのことでしょ? 〜欄(テーブル)の何個目(レコード)の項目名(カラム)で 一つの値を取得するわけだろ?
>>203 釣りか?
つりだよな、釣りだといってくれ
釣りじゃなくて大馬鹿でいいんじゃね? もし大馬鹿と思われたくないって考えてたら釣りだと自白してくるはず。
>196=>203と同じ主張をしている天然が後輩にいるんだが…… 本人ではありませんように。
本とか読んだこと無いのか? 入門書の最初に書いてあるから本屋で立ち読みでもしてからこいや。 /* その辺が抜けてると、「フィールドに入れて」の表記も カラム=フィールドって事になってしまう罠。 */
リレーション = テーブル = 表 タプル = レコード (正確にはレコード オカレンス) = row = 行 アトリビュート = カラム(列) = フィールド アトリビュートの集合がタプル(レコード)、 タプルの集合がリレーション(テーブル)。 ……だったかな?
>>210 お前リレーションって言葉の意味わかってるか?
>>211 210じゃないがわかってるように見えるが…?
#テーブル間のリレーションシップのこととは違うのよ?
>>212 心配になって辞書を引いてみたが、意味は関係、つながりとのこと。
少なくともテーブルのことでは無さそうだが、聡明な
>>212 氏は何か別の解釈があるというのか。
いや、用語に突っ込まれても・・・。 リレーションは、関係モデルにおけるテーブルに相当する概念ですよ。 データベースの教科書を参照してください。
リレーションはイコールでテーブルにはならないよ なに習ってきたんだよ
もうこのスレはデータベースお勉強スレにしちゃえばいいんじゃない?
まぁデータベースお勉強スレ化を促進しても何なんだが ……「確信犯」とか「役不足」みてーなもんかなぁ…… >214 Googleでトップに来てりゃ正しいってもんじゃない。 とりあえず俺が表示したときに上位にあったleasekin.comとshophia-it.comの説明はスカタン。 「リレーション」という用語を知ってれば「リレーションシップ」をリレーションと略すなんて 絶対やらんと思うが…… どの説明を読めばいいのか、というならgihyo.co.jpのPDFの奴(「データベースの基礎」)読んどけ。
……言ってる俺がスカタンやらかしてどーするorz ×>214 ○>216
220 :
NAME IS NULL :2006/12/03(日) 19:03:22 ID:OtD4KG5A
>>218 英和辞典見ましたか?、
リレーションとリレーションシップの違いは何ですか?
>>218 その本が間違ってるんですよw
で、その間違った本のアドレスは?
>>221 その本に失礼だ。
本当は
>>218 が間違って解釈しているんだ。
それを知られたくないから、証拠のPDFの具体的な場所をいえないと
考えればつじつまがあう。
↓これ以降DBの基礎知識ない人は入場禁止↓
MySQLのほうが便利だな。分散構成も取れるし。
sqlite2を使ったCのプログラムをsqlite3に移行したいんだけど、 いいドキュメントないかなぁ…。 sqlite_set_result_string()やらsqlite_create_function()やらの sqilte3では消えた関数をどう代用すればいいのか、よくわからん。
そこを読めばリレーション=テーブルじゃないことくらい理解できるだろ
>>229 そのページの図だと
Relation variable(Table name)
Relation(Table)
となっているな。
「理論の用語では」リレーション=テーブルと言っていいんだろうと思う。
ただ、関係の集合は直積や和や射影などの演算について閉じているという
重要な性質があって、現実のRDBだと、
「SELECT文の結果セット」が「リレーション」に近いイメージなんだよな。
SELECT文によってそうした関係演算は実現できて、結果セットは確かに
カラムと行からなる「リレーション」と言えるし、その結果セットに対して
さらに再帰的に関係演算を適用することも出来るんだが、
それは現実のRDBで言うところの「テーブル」とは異なるものだからな。
確かにテーブルはリレーションじゃが、この広い地球上にはテーブルでない リレーションもあるのじゃよ。
>>232 理論ではそれを区別して無いのかと思ったのだが、違うのかな。
実装で区別されてしまうだけで。
逆に言うと、理論では「テーブル」の定義は何なの?
>>233 理論はひとつではない。教科書によって用語が違うくらい日常茶飯事。
普通はどうよ、と言われれば、テーブルはSQL的な意味でのtableを指すのが一般的。
テーブル≠リレーション 一つのテーブル内に納まらないリレーションがあるだろ
どこまでアクセスの話をしてるのかと。
DBMS使いにとってのリレーションは、テーブル間のリレーションであって、
アクセスでどう定義されてようがどうでもいい。
>>210-235 はアクセススレに池。
テーブル⊂リレーション、と俺は理解してみたのだが、俺の理解なんてホントどうでもいい。
一つのテーブルに納まった要素同士のリレーション テーブル間のリレーション これらはまったく別のこと リレーション=テーブルではない
テーブルはリレーション ビューもリレーション
おまえら違うスレ行けよ
>>241 Thanks。
引数が文字列のポインタからsqlite3_value構造体へのポインタに変更されて、
そのまんま代用は出来ないのか…。ソースを結構書き換える必要が出るなぁ。
そういえば、 SQLite2 では sqlite_exec() がメインで、 各行の処理はコールバック関数で実行するようになっていたのが、 SQLite3 では sqlite3_step() というステップ処理 API を利用するのがメインで、 sqlite3_exec() はそれの単なる wrapper API になってしまったので、 2 から 3 へ移行したときにそこらへんをごっそり書き換えしたような記憶が かすかにあるようなないような。
リレーション(笑)
おまいらアクセス使っとけ(w
ファイルメーカー信者の俺様が来られましたよ
いやいやそういうスレじゃないから。
今度はマカか。氏ね!
マカって腐ったリンゴだしなあ。
251 :
NAME IS NULL :2006/12/12(火) 22:20:21 ID:7FrU/r+b
VB2005から使ってみたいんだけど、ODBCとかなにかツールはあるの?
254 :
251 :2006/12/13(水) 23:01:22 ID:VQL+RvgD
>>252 253
ご紹介ありがとうございます。
でも英語は超苦手で、目の前に宝の山がありそうなのに見つけられない自分が悔しい…
>>254 英語云々で諦めるのならそれは貴方にとっては宝ではなくすっぱい葡萄なのでは?
一応、義務教育で英語教えてるんだから、あとは本人の熱意だよな
VBからなら最初はMDBとかMSDEのほうが楽だよ。 義務教育英語ってほとんど意味ないけどな。 義務教育で国語習っても、ビジネスマナーの日本語は難しい。
>>255 諦めてないから「宝の山」なんでは?
>>256 御意
>>257 MDBもMSDEもMySQLもPersonal OracleもOracle Liteも経験済み。
組み込み型で軽くて安くてファイルサイズ制限の緩いDBMSが欲しいのさ。
>>257 義務教育ごときで及第点取れない奴に限ってそういうことを言うよねw
260 :
253 :2006/12/14(木) 09:06:35 ID:???
SQLite のスレッドでこんなことを書くのもヘンだが、Firebird Embedded Server も面白そうだ。もっとも Firebird は英語、日本語ともにドキュメントが 少なくて、SQLite 以上に苦労すると思うけれど。
義務教育で優秀なら日本語じゃなくて英語でカキコすれば良いのに(w
そしたら
>>261 は読めないから
かわいそうに思ってなw
263 :
NAME IS NULL :2006/12/16(土) 20:55:37 ID:cyQwrL5b
PHP5.2 PDO_SQLite1.0.1 SQLite3.3.7 でデータベースのATTACHが出来ないんだけど俺だけ?バグ?仕様? $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $pdo->query("ATTACH DATABASE 'db2.sqlite3' AS db2;"); $stmt=$pdo->query('select * from db2.hoge;'); while($result = $stmt->fetch(PDO::FETCH_ASSOC)){ var_dump($result); } でstring(64) "SQLSTATE[HY000]: General error: 1 no such table: db2.hoge" 例外が出る。 sqlite_master見てもdb2データベースは出来てないみたい。 Attachはあきらめて他の方法を探るべき?
264 :
NAME IS NULL :2006/12/16(土) 21:01:42 ID:UIPLZeNb
>>261 義務教育受けたのに英語使えない奴はただの馬鹿だけど、日本で日本人相手に
英語使う奴はキチガイだと思わないか?
つまり日本に居るのに英語の義務教育で優秀だった香具師は基地外ってことですね。 無駄なことしてたって自覚すらないとか?
つーか日本人(ないし日本語を常用するであろう人間)が英語圏産のDBについて語るスレで 日本語だ英語だと何をこだわっとるのか
英語だからという理由でドキュメント読まない馬鹿が沸くからだろ
>>263 なんでアタッチした直後にエラーチェックを入れないの?
日本人はアクセス使ってれば良いんだよ。 日本語ヘルプも完備だ。
みんなでアクセス(mdb)を使おうぜ。
やだよ
知ってる
もうsqlite使ってる香具師は居ないんじゃない?
firefox2.0使ってる奴は既にsqlite使いですが何か?
MT使ってる人でSQLiteは多いかもな レンタル鯖の関係でSQLiteのバージョンは2だったけど何ら問題ない
sqliteは使いやすいからねぇ。ヲレ的にはBerkleyDBのほうが 好きだったりするんだけど。SQL使えんけど。
Btrieveを忘れないでください・・・
BDBとか、よくぶっ壊れるからお話にならんだろ。
SQLite の壊れるネタで相手にされなくなったら今度は BDB かよ。懲りないねえ。
どんなものでも壊すことのできる特殊能力の持ち主かもしれないね
……もしや龍宮城之介?
まぁ、BDBが評判悪いのは事実だけどな。 Subversion、OpenLDAPなど、ちょっと調べるとソースはたくさん見つかる。
BDBはSQLite以上にDBファイルやAPIの互換性に欠けるからなぁ。
はいはい、2と3で互換性無いのと、DBファイル壊しまくりなのを自ら認めましたね。 やっぱりBDB使ってる無料ソフトのSQLiteって商用ソフトのアクセスより駄目じゃん。
SQLiteはBDBとやらには全く依存してない。
BDB使ってる無料ソフトのSQLiteってなんのこと?wwww
∩___∩ ∩___∩ ♪ | ノ ⌒ ⌒ヽハッ __ _,, -ー ,, ハッ / ⌒ ⌒ 丶| / (●) (●) ハッ (/ "つ`..,: ハッ (●) (●) 丶 ♪BDBがSQLiteで使われてるって | ( _●_) ミ :/ :::::i:. ミ (_●_ ) | 勘違いするのってどんな気分? ___ 彡 |∪| ミ :i ─::!,, ミ、 |∪| 、彡____ ヽ___ ヽノ、`\ ヽ.....::::::::: ::::ij(_::● / ヽノ ___/ / /ヽ < r " .r ミノ~. 〉 /\ 丶 / /  ̄ :|::| 恥馬 :::| :::i ゚。  ̄♪ \ 丶 / / ♪ :|::| ::::| :::|: \ 丶 (_ ⌒丶... :` | ::::| :::|_: /⌒_) | /ヽ }. :.,' ::( :::} } ヘ / し )). ::i `.-‐" J´(( ソ トントン ソ トントン
アクセスとやらを使っている奴の知識レベルを垣間見れて実に有意義だったw
わからないのに無理に会話に参加しようとするから自爆するんだよw
大量だな。ヴァーカw
大量だな。ヴァーカw│ ────y──┘ ・゚・。 ○ノノ。・゚・ ~~~~~~~~~~│~~~~~~~~~~~~~~~ ト>゚++< ミ パクッ ジタバタ ハ ノ ノ
大量
もしかして大漁と言いたかったのかな。
303 :
NAME IS NULL :2006/12/20(水) 13:59:49 ID:IGadmlEt
VS2005 + ADO.net Data provider for SQLiteを使って開発してるんだけど、 Data Sourceに相対パスを指定するとうまくいかない。 Data Sourceに指定するパスのカレントパスが、 * VS的には、ソリューションのルートディレクトリ(*.sln がある場所) * バイナリ的には、System.Data.SQLite.dll のあるディレクトリ になってるみたい。コネクションストリングに "Data Source=data.db"を 指定すると、 VSのサーバエクスプローラのデータ接続などでは、 foobardir\solution1\data.db を見に行くし、 デバッグ時には、 foobardir\solution1\bin\Debug\data.db を見に行ってる。 VS2005のIDEの問題なのか、ADO.net Data provider for SQLiteの問題なのか わかんないけど、何か分かることがあったら教えてください。 絶対パスによる指定、は無しでお願いします。
304 :
303 :2006/12/20(水) 14:04:20 ID:IGadmlEt
要するに、Data Sourceに相対パスを用いて、VS2005のDBに関する便利な機能を使うには、 どうしたらよいか、ということです。わかりにくくてすみません。
VSのスレで聞いたほうがよさげ
Data Sourceの解釈はデータプロバイダに まかされているはずだから、 System.Data.SQLite.dllの問題だとは思うが・・・ VSのスレは関係なさげ
308 :
303 :2006/12/20(水) 18:10:49 ID:IGadmlEt
だいぶスレ違いっぽいのだけれど。。。 よくわからんのだけど、 C:\Program Files\Microsoft Visual Studio 8\Common7\IDE にDBのファイルが出来ることもある。事前条件がわからんけど。 最新版 System.Data.SQLite.dll のソースコード、SQLiteConnection.cs の 920行目の AppDomain.CurrentDomain.BaseDirectory があやしげ。 てか、VSから見てるDBのドライバは、GAC の System.Data.SQLite.dll なんだから、開発対象のバイナリの在処なんて知ったこっちゃない悪寒。 てことは、開発時には Data Source は絶対パス指定にしておいて、 リリース直前で相対パスに替えるしかないのかなあ。。。うーむ。
309 :
303 :2006/12/20(水) 18:14:29 ID:IGadmlEt
>>307 レスありがとうございます。
in the Compact Framework's って言ってるので、ちょい違うみたいです。
って、Fullバージョンの .net Framework を対象に開発してることを、
最初に断っておかなければなりませんでした。すみません。
>>303 しばらくVS使ってないんだが、プロジェクトでバイナリの実行パスを設定出来なかったか?
311 :
303 :2006/12/20(水) 19:54:37 ID:IGadmlEt
>>310 できますね。(開始オプション→作業ディレクトリ ですかね?)
仰っているのは、(VSの実行パスはどうにもならんから、)プロジェクトの実行パスを
C:\Program Files\Microsoft Visual Studio 8\Common7\IDE ( $(DevEnvDir) )
にしてしまえ、と言うことでしょうか。
困ったことに、Data Sourceのカレントディレクトリが、 $(DevEnvDir) だったり、
$(SolutionDir) だったり、再現性が今ひとつよくわかっていないのです。
Data Sourceの相対位置って普通にカレントディレクトリからの相対位置じゃないの? だからカレントディレクトリをプログラムの実行ファイルの場所に移動すればいいだけじゃないの?
313 :
303 :2006/12/20(水) 20:55:41 ID:???
>>312 恐らく、その「カレントディレクトリ」というやつが、コンテキストによって
違っているため、今の状況になっています。
ビルドされて出てきたバイナリは、想像どおりの「カレントディレクトリ」を
起点にしてくれます。その一方VS経由では、(恐らく)VSの実行ファイルがGACの
System.Data.SQLite.dll を呼び出す形になっているため、VSの実行ファイル
そのものがあるディレクトリを「カレントディレクトリ」としているようです。
おまいらアクセス使ってるなら、ODBCでMDB使えよ(w
だからアクセス使ってるのは約一名だってばw
>>313 カレントディレクトリってのは、プログラム起動時に現在いたディレクトリのことだぞ。
たとえばc:\hoge\prog.exeってのをc:\hogeにいるときに実行したらc:\hogeだし、
c:\Windowsにいるときに、\hoge\prog.exeって入力して実行したらc:\Windowsになる。
もとから実行の仕方でいろいろと変るものだ。デフォルトのカレントディレクトリに依存してはいけない、
最近はそんなことも知らん香具師がプログラムを書くのか
実行ファイルの位置からパス取ればOK。
319 :
303 :2006/12/21(木) 04:26:53 ID:???
>>316 うーん。私の言葉が足りませんかねえ。
恐れ入りますが、CUIではなくて、
VisualStudio2005 + ADO.net 2.0 Data provider for SQLite
という環境で開発していることを、ご理解いただいているでしょうか。
そうであれば、どの設定をどうすればいいのか、ご教示願えないでしょうか。
>>318 どの「実行ファイル」でしょうか。開発対象か、開発環境自体か。
とりあえず、もう一度問題をまとめておきます。(もっとも、問題の本質が
以下のとおりであれば、どうにもならない気もしてますが。。)
起こっている問題は、VSによって生成されるバイナリ output.exe が、
データベースファイル data.db を参照しないこと、では*ありません*。
開発環境であるVS自体 devenv.exe が、相対パス指定された data.db の
場所を、正しく認識できないことです。
CUIとか関係ないのに、根本的にわかってないな、この人
この手の患者は自分の勘違いを自分で気がつくまで納得しないのが特徴
322 :
303 :2006/12/21(木) 17:09:26 ID:???
>>320 アプリケーションの形態がCUIかどうか、本質的には関係ないことはわかってます。
その意味では言葉が不適切でした。すみません。ここでの意味は、IDE(VS)による開発、
とでも置き換えられるでしょうか。
>>321 まあ、私の特徴としてはご指摘のとおりですね。で、もしVS2005を使う機会があれば、
(確認したところ、VC#2005 Express でも可能です) VSのデータ接続のウィザードで、
プロバイダにSQLite、データベースに .\data.db などを指定して、挙動をご確認
いただければ幸いです。その上で、私の勘違いについて指摘しているのであれば、
申し訳ありません。
IDEだってEXEを起動してるだけなのは判るよね? そのときのカレントディレクトリの問題じゃないの? なんか説明がごちゃごちゃしててよく判らんけどさ
とりあえず、303にカレントディレクトリという概念を理解できるほどの知能がないのはわかった。
325 :
303 :2006/12/21(木) 18:03:14 ID:???
>>323 はい、IDE(VS)はEXEそのものですね。
もしかして、
>>312 さんが仰っているのは、VSのEXEを呼ぶ時点で、カレント
ディレクトリを変えておけ、というご指摘だったのでしょうか。
Solution1.sln と同一ディレクトリに、以下のバッチファイル置いて、
cd Solution1\bin\Debug
..\..\..\Solution1.sln
そいつからキックしたらうまくいきました。IDEの起動時にどうこうするとは
思いも及びませんでした。みなさま、スレ違いにお付き合いいただき
ありがとうございました。
326 :
303 :2006/12/21(木) 18:06:04 ID:???
なんか微妙に理解が違う気がするけど、もう面倒くさいからいいや。とりあえずおめ。w
・Win32 API にGetCurrentDirectory とSetCurrentDirectory がある
・開発環境からデバッグ開始する際はプロジェクトの設定のデバッグの項で作業ディレクトリを好きに設定できる。
・生成したバイナリを起動するときのカレントワーキングディレクトリは実行ファイルと同じディレクトリとは限らない。
>>303 がどうしたいのか知らないのでアドバイスできることは何もない。
329 :
303 :2006/12/21(木) 19:36:05 ID:???
>>328 >>325 で解決済みなんですが、せっかくですので。
どうしたい、どうなって欲しいのかは、Data Sourceに data.db などの相対パスを指定して、
VSのデータ接続のウィザードや、データセットの構成などが正常に行えること、です。
で、これができない理由は、生成されたバイナリ云々の問題ではなく、VSのEXE自体のカレント
ディレクトリが、(そのように工夫しなければ、) VSのEXE自体か、開発対象のソリューション
ファイルが存在する場所になるから、です。私がこれまで以上に重大な勘違いをしていない限り、
アドバイスしてくださった内容は、問題とは関係なさそうです。
どこを基準にした相対パスにしたいのか分からん。
>>303 のプログラムは、ショートカットから起動したりとかした場合
動かないプログラムになるのだろうな。
UNCに置いて起動すると…
335 :
303 :2006/12/22(金) 04:33:03 ID:???
えーと、根本的なところで質問したいのですが。
アプリ本体、いくつかのDLL、DBファイルを、適当なディレクトリにXCOPYで
インストールが完了する(まあ、今回に関しては、.net frameworkは必要ですが)
スタンドアロンのプリを作ろうってのは、根本的なところから間違いなんですかね?
また、最初から SQLite はそういう要件を満たしうる物ではないのですか?
もしくは、VSのDB操作用の各種ツールは、そういう要件を満たしうる物ではない
のですか?
>>334 別にVSが悪いとまでは思ってませんよ。1アプリとして妥当な動作でしょう。
頭のよろしい
>>334 様であれば、上記の要件を満たすアプリを、VSのDB操作用の
各種ツールを使ってどうやって開発するのか、お聞かせ願いますか。
そんなツール使わない、と仰るのであれば結構です。私も以前まではずっと
そうしてやってきましたので。
336 :
303 :2006/12/22(金) 04:34:28 ID:???
>>335 l.4
× スタンドアロンのプリ
○ スタンドアロンのアプリ
です。すみません。
とりあえず、自分の精神が異常ということは認識しておいたほうがいい。
Visual Studio 2005 Design-Time Support って 元々SQLServerみたいなのを想定して機能だから SQLiteで相対パスでなんてのはVS側の想定範囲外だと思うよ。 条件コンパイルでリリース版だけデータソース変えるとかすればいいんじゃね、よく知らんけど。
>>335 だからな。相対パスと、”どこからの”相対パスなのかと、
カレントディレクトリと実行ファイル位置の違いを
他人に説明できるぐらい調べろってことだ。
>>335 もういいからVSとADO.NETの使い方を書籍を購入してSQLServerやOracleなどあらゆるDBを起動して
悶え狂い死ぬほど勉強と実戦を積んでから出直してこい。
少なくともここで回答している諸氏はそれほどの経験を修羅場をこなしてきた上での回答だ。
安易に質問すれば解決するなどとは思わない方がいい。
しっかし、このバカなんでこんなに粘着しているんだ?
342 :
334 :2006/12/22(金) 23:38:35 ID:???
>>335 SQLiteは悪くない、お前の性格が悪い
アクセス厨が手法を変えてウザウザやってるだけと推定。
修羅場って、sqliteなんて使ってるから修羅場なんだよ。 アクセスなら修羅場なんて有りません。 SQL Serverへの移行も簡単だし、アイタニウムへの移行も簡単。
んなーわけない。
sqliteの開発者の数<<<厚い壁。<<<アクセスの開発者の数 デスマに陥るのはどちらか一目瞭然だ。
アクセスなんてWindowsでしか動かん時点で(少なくともサーバ用としては)論外だろ。 アイテニアムで動かせと言われるよりはLinuxへ移植しろと言われる確率のほうが一兆倍 くらい高い。
SQLite3で日本語扱うにはUTF-8しか無理なの?特に日本語での検索とかで。
API的にはUTF-16(=Windowsの内部コード)でOK
MSDEならアクセスから移行しやすい。 sqliteもリナックスも論外。バックアップすら総務の人間で出来ないし。
Access厨が湧いてきたのと同時に、カレントディレクトリがわからないバカが消えた件について
同一人(ry
sqliteの話題なんかほとんどないし寂れているスレですね。
Visual Studio 2005 Design-Time Support って、アクセスだと相対パスはどう解釈されるん? アクセスおすすめの人、おしえてよ。
あくせくのスレでやれw
3.3.8からload_extensionが使えるようになったので試してみました HAVE_DLOPENをdefineしないと使えないのがなんとも… デフォルトでoffになってます。 configureには--enable-dlopenとかないので、 configure CFLAGS=-DHAVE_DLOPEN とやればいけます これで後からユーザー定義関数をばしばし追加できるっぽい たとえばCやC++でsoもしくはdllを作っておいて、 select load_extention("xxx.so"); とやってやれば、phpからでも使えたりするっぽい だいたい下みたいな感じかな? #include <sqlite3.h> #include <sqlite3ext.h> SQLITE_EXTENSION_INIT1 int sqlite3_extension_init(sqlite3 *db, char **pzErrMsg, const sqlite3_api_routines *pApi) { SQLITE_EXTENSION_INIT2(pApi) // ここにユーザー定義関数を追加 return SQLITE_OK; // 正常終了 } 今、いろいろ試しつつ、fts1のソース読んでるところです なんかアドバイスあればよろしくです
普通にphpからsqlite使えますが?
>>358 PHPでユーザー定義関数を使う場合
・今まで
ユーザー定義関数もPHPで定義
すごい遅い
sqliteのソースを直接変更 or 類似の方法
変更するたびコンパイル
必要でない場合も組み込んだものがすべてメモリ上にロードされる
・load_extensionで実装
CやC++で記述するので、そこそこ速度はでる
必要になったらロードすればよい
ex) 統計処理ライブラリと日付ライブラリなどを作っておけば、必要なところで別々に使用できる
おそらく、load_extensionでsql文の拡張もできるかも?
そもそも速度求めるならphp要らない。 phpって簡単に弄れるだけのメリットしか無いよ。
うんそうだね
うんそうだね(棒読み)
(感情を込めて) うん、そうだね。
zend使えzend 非効率的だと思う
ADO.net Data provider for SQLite 便利だなぁ
>>365 .NET がうらやましい。Delphi 使いにはこれといった決め手がなくて……。
DISQLite3 が一番よさそうだが、商用ライセンスが 90 ユーロ、しかもソースは
別売り。Aducom の SQLite3 コンポーネントは WideString 非対応。フォーラムを
読む限りでは対応中らしいが、今日明日のうちにということではなさそうだ。
結局、Simple Sqlite 3.0 for Delphi を改造して WideString 対応にしたものを
使って開発中。
PDOでsqlite3使おうと思ってるんですが、 分かる方いましたら教えてください!! とりあえず、結果がなにも出力がされません・・・。 PDOでMySql使ってみたら正常にどうさしました。 ちなみに、クエリは正常に実行できててテーブル作ったりインサートしたりということはできてます、 ですが表示が全くされない状態です。 echo "aaa"; などと入れても無視されます。 設定は、VineLinuxのデフォルトで何も設定していません。 PHPINFOでPDOのSQLiteが有効なのも確認しました。 実行したコードはしたのものです <?php try { $pdo = new PDO('sqlite:test.db','', ''); $stmt = $pdo->query("SELECT * FROM test"); while($row = $stmt->fetch(PDO::FETCH_ASSOC)){ echo implode(", ", $row) . PHP_EOL; } } catch(PDOException $e){ var_dump($e->getMessage()); } $pdo = null; ?> よろしくお願いします。
>echo "aaa"; などと入れても無視されます。 これは SQLite の問題なのか? PHP の問題じゃねーの?
PHP使ってるくらいだから問題の切り分けもできない人なんだろう
PHP使った事ないからググってみたけど、 データベースハンドラ?のqueryメソッドって ステートメントハンドラじゃなくてもろに結果セットを 返してるみたいなんだがその辺どうなの? DBドライバごとに返すもんが根本的に違うとかありえんと思うが…
ごめん、用語色々おかしかった。 結果セット→結果セットを配列に詰め込んだ物と読み替えてくれ。 とりあえずqueryメソッドはPDOStatementを返すらしいが、 queryメソッドから返されたPDOSt(ryからfetchする例文はなかった。 DBI使おうぜDBI。
372 :
367 :2006/12/28(木) 09:03:14 ID:???
問題も切り分けられなくすいません・・。 初心者ですいません。 >368さん PDO+SQL以外は正常に動作しています、 他のプログラムは実行できてますから・・。 とりあえず、PDO+SQL関連のコードが入っていると真っ白になります。 PHPじゃなくて他にいいのがあるんですかね?
ループ内に入れたecho "aaa" が実行されないわけか。 とりあえずエラー処理をきっちりやるとこから始めたら? PHP使いはエラー処理を書かないってホント?
374 :
371 :2006/12/28(木) 12:25:46 ID:???
ハンドルは同じPDOStatementオブジェクトなんだが、 prepare("[SELECT文]")で取得してexecuteしたハンドルからはfecthメソッドで行を取得 query("[SELECT文]")で取得したハンドルからはforeach ([ハンドル] as $row)とかで行を取得 らしい。 MySQLではうまく行ったってのは全く違うコードでドライバがMySQLだったってだけなんじゃ。
375 :
367 :2006/12/28(木) 15:17:15 ID:???
状況としては、 エラーがでるのは、 @表示OK <?php echo "aaa"; ?> A画面真っ白 <?php echo "aaa"; try { $pdo = new PDO('sqlite:test.db','', ''); $stmt = $pdo->query("SELECT * FROM test"); while($row = $stmt->fetch(PDO::FETCH_ASSOC)){ echo implode(", ", $row) . PHP_EOL; } } catch(PDOException $e){ var_dump($e->getMessage()); } $pdo = null; ?> B正常表示 <?php try { $pdo = new PDO("mysql:host=localhost; dbname=test", "mysql", "password"); $stmt = $pdo->query("SELECT * FROM test"); while($row = $stmt->fetch(PDO::FETCH_ASSOC)){ echo implode(", ", $row) . PHP_EOL; } } catch(PDOException $e){ var_dump($e->getMessage()); } $pdo = null; ?>
PHPって奴にはエラーメッセージっつーのは無いのかね
>catch(PDOException $e){ > var_dump($e->getMessage()); >} ここがエラーメッセージを取得してるとこだろ…常識的に考えて… で、この getMessage() とやらは echo に渡さなくても文字列を出力してくれるんかいな?
var_dumpってのがデバッグ表示の出力命令じゃないか? 素人判断だけど。 あとfetchのパラメータで返される行の形式指定するみたいだけど ドライバによっては非対応の値とかあるんじゃないか? 素人判断だけど。
俺みたいにPHP知らない奴でもこのスレさえ読んでれば生半可な知識が身につくな
普通にprintデバック。 たかがスクリプトだぞ。デバッカなんて有りません。 つーかsqlite廚ってアクセス廚よりスキル低いよな。 やっぱりアクセス本みたいなのが無いから?
PHP厨はSQLite厨よりもスキル低いわけかw
例外で全てのエラーをキャッチできるとは限らないんだから、中間に出てくる値全部printしてみたり エラー変数みたいのがあればそれもprintしてみたりするしかないんじゃないのかね。
PHPからアクセスを扱うコード禿げしく希望!w
>>380 > たかがスクリプトだぞ。デバッカなんて有りません。
レベル低いのはお前。
PHPのデバッガなんていくらでも有る。
最近のPHPのデフォはエラー吐かないから、 ローカルでエラー吐く環境作っとけ、と。
実にPHPの勉強になるスレだな。一生使う機会は無いだろうけど。w
>>387 デフォではかないなら、
はくようにすればいいだけじゃんw
390 :
NAME IS NULL :2006/12/31(日) 03:21:58 ID:7TDC6eJ8
>>389 ウェブ上にエラー吐かれるとセキュリティ上困るって意味じゃないのか?w
PHPはZendという優れた開発環境があるからみんな使ってね。
開発はインターネットから見えないテストマシンでやれぼけ。
そろそろスレ違いだと思うが エラーメッセージの挙動なんて (httpdの設定にもよるが) .htaccess にPHPの設定を書けば 変わるようにできるんだし、インターネットから見えるとこで開発してるわけでもないんだろ?
レン鯖しか動作環境持ってないウェブデザって多いよ。 自分で動作環境すら作れない。 ヒント:ODBC ここの住人はスキルが低いですね。
ODBCってWindows用だろ?
>393は>384への回答だろ。
http://support.microsoft.com/kb/832205/ja IIS/ASP から Jet にアクセスする場合、ADO 経由で
Access ODBC ドライバ、または OLE DB Provider for Jet を
使用できます。しかし Access ODBC ドライバ、
および OLE DB Provider for Jet は、Web システムなどの
多くのユーザーからのアクセスによる同時実行や
高負荷の対応はされておらず、また、終日稼動で運用されるような
高い信頼性を要求されるサーバー アプリケーションで
使用されることを考慮して設計されていません。
Visual Studio 2005 Design-Time Support って、アクセスだと相対パスはどう解釈されるん? アクセスおすすめの人、おしえてよ。
すれ違い。
mysqlもodbc使えるのに、sqliteダメポ。 アクセス以下だ。
じゃあアクセスの方がSQLite未満だ
じゃあ、sqliteも、Web システムなどの多くのユーザーからのアクセスによる同時実行や高負荷の対応はされておらず、また、終日稼動で運用されるような 高い信頼性を要求されるサーバーアプリケーションで使用されることを考慮して設計されてい無い訳だね。 結論:sqliteはゴミ。
> 対応はされておらず 対応はされています。 よってアクセスはゴミ。
対応されてないのはodbcだろwwwww
とアクセスもねw
>>403 (8) Is SQLite threadsafe?
Yes. Sometimes. In order to be thread-safe,
SQLite must be compiled with the THREADSAFE preprocessor
macro set to 1. In the default distribution,
the windows binaries are compiled to be threadsafe
but the linux binaries are not.
If you want to change this, you'll have to recompile.
>>407 すごいな、SQLiteは。アクセスがゴミに見える。
アクセスはヂュアルコアでもハーパスレディングでも使えるんだけどね。
もうAccessの話はいいよ。関係ないじゃん。SQLiteと。
sqliteがアクセスのように使いやすければ良いのにな。 イルカ機能付けてよ。
包茎くんが粘着しまくっておるな
英語が読めなくて壊れてしまったんだな。
アクセス買えない貧乏人が必死ですね。
別に金払わなくてもmdbファイルは作れるだろ。
アクセス厨は、SQLite厨が怒るから面白くてちょっかい出してるだけ だろ? mdb が WEB鯖のバッググラウンドで使えると本気で考えてる訳じゃ 無いよな?w
sqliteはバックエンドでは使えないよ。 冗長構成取れないし。
まるで SQLiteが万能だと、そう思ってる奴はどこにいるかもわからないのに、 変な戦いを挑むのはやめなよ。
うちの鯖はSQLiteをバックエンドにしとります。 アクセスログもSQLiteに記録しとります。 むちゃくちゃ危なっかしいです。
それでもアクセスよりはましなんだよねーw
421 :
419 :2007/01/05(金) 05:20:23 ID:???
さっきSQLiteをバックエンドにしてると言った者だが、 もしかしてSQLiteって、INSERTしてCOMMITすると、 ファイルの一部を書き換えるのではなくて、全体を上書き保存してない? HDD稼働率がやたら高い気がする・・・ 想定外だ。設計失敗したかも。
> ファイルの一部を書き換えるのではなくて、全体を上書き保存してない? さすがにそれはない。 けど、 COMMIT しまくるとディスクアクセスが多くなるというのはそういうものだと思うので、 アクセスログで COMMIT を頻繁にするような使い方だとちょっと厳しい気はするね。 極力 TRANSACTION を長く取って COMMIT の頻度が少なくなるように工夫するとか。
原因の切り分けもできないようじゃどのDBでも扱えません
424 :
419 :2007/01/05(金) 17:39:40 ID:???
>>422 そですか。ありがとうございます。
SQLiteでログ記録するためにデーモン作るのもなんだな・・・
やっぱログは一旦テキストで取って、
cronでSQLiteにぶちこみますか。。。
アクセスじゃバックエンドは辛いから、MSDEだな。
writeが主なら、やっぱりMySQLやSQLServerの方がパフォーマンスが良いと思う。
427 :
NAME IS NULL :2007/01/07(日) 22:07:11 ID:SBuYDzm+
そりゃそうだろ
age
知らん間に3.3.10になってた。
また古いsqlite2のDBが読めなくなってるなあ。 sqliteの開発者って馬鹿だよな。下位互換性ぐらいチェック汁!
またかよ。 不具合報告するなら再現可能な手順をきちんと示してくれ。 その気がないならチラシの裏でやれ。
>また古いsqlite2のDBが読めなくなってるなあ。 いつのv3で読むことが出来たのですか?
どこにも「v3で」とは書いてない件。
434 :
NAME IS NULL :2007/01/16(火) 19:43:11 ID:bgCDvXxZ
>>384 ADOdb
高性能だけどpear::DBよりコマンド名長くてうっとおしい
もうアンチvs信者でしか盛り上がれないこのスレ
みんななんだかんだでアクセスとsqlite2を使い続けてるよな。 食わし過ぎ!
おまえら釣られ過ぎ
そんなに複雑な Tips も無いし、普通に使う限りは安定してるから話題が無いんだよな。 Oracle みたいに VerUP の度に新機能追加で盛り上がるって事も無いし。 そうなると自然とスレは閑散としてくるから、話題はアンチvs信者の論争で 枯れ木も山の賑わいとするしかない、と。
>357 みたいな面白そうな話があっても盛りあがらない件について 結局はノウハウを出したくないんだろう。こことかWeb系とか 実務に近いところだとどうしてもその辺の駆け引きが出てくる。
Senna連携が素直にできると楽しいんだけど
sennaのスレってないの?
見た感じ、mecabをWindowsアプリに同国できるくらいポータブルにするのが面倒そうだな
VCでもmingwでもコンパイルできるよ?
sennaスレに行った方がいいんじゃないか
Linux 板のオープンソースの全文検索ソフトスレあたりで。
そもそもノウハウが必要なほど機能が有る訳じゃないし。 単なる使い捨てデータベースにノウハウなんて無いよ。 VCならMDB使っとけよ。MSDEもあるよ。
create table DATA (ID integer primary key, STRING text)で作ったデータベースファイルに、 insert into DATA values(NULL, '0')とした時、 IDが何番の所にデータが挿入されたか知る方法はありませんか?
PHPなら sqlite_last_insert_rowid Javaなら last_insert_rowid 他の言語でも似たようなのあるんじゃないの。
ありがとうございます。 言語として用意されているとは思いませんでした。
>>447-449 select last_insert_rowid();
じゃ駄目なの?
SQLiteのFTS1モジュールって完全転置インデクスだしカラムと位置まで覚えてるし、 実は思ったほど悪くないんじゃないか …と思ったら、もうCVSにはFTS2が出てて、インデクス作成時間が大幅に短くなってんのか。 Senna組み込んでもカラムは覚えられないし、 FTSのtokenizerをマルチバイト対応させた方が幸せなケースもあるのかもしれん。
>>448 primary keyなら空きがあっても必ず最大値になるので、max(ID)でOK
ウソついちゃいかん。AUTOINCREMENTもつけないとダメだろ。
複数のセッションが走ってたらmax(id)がズレることがあるからlast_insert_rowidでないとダメ
>>455 ウソついちゃいかん。AUTOINCREMENT はつけなくても大丈夫だろ。
何?autoincrement付けられるようになったんか?
むしろ付けなくても勝手に付いたことになる物を付ける必要を感じない
まだまだ2は現役だよ。3で読めないし、DBファイル壊されてしまうし。
>>460 autoincrementをつけたときとつけないときでは挙動が異なる。
読めねーよ!AAry)ウワーン
翻訳ツールくらい使わず読めよ。
英語読めないならアクセスでも使っとけよと思う。
いつもアクセス厨うぜーと思ってる漏れだが
>>468 には禿同
アクセス使っていても、MSのKB調べてると無茶苦茶な日本語になってて 元の英文のほうを見ることはままあったけどな。 つーかマニュアル英語くらいは読めないと色々大変じゃないか?
英語読めない人はそれでも出来る程度の仕事しかやらないから大丈夫だよ
英語読めたところで、馬鹿はダメだろ。
そもそも馬鹿なら、英語読める読めないに関係なくダメ。馬鹿を持ち出すこと自体的外れ。
プログラマで英語読めないって、ちょっとレベル低すぎないか。 新しい情報探すなら、海外のサイトは避けて通れんし。
学生時代に英語をまじめちやっておけば、、、と後悔する毎日
でも、英語ができないじゃ食えないので、できなくても読む。ひたすら読む。 話す的はあきらめて恥を書く。 書くときは一言断りを入れて書く。 だな。
プログラマほど英語が読めない事が多いけどな。 日本語のIDEがないと使えないとか、日本語マニュアルが無いとか、エラーメッセージが日本語じゃないととか。 プログラム勉強する前に英語の勉強してこいって感じ。 変数なんかも、英語じゃなくてローマ字だよな(w 新しい情報なんて探さないのだよ。 誰かが作った手順の元で、忠実に実行して行くだけのプログラマ。 バグも手順通りに作ってくれて、テストすらしないアフォ。
それはコーダー。
おまえらの自称英語できる!程信用出来ない物はない
英語駄目な人、必死だなw
まともなプログラマなんぞ、空想の産物。 現実のプログラマは対人能力低くてスキルも低くて、月給20万の価値すらないよ。
月200万稼いでる俺は空想の産物なのか…
おまいはまともじゃない。 どんな犯罪行為に手を貸してるんだい? 出会い系サイト構築?
取りあえず、部屋から外に出ような 話はそれからだ
出るよ。 いつも外はまっ暗だけど。
もしかして桜あたりでPHPからsqlite3呼び出してるアフェリエイト廚ですか? phpで稼いでるなんて底辺PGですね。
(変数名やフィールド名を付けるときに和英辞書を引いてることは秘密だ) (最近は辞書ユーティリティで便利だ)
490 :
NAME IS NULL :2007/01/30(火) 08:02:03 ID:db7bTjCz
最近はローマ字どころか平気で日本語の変数名をつけてますよ
頭悪い香具師の巣窟ですね。
優等生はXOOPSとかでフォーラム作ってそこで戯れてろ!
notifyとnofityを3年間間違い続けた俺が来ましたよ。
今までどう発音してきたのか、問い詰めたい
そろそろ外部キー対応してくれんかな
煽り合って間に一行でもコード書いたほうが生産的だ
文句逝ってないで、そろそろ外部キー対応のコードを書いてくれないかなあ。 オープンソースなんだから、我慢しないでコード書いてくれれば良いよ。
ここでぼやいてなんとかなるわけないじゃん。本家の ML に要望出せよ。 あ、英語ダメなんだったね。ゴメンゴメン。
アフォはアクセス使えよ。
日本人ならアクセス2007使ってるよな。 アクセス2007ならアクセス95からアクセス2003まで問題なく読めるぞ。
それはすごいですね
商品なんだからそれくらい当然出来なくっちゃねぇ
で、あいかわらずアクセスとSQLiteを同列に語る不毛を続けるバカが居着いてるんだな。
504 :
NAME IS NULL :2007/02/03(土) 22:44:32 ID:QsEAM/Av
いつもMySQL使ってるけど 「簡単に使える」という風評を聞いてsqlite使おうとした… が資料がすくねーわ 参考書も糞みたいなのばっかりだわ 余計時間食うわボケ sqlite氏ね 糞みたいな本出した奴らも氏ね
公式のドキュメントだけで十分だろ。
>>504 日本語で懇切丁寧に書かれた書籍がないとプログラムが書けない人は大変ですね♪
たしかにそれは大変だよな
まあ、日本語の本がクソ本だらけなのは事実だな。sqlite。 まったく不思議だぜ。
長所、短所をそれぞれ3〜5行で頼む。
長所 DBサーバ動かす必要ないので対応していれば共有鯖でも気軽に使える DBはファイルなのでバックアップが容易 UTF-8なら日本語も無問題 パブリックドメインなので商用アプリにも使いやすい 短所 更新時のロックがなぁ。ファイル一個だししょうがないけど コマンドラインアプリがイマイチ 決定的なGUI管理ツールが無い 日本語資料が少ない 短所は日本でメジャーになりきれない原因だと思う メジャーを目指すとどうしても厨向けになっちゃうよなぁ
比較対象も書かずに長所短所を挙げても意味不明じゃん
512 :
510 :2007/02/04(日) 11:45:38 ID:???
比較しなくても俺的長所短所は書けるよ
>>511 が書くときは比較対象もあげてくれたらいい
じゃぁAccess、HSQLDBと比較してくださいな。
>>512 おまえが書けてもそれはおまえ以外には意味不明
長所、短所って意味わかってるか?
日本語苦手な人か?
>>514 ふつうのひとは「一般的な/メジャーなDBMSと比べて」と解釈するから問題なし。
わかってないのきみだけだよ。
>>513 アクセスの話はこのスレでは禁止されています
>>515 最初からそう書けば突っ込まれなかったのになw
>>510 >UTF-8なら日本語も無問題
これ「一般的な/メジャーなDBMSと比べて」長所なの?
519 :
510 :2007/02/04(日) 12:13:13 ID:???
面白そうだね>H2 Java版SQLiteって感じか。(サーバ構成にもできるようだが)
523 :
510 :2007/02/04(日) 14:14:59 ID:???
>>521 >>522 いいね。それを併せて紹介すればもう少し流行るかも…
自分はSQLite大好きなので流行ってほしいんだよね。
激しい更新さえ無ければ十分に使える選択肢だと思ってるし
ところでSqliteのデータベースファイルの拡張子はどういう名前が一般的ですか? 関係ないからみんな適当にやってんのかな?
長所
・サーバポートを開かない
ファイル1個+クライアントソフト:perl,php,ODBCで動くのは魅力的。欠点という人も。
・OSを選ばない
SQL ServerやAccessには出来ない芸当。
短所
・タイプレス
日付等フォーマットを気をつけないとソートが文字列順になる。コーディング量増加。
・更新時ロック
UPDATE中はロックされてしまい他からのアクセスを受け付けない。
・外部キーなし
CASCADEでデータを削除したい場合にはコーディングに頼ることに。
・遅すぎる書き込み速度
頻繁にレコード追加・更新する使い方で高レスポンスは期待できない。ODBCはもっての他。
こんなもん?
>>519 H2はSQLiteみたいな使い方する分にはマジ速い。Javaがインストールされている必要がある。
jdbcを使うならマジおすすめ。それ以外は様子見が無難かも。
ブラウザ経由でMySQL Adminみたいな管理ツールもついて来てこのファイルサイズはすごい。
ODBCは実装されてない関数多すぎ。
>>524 .db3にしてるけど一般的かどうかは知らない。ちなみにVersion 2のときは.db2にしてるけど、IBM
とは関係ない。
>>525 書き込みが遅いという奴は大抵の場合、明示的にトランザクションしてない事が多いけど…
そちらではどうやってた?
>>526 Perl DBIの場合の例だけど
AutoCommit=>0
としたあと、100回とか200回ごとにcommit。
>527 実測でどうだったのか、ちょっと数字が見たいな。
トランザクションで纏めて書き込めば遅いという印象はない。 俺ならPerl DBIのAutoCommitがちゃんと動いているのかを疑う。
いままでデータベースとか触ったことの無いフリーソフトの作者なんだけど ちょっと大量のデータを扱うソフトを作ろうと思って SQLite のことを調べてます。 で、ぶっちゃけ今なやんでるのだけど、 sqlite3_exec って 16 ってついたバージョンがないのだけど こいつに UTF-16 つっこんで大丈夫?
>>530 大丈夫
(正確にはBMP内の文字でネイティブオーダのUTF-16なら大丈夫)
532 :
NAME IS NULL :2007/02/05(月) 03:14:35 ID:kImZLbkv
一方的な書き込みだけなら確かに遅い感じはしないな。 頻繁にcommitしないといけないシステムだと明らかに他のDBより遅い。 自分的にはINSERTよりもUPDATEが特に遅く感じるけど、 誰かきちんとベンチとってないかな?
533 :
NAME IS NULL :2007/02/05(月) 03:31:08 ID:kImZLbkv
短所に書き込みが遅いっていうのがあるのなら、 長所に読み込みが速いっていうのがあってもいいな。
「よりどりみどり」って書けば長所になるねw
>>535 客「可愛い子はいるかい?」
ポン引き「うちは女の子たくさんいますぜ。」
客「うほほ。それじゃあちょっとだけ飲んでいこうかな」 ポン引き「お客様ご案内〜!」 嬢1「イラッシャイマセー」 客「・・・。あれ君外国人?」 嬢1「ソウネ。ナニノムカ。ドンペリハイリマシター」 客「ちょ!俺まだ何も注文してないし!!チェンジチェンジ!」 嬢2「Ef Aifasd falei falsea seie sled alseiaoe」 客「君も外国人なのか。何を言ってるのかさっぱりわからんのだが」 嬢2「Awla dlei fkeo dlasei fppwoe ek」 客「日本語しゃべってくれんかね・・・」 嬢2「LEif lsei feoewl!slei flseif pqqldj!」 客「ボーイ!なんだよこの子は!日本語が通じないじゃないか!!チェンジ!」 嬢3「こんばんわ。最近は人手不足なもので」 客「お嬢さん・・・あんた幾つだね。。俺のお袋くらいの年に見えるが・・・」 嬢3「あらいやですわ。最近人妻流行なので老けメイクですの。26歳よ」 客「26?62くらいに見えるが・・・」 嬢3「オホホホホ・・・」
538 :
NAME IS NULL :2007/02/05(月) 18:03:17 ID:1WSD+3jo
クソつまんね
540 :
NAME IS NULL :2007/02/05(月) 21:45:30 ID:Ak3p4Kog
>>521 SQLの実行結果欄に列名が出ない
>>522 よさそうだけど、SQLを記述する部分に日本語が表示されない
'あいうえお'とか入力しても'□□□□□'になる
やはり日本語が扱える決定的なGUIツールは無いな・・・
542 :
NAME IS NULL :2007/02/05(月) 23:16:04 ID:Ak3p4Kog
>>541 SQLiteSpyの話だよね?SQL実行結果欄じゃなくてSQLを記述する欄で表示できた?
何か設定しなきゃいけない?
ちなみにこちらの環境は、
SQLiteSpy1.5.5
Windows2000 sp4
sqliteは商品じゃないし、ヨドバシで売ってないから、日本語使えなくて当然だ。 アクセス2007なら、ヨドバシで売ってるしGUIで文字化けもしないよ。
>>530 sqlite3_exec() なんて便宜上用意してあるだけだから
自分で使うときはちゃんと sqlite3_prepare16_v2() してから
sqlite3_bind_text16() を使え
546 :
542 :2007/02/06(火) 01:24:46 ID:sv7gVloA
>>542 さんの OS は何? Win9x 系だとダメかもしれない。あと、古い IME だと
Unicode 非対応で文字化けすることがある。俺が愛用している WXG では化けるので、
SQLiteSpy を使うときだけ MS-IME に切り替えてる。
余談だが、SQLite 管理ツールの大半はマルチバイト文字がパス名に含まれていると
データベースを開けないな。シングルバイト文字文化圏は気楽でいいよな :-(
アクセス使えば良いじゃん。 どうせオープンソースでも日本語対応にするスキルすら無いだろ?
>>548 ネタだったら、もうちょっと面白いこと書けよ。
あくせく?
日本語使いたければアクセス使えよ。 オープンソースでもソース弄って日本語対応にできないだろ?
554 :
542 :2007/02/06(火) 22:53:45 ID:sv7gVloA
>>547 Windows2000 sp4です。MS-IME2000使ってます。
>>552 いいっすね。私の環境でも日本語表示できました。
機能も色々あるようなので、ありがたくこちらを使わせていただきます。
アクセスって無料で使えるの?
556 :
530 :2007/02/07(水) 02:27:05 ID:???
しがないフリーソフトプログラマからの質問です。
.NET で sqlite を利用する場合、
ADO.NET 2.0 Provider for SQLite
ttp://sourceforge.net/projects/sqlite-dotnet2/ という物があるみたいです。
これを利用して組んだプログラムを配布するとき、
ユーザーサイドで追加のランタイムとして別途
ADO.NET 2.0 Proveider for SQLite のインストール
が必要となったりするのでしょうか。
>556 dllを一緒に配ればいいだけだったはず。 ユーザから見れば、お前の作ったdllと区別つかない。
558 :
530 :2007/02/07(水) 03:32:55 ID:???
感謝。
ソース弄れない低レベルPGはマイクロソフトにお金払ってアクセス買え。
アクセスって無料で使えるの?
OpenOfficeのBaseでいいじゃん。
562 :
NAME IS NULL :2007/02/07(水) 16:08:24 ID:3O2oP0R0
SQLite3ではAUTOINCREMENTは使えないって事でOK?
アクセスなら自動採番できるよ。
>564 アクセスって無料で使えるの?
毎回毎回同じネタに食いつくんじゃねええええええ!!!!アクセスは無視しろよ!!
あくせす あせくす あせくさ
GROUP BY あくせす
sqliteのことも死ぬ前に思い出してあげてください。
Ruby on Rails の ActiveRecord では、 SQLite 3.3.8 以降で不具合が発生する問題があった (ActiveRecord 最新版では解決) そうなのですが、 ActiveRecord 以外で似たような問題が発生するとか あるいはその対処方法などの情報があれば教えてください。
Rubyスレで聞いた方が良くないか?
あ、いや、 Ruby 以外で何か問題出てたりしないかな、という話で。 無ければないで良いのですが。
SQLiteのページで何がチケットとして登録されてるか確認してみると良いかも。
>>570 どういう不具合なのかリンクくらい貼れよ。
ああ本当だ・・・これは気がつかなかったな・・・。 細かいバージョンアップのたびにこんなの多すぎ・・・。
今に始まった事じゃないし。 2から3の時にはdbファイルが読めないくらいだし。orz
アクセス買ってくださいね。
MicrosoftはSQL Serverの方に肩入れしてて、アクセスはもう見捨てる寸前だよな。 何故か日本では発売しないMS Visual FoxProとかいうのも有るが。
>578 アクセスって無料で使えないの?
我々貧乏人は美味しい麦を食って頑張りましょう
むしろ不味いでしょ。 GUIじゃないし。
生では食えないな。料理人の腕が試される。
ノロウイルス蓄積されてるしねえ。
アクセスほどじゃないけどねえ。
つーかデータベースエンジンに GUI なんていらねーだろ 無駄にフットプリントがデカくなるだけ
590 :
NAME IS NULL :2007/02/09(金) 13:54:51 ID:g7zjlPEu
GUI欲しい
GPUほしい
Vista で Access
>590 よし。作れ。テストは手伝ってやるから。
アクセス買いましょうよ。
アクセス買うくらいなら死んだほうがマシだろ
>594 なんでアクセスって無料で使えないの? SQLiteは無料で使えるよ !
>>579 ACCESSはMS純正でFoxProは元は他社製品(Arago?)では無かったっけ?
だから日本語化されなかったとか。
200x15000 くらいのテーブルAと 20x10000 くらいのテーブルBを SELECT count(*) FROM A, B するだけで死ぬほど遅い (3GHzで1分くらいかかる)のは仕様ですか?
そんなSQL文を書いたお前に問題がある。
たったの1分かあ・・・爆速だな・・・
601 :
NAME IS NULL :2007/02/10(土) 19:11:18 ID:Sr3KeU9s
602 :
NAME IS NULL :2007/02/10(土) 20:16:03 ID:7d6e8tve
今までの開発で使ったDBの中で、SQLiteが一番問題が無かった。 運用でのトラブルはテストでも本番でもほぼ皆無だ。 不思議なもんだよ。 でもこんな話しはプレゼンでは当然使えないし、何より金が稼げない。
今のところ、SQLiteはまだ正規表現使えないのかな? でかいシステムの端末にこぢんまりとしたプログラムで、相互連携を取るとき これだけがネックになってたんだよな。 開発元に依頼出してみようかな…。
自分で好きな正規表現ライブラリを組み込むのがSQLite流
正直、あんなソースを追いたくないんだが…。 つーか、YACCなレベルで対応したほうがいいのか、やるとしたら。
組み込むくらいならMDB使うよ。アクセス廚馬鹿に出来ない。 おまいら正規表現使ってないのな。 モロにディスクアクセスするようなデータ量だし遅いのは当たり前。 オラクルみたいに4GB超のメモリ乗せてキャッシュでヒットするようにしたら? 馬鹿を相手に稼ぐにはGUI必須。あのオラクルでさえGUIでいろいろできるようにしている。
いや。アクセス廚は間違いなく馬鹿に出来るよ。 俺は馬鹿を相手に稼ぐ気はないけど。ww
DBに入れたものを正規表現で検索することは無いとは言えないが、頻繁に必要になる というならDBの設計が不味い可能性が高いと思うぞ。 きちんと論理構造に分割しておくのが正攻法であろう。
つか正規表現使いたいならMySQLかPostgresでも使ってろと
正規表現が必要な場合おしえて
一般的なDBMSの場合、DB側で正規表現が使えるのはそれなりに意味があると思うが、 SQLiteのような組込みDBだとDB側に持つのとアプリ側で処理するのとで大差ない気がする。
:memory:DBをファイルDBに落とすのは2.8系でパッチがあったと思うけど、 3.3系でのパッチみたいなものないですかねぇ そもそもそういうのを標準で用意してくれてもいいと思うんだが。
>610 MySQLしか知らずに設計しやがる奴がいるから。 正規表現はまずいですよ、って言ったら怒りやがった。
正規表現だと、どうせフルスキャンしなきゃならず、 インデックスの効果も無いからな。 SQLiteの機能で独自の関数を組み込む機能あるから、 あれで正規表現関数組み込めば良い。
普通、サイトの検索とかで前方一致とか後方一致とかあるじゃん。 あれ実現するには正規表現必要。 おまいらのサイトにはろくな検索機能付いてないの? 後、顧客情報とかでSQ010000〜SQ010999の情報をまとめたい場合でも正規表現が必要。 アクセスでも出来るのに、機能低いね。
>>616 >普通、サイトの検索とかで前方一致とか後方一致とかあるじゃん。
>あれ実現するには正規表現必要。
へぇ、知らなかった。like でやるもんだと思っていたが、違ったのか。
>後、顧客情報とかでSQ010000〜SQ010999の情報をまとめたい場合でも正規表現が必要。
これも知らなかった。between で範囲指定するのは邪道だったのか。後学のために、
SQ010123〜SQ010586 をまとめる正規表現を教えてください。
>>617 > SQ010123〜SQ010586 をまとめる正規表現を教えてください。
お前いじめすぎwwwwwwwwww
Accessじゃ正規表現はできんぞ。 VBAを使ってユーザー定義関数を作るならできるが、 それはSQLiteに好きな言語でユーザー定義関数を作るのと同じことだ。
CかC++の場合、C+PCRE(Perl Compatible Regular Expressions)か C++でPCREかBoost.Regexでユーザ定義関数組んでSQLiteに組み込む、でFAかな? PythonとかPerlとかだとよくわからんけど。
またアクセス厨が馬鹿さを曝け出してるな。
ユーザ定義関数なんか使うより、アプリ側で処理するほうがいいじゃん。
>>617 > SQ010123〜SQ010586 をまとめる正規表現を教えてください。
ワロスwww
>>616 おまえには大量のデータを扱う事は出来ないw
まぁ
>>616 レベルのプログラマのお陰でハイパワーのサーバが売れるわけだから
社会に貢献していると言えないことも無いような気がしないでもない。
598と616は同一人物だろ。 こんな奴にハイスペックのサーバを与えても利益は一銭も出ないぞ。
けっこう使えるDBだと密かに思ってるんだが、バカがいるので流行らないのかもな
それは俺は賢いと自惚れたいのですか
はい、わたしはトムです。
sqliteでユーザ定義関数組むぐらいなら、漏れならvba組むな。 既にvbaあるのに、車輪の再発明ってアフォ。
え?sqlite で vba 使えるの?
そんなこと言ってるからVBプログラマはいつまで経っても馬鹿にされるんだよね
sqlite使いって言語何使ってるの? Cかperl(Movable Type?)
漏れは Perl で使っているが、 なんで Perl = Movable Type なんだよ…
実はMT使ってるでしょ? perlだと正規表現は充実してるからねえ。
俺はTclだ。SQLiteでデフォのバインディングだ。
だから Perl で使ってるけど MT は使ってねえっつうの
おいどんはPHPでごわす。
Python などを嗜んでございます。
拙者はRubyでござるよ。
C++/CLIとC#
いやぁ、さすがSQLiteですなぁ。 対応言語も人一倍多いときてる。 糞アクセスとは比べ物にならない。
質問です。 一つの画像が RGB の各プレーンに 40、つまり 120 の特徴点を持つ。 特徴点を以下の計算で一つの値にまとめる。 color << 16 + x << 8 + y (color = 0,1,2 / x < 128 / y < 128) という条件で画像のデータベースを作りたいのですが、 こういうテーブルをつくって CREATE TABLE tbl(int image, int point); CREATE INDEX tbl.image; CREATE INDEX tbl.point; これを一つの画像ごとに 120 回くりかえして登録しています。 BEGIN INSERT INTO tbl (image, point) VALUES (?, ?); <- 画像数x120回くりかえし COMMIT このときに、同じ(色x座標)の特徴点を持つ画像を得たいのですが この SQL で検索しています。 SELECT * FROM table WHERE point IN (SELECT point FROM table WHERE img == __) AND img != __; なのですが、この検索用の SQL が遅くて困っています。 画像数は数十万単位で登録したいです。 こういう状況で高速化する方法はあるでしょうか? 環境は VS2005 の C# と ADO.NET 2.0 Provider for SQLite です。
645 :
NAME IS NULL :2007/02/13(火) 02:54:02 ID:X4I6OSla
>>643 そーいやそーだな
いまいちsqliteがメジャーにならないのでちょっとさびしい
647 :
NAME IS NULL :2007/02/13(火) 04:41:43 ID:Xx1fW3U3
日本語ドキュメントが足りないんじゃないの? SQLiteまとめwikiでも誰か作れ。
>>644 こういうのとかどうでしょ。速くならなかったらゴメン。
SELECT DISTINCT a.image, a.point FROM tbl AS a, tbl AS b
WHERE a.image != b.image AND a.point = b.point;
>>647 日本は義務教育で英語を教えているので、英語ドキュメントで十分なんですよ。
>651 ワロタ。 日本ほど自国語ドキュメントが必要な国って滅多に無いよな。
インドの方ですか?
as well asの訳がわかんないんです(><)
3.3.13
SQLite Version4が出たのかと思った<スレタイ
またDBファイルが変わると思うと鬱。 2から3に変わったときに苦労したよ。
まあ、運用中のシステムは無理にバージョンアップしなくてもいいんじゃね? 問題なく動いてるならさ。
>>657 そのくらいで苦労するような頭脳で生きていくのは大変だろうな
安定版は3.3.7で開発版が3.3.13なの?どの辺が安全なのかよくわからん。
じゃあアクセス使っとけ。オマイには無理。
>>657 APIが変わっていてまるで別物っていうことが、いまだに理解できない知能の持ち主さん乙。
ところで、その低い知能はもう手のつけようがないですが、包茎は手術すれば治せますよ。
手術なさってはいかがでしょう?
>>661 またこの流れかよ。このスレは聞いてもこればっかりで
全然情報が流れないな。これじゃ流行らんわ。
あまり流行らせようという気はないよ。 流行らないと困るのは英語読めない人とかでしょ。w
>>660 安定版・開発版の判断は、
公式サイトのトップページの記述を随時チェックするのが良いかと。
今は 3.3.13 が安定してるっぽい。
ただし
>>570 あたりで言ったように、
RoR なひとは AR を最新にしておくか、それがダメなら 3.3.7 を使った方が良さそう。
数十MB足らずのDBなんだが、メモリを大量に食い潰し、 httpdに対してmmo-killerが発動してkernelごと落ちる怪奇現象に悩まされ中。 CentOSplusのPHP5+PDO:SQLiteですが。 やっぱMySQLにするべきか… orz
oom-killerだった
カーネルごと落ちるのはいかなる理由があろうともカーネルの責任だろうな
PHP5.2.0までにはSQLite他にメモリリークのバグがあったような。
ごめん、スタックオーバーフローだった。しかも非PDO。
包茎も童貞も英語も病院に逝って治せ。
ど、童貞を治してくれる病院があるのか?(ドキドキ)
>>671 その病院を紹介してくれ。
明日行って来る。
ここは童貞の巣窟。
>>644 そのSQLだと、どの画像と一緒なのか分からんがそれで良いの?
とりあえず
>>650 のSQLだとCROSS JOINの結果から
絞り出すような感じだから割とキツそうなので
CREATE TABLE temp AS SELECT a.image, b.image, a.point
FROM tbl AS a INNER JOIN tbl AS b ON (a.point == b.point AND a.image != b.image);
で適当にテーブル作っておけばその後の解析に便利かと。
つーかせっかくデータベース化するなら特徴点とやらの
各要素はパッキングしない方が便利なような…
完全一致しか探さないならパックした方が速いだろうけど。
一応、↑のSQLの「temp」は適当なテーブル名に変えるか[ ]で囲っといてね。
画像数が圧倒的に多いからON句に条件突っ込んでも大して変わらない気がする。 そもそもSQLiteで数千万のデータ扱うのってどうなんだ? 解析手法よく考えないとしんどいと思うぞ。 SQLiteに限った話じゃないが。
数十万x120 か。下手すると億にとどくな。 こんなレコード数扱ったこと無いぞ・・・。
ベクトルデータで数千万くらいまでは使ったことある。 何使ってもこのくらいになると設計が悪いと遅くなるのは当然だと思うが。
オラクルRACならいくらでもハード増強できるけどな。
金で解決するのは野蛮人。頭で解決するのは貧乏人。
体で解決するのは
犬畜生
なんでだよw
金で解決するのはお金持ち、頭で解決するのは頭のいい人。
貧乏な会社だと、頭でなんとかしろとか無茶な事言われるね。 月給貰って居るだけで何とかなる訳ないのに。 新しいソフトとハード買ってなんぼ。
687 :
644 :2007/02/16(金) 15:28:52 ID:???
650さん、675さん、ありがとう。 会社で死霊漁ったりしつつも、昨晩まで自宅のPCに向かいすらせず(できず)、 返事がおくれました。 画像数 2077。メモリデータベースじゃないです。 画像特徴量取得時間 :00:03:43.6562500 画像特徴量格納時間 :00:21:13.0156250 644 sql :01:42:13.1875000 now sql :00:31:32.7656250 675 sql :00:40:09.2187500 650 sql :00:35:39.3281250 644 sql---- foreach (画像群) { SELECT * FROM tbl WHERE point in (SELECT point FROM tbl WHERE image == %1) AND image != %1; 一行ずつ .NET Framework の Dictionaly<int, List<int>> に登録。 foreach (Dictionary.Keys) { -- 得られた画像ごとに、平均輝度を取得。こんなテーブルがあったんです^^; SELECT R, G, B FROM lumtbl WHERE image == %1; 画像どうしの関係を計算 } } 644 の SQL は特定の画像を指定して、その画像と関係する画像を検索する SQL です。 SQL 呼び出し回数が n*m な感じのオーダーで発生してしまって大変遅い物になりました。 また、インデックス作成の sql が間違っていたのに気がついていなくて、 質問の時点ではさらにおそかったことを追加しておきます。
688 :
644 :2007/02/16(金) 15:29:38 ID:???
now sql----
foreach(画像群)
{
SELECT R, G, B FROM lumtbl WHERE image==%1;
SELECT idxscore.*, lum.R, lum.G, lum.B
FROM
(SELECT image, Sum(score) AS totalscore
FROM tbl
WHERE EXISTS
(SELECT point
FROM tbl
WHERE image == %1)
AND image != %1
GROUP BY image) AS idxscore INNER JOIN lumtbl lum
ON idxscore.image = lum.image;
}
自助努力しました。
tbl に、下処理した score 列を追加しました。
sql 発行回数を減らそうという方針です。
http://www.geocities.jp/mickindex/database/db_optimize.html とか、見ました。
650 sql---
SELECT hoge.Aimg, hoge.Bimg, hoge.idxscore, Alum.R, Alum.G, Alum.B, Blum.R, Blum.G, Blum.B
FROM
(
SELECT a.image AS Aimg, b.image AS Bimg, sum(b.score) AS idxscore
FROM tbl AS a, tbl AS b
WHERE a.point == b.point AND a.image != b.image
GROUP BY Aimg, Bimg
) AS hoge INNER JOIN lumtbl Alum ON hoge.Aimg == Alum.image
INNER JOIN lumtbl Blum ON hoge.Bimg == Blum.image;
いちど全順列の表を作ってから絞ってる感じでしょうか?
675 sql----
SELECT hoge.Aimg, hoge.Bimg, hoge.idxscore, Alum.R, Alum.G, Alum.B, Blum.R, Blum.G, Blum.B
FROM
(
SELECT a.image AS Aimg, b.image AS Bimg, sum(b.score) AS idxscore
FROM tbl AS a INNER JOIN tbl AS b
ON (a.point == b.point AND a.image != b.image)
GROUP BY Aimg, Bimg
) AS hoge INNER JOIN lumtbl Alum ON hoge.Aimg == Alum.image
INNER JOIN lumtbl Blum ON hoge.Bimg == Blum.image;
() の中身を675のとおりに入れ替えただけです。
こんな JOIN の書き方があるとは知らず、参考になりました。
689 :
644 :2007/02/16(金) 15:38:41 ID:???
650さんのも、675さんのも、sql 一発で画像関係のマップができるので 目から鱗でした。 でも、GUI にプログレスをできれば表示したいということもあって、 ひとつずつにさせて貰います。ごめんなさい。
>>689 sqlite3_progress_handler
691 :
NAME IS NULL :2007/02/17(土) 23:14:20 ID:+mKDOMtz
PHPとの親和性ってどうよ?
PHPはMySQL前提みたいなところが有るからねえ。 オープンソースだし、結局は自己解決できるかじゃないの? 自己解決無理そうならどこかに丸投げするしかないよ。
最近の PHP は普通に SQLite 同梱ですが。 普通にライブラリも提供されてますが。 何がオープンソースだし、だ。ボケが。
はいはい共用鯖使ってる貧乏人乙。
│ J ∩_∩ ∩_∩ (・(ェ)・ ) ( ・(ェ)・)
>>692 はPHP5からSQLite標準装備になったのを知らないんだろ
PHP 5 では、SQLite 拡張モジュールとエンジンは PHP 自身にバンドルされ、デフォルトでコンパイルされます。 しかし、PHP 5.1.0 以降では 手動で有効にする必要があります (共有モジュールとしてバンドルされるからです)。 さらに、PHP 5.1.0 以降では SQLite は PDOに依存するようになりました。そのため、 php.iniに以下の行を (この順に) 追加して PDO も 有効にしておく必要があります。
見事にコピペだな。
SQLite ってアクセスのデータも使えないらしいね。 しょせんフリーソフトってとこかな
飽きてきたのでアクセスをNGワードに入れた
702 :
NAME IS NULL :2007/02/19(月) 10:09:40 ID:8bCvsimt
age てまで反応すべきところなのかと小一時間 (ry
PHP入れてもデフォルトでコンパイルされてないから大変ですね(w
(´・ェ・)
スルー力が試されている!
するーか
_____________ | /| ガチャ | /⌒i / | |-/`-イ────────ー' |  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ _____________ |__/⌒i__________/| | '`-イ::: -・=- , (-・=- | <キーボードの K と L 見てみ? |ヽ ノ (6 ⌒ ) ・ ・)( ^ヽ |  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ _____________ | | パタン | | | |  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
あらあらだめよぅ とでも言って欲しかったのかしら>708は
>>708 俺のキーボードにかなは刻印されてないのにも関わらず、この手のコピペを
見るたびに素直に視線を落として???ってなる。
俺のにはHomeとPgUpって書いてある
ネット上のSQLiteソースサンプルで、 sqlite_open()のDB名に「hoge」と「hoge.sqlite」のように ".sqlite"が付くのと付かない表記を見かけるんですが 付く $con = sqlite_open('hoge.sqlite', 0666, $sqliteerr) 付かない $con = sqlite_open('hoge', 0666, $sqliteerr) この違いってなんでしょう?
ファイル名の違い
UNIX系で拡張子ってあんまり関係無いからね。気分的なもの。 漏れのキーボードは英語だから、2とか3のナムキーしか無いな。
というか、UNIX ではもともと、ピリオドもただ単に ファイル名に使える文字の1つってだけの扱い。 それに対して、MS-DOS ではファイル名自体が 「8文字+3文字」って構造を持ってしまっていて、 その区切り文字にピリオドを使っていた。 なので、確かに UNIX では「拡張子」って概念は存在しない。 .c とか .o とかは、言ってみればハンガリー記法みたいなのが ファイル名の末尾修飾子として定着したようなもんだな。
717 :
NAME IS NULL :2007/02/20(火) 03:48:29 ID:b286Fw1r
SELECT文の実行結果が空の場合に Warningが強制出力されると思いますが、 それを回避するための方法として $res = @sqlite_query( $db, $query, SQLITE_BOTH, $errmsg); if(!$res) echo "たぶん空です" . $errmsg; のようにしたのですが、 これだと全エラーが空と見なされてしまいます。 他に良い方法ないでしょうか?
空の場合にWarningなんか出たっけ?
>>716 Windowsも今やUNIXと同じになってしまったから、8+3も今や単に歴史的なものだね。
そういえば新しいMS Wordの拡張子がdocxと4文字になってて、ちょっと新鮮だった。w
.sqlt.db2とか.sqlt.db3とか付けてたけど最近.sd2,sd3にしてる。
OS のレベルで拡張子の概念が無いのはわかるけど、
>>715 の言うように、ユーザランドで suffix を意識したソフトはいっぱいあるので、
UNIX で拡張子は関係ないって言い切っちゃうのもどうかという気はする。
というのはともかくとして、
>>717 と同様のコードを試してみたけど、空の場合に Warning なんて出ないぞ?
もうちょっと状況を詳しく。
普通.dbだろ・・・。なんだよ.sd3って・・・
俺、.sqlite3。
俺、.exe。
俺、.mdb。
ユーザランドって何? 利用者の島? UNIXじゃないのに、UNIX使ってると思い込んでいるマカじゃないの? UNIXなんてシリアルコンソールで使っておけば十分だ。Xなんて起動しなくて充分。 由緒正しきUNIXには、拡張子なんて無いよ。 .cってMakefileの都合でしょ。 gcc hoge.c -o hoge を汎用化したいってだけ。
>>726 おまえ、ずいぶん前、ここで「マカ」に異常反応していたあのキチガイだろ。w
UNIXの話をするなんて一兆年早いんだよ。
今こそスルー力が試されている
SQLiteの話しようぜ。
sqliteと出会ったのはそう、土砂降りの雨の夜だった。 その日僕は
731 :
644 :2007/02/21(水) 09:45:59 ID:???
SQLiteをスク水と読むスレ 1 :NAME IS NULL:2007/02/21(水) 09:46:00 ID:??? スク水
俺はこうしてる。バージョン上げるとファイルが壊れるからな。 sprintf(filename, "%s.sqlite-%s", basename, sqlite3_libversion());
SQLiteって、「えすきゅーらいと」?
しーけらいと。
すくらいと
スクール水着
SQL痛て
ギャグのおもしろさ Mac屋 >> Windows屋 >>>>>>> Linux屋 >> Unix屋 >> database屋
とりあえず Windows で使うなら PRAGMA page_size=4096 しとけよ
742 :
717 :2007/02/22(木) 03:34:12 ID:???
>>721 う〜ん。
サンプルを作ってみたらWarning出てませんでした。。ごめんなさい。
あのWarningはなんだったのかちょっと怖いんだけど、またでたら報告します。
最近エディタをvimに移行したんでタイプミスだったという可能性も。
>>743 NTFS のクラスタサイズに DB のページサイズを合わせる
ext3のクラスタサイズには合わせなくていいの? 8192とか。 マカってアフォだよな。FATとか使ってそう。
マカってキモぃぉ。
>747 またおまえか。
ここマカしか居ないのか?
OSXには、標準でインスコされてるし、それでかねえ……
つか、マカに過剰反応するキチガイ約1名をみんなでなぶってるだけだろ
カマって気持ち悪いよな。
マカ=キチガイ。
OSなんてどうだっていいじゃん
いっそ皆で超漢字使おうぜ。
マカって超漢字使ってるのかよ(w
超漢字用にSQLiteコンパイルしてください
マカはビスタでアクセスでも使ってろ!
>759 また、おまえか。
>>758 むしろ SQLite 用の超漢字があればいんじゃね?
ビスタでアクセスが最強。 間違ってもマクなんて買ったら負け。
>762 またおまえか。
764 :
NAME IS NULL :2007/03/02(金) 20:36:21 ID:GUfsgTcq
linux にphpとsqliteを入れてます。 PHPスクリプトから作成したDBとTableを Linuxユーザーでコマンドラインから操作するんはどうすればいいでしょう? 現在下記のようにエラーになります。 [Linuxuser@localhost]$ sqlite3 dbname SQLite version 3.3.6 Enter ".help" for instructions sqlite> .databases Error: file is encrypted or is not a database sqlite> .tables Error: file is encrypted or is not a database
・ファイル名がおかしい ・カレントディレクトリがおかしい ・パーミッションがおかしい ・ファイルが壊れている
>>764 とりあえずPHP5なのかPHP4でPECL使ってるのか書かないと初心者だと思われるよ
パス名に2バイト文字が含まれてると読み込めないよ。
>>764 $ file dbname
した結果を見てみるとか。
769 :
764 :2007/03/06(火) 01:24:09 ID:???
>> 765 すべて問題ないです。 >> 766 PECLは使っていません。 [user@localhost sqlite3]$ php -v PHP 5.2.0 (cli) (built: Nov 10 2006 12:12:06) Copyright (c) 1997-2006 The PHP Group Zend Engine v2.2.0, Copyright (c) 1998-2006 Zend Technologies >> 768 [user@localhost sqlite3]$ file test.sqlite test.sqlite: SQLite Database Version って感じできちんと認識されてるようです。 もうだめです。あきらめました。
>>764 sqlite 2.8.17 で作成した DB をsqlite 3.3.6 で
読み込もうとしていないか?
こうしてまたSQLiteが不可解でバージョンアップのたびに データ―ベースを破壊する微妙なライブラリと言う迷信が 広まっていくのであった・・・。
>>252 を使ってODBCを設定したのですがACCESSからテーブルのリンクできません
「オブジェクト'test'が見つかりませんでした。オブジェクトが存在していること、名前やパス名が正しいことを確認してください。」
と出るのですが原因は何なのでしょうか?
c:\hoge.dbに置いて試してもダメでした
>772 Access2003+>252のODBCドライバ同梱のsqlite3でこさえたDB、で問題なくリンクできたが。 もう少し詳しい情報がないとエスパーの降臨を待つよりないな。 とりあえずAccessのバージョンは?
774 :
772 :2007/03/07(水) 00:57:51 ID:???
>>773 Access2000(9.0.3821SR-1)
インポート、エクスポートは出来てます
sqliteは2.x系です
OpenOfficeのBASEでデータの操作できてます
>776 あらま、びっくりくりくりくりっくり。
sqlite3でdb2ファイルを読むと壊れるよ。 下位互換性ってないし。orz
調べてから、読ませなよ。壊れるなんて当たり前じゃん。
華麗にスルー
壊れねえよ!!
事前に調べる方法プリーズ!
アクセスもエクセルも最新の2007で過去のファイル読んでも壊れないよ。 壊れるって警告も出なかったからバックアップする事無く入力したデータ失った。orz
嘘つきキターーー!
>>784 じゃあさあその壊れるってのを再現できる手順を示してくれよ。な。
そうしないとアドバイスできないだろ
華麗にスルー
788 :
NAME IS NULL :2007/03/11(日) 06:24:06 ID:6xg9uabI
Linux で SQLite2.8.14 を PHP から使ってるのですが、次の文を実行しようとすると Segmentation fault が出てしまいます。 UPDATE TCOUNT SET CNT=(SELECT COUNT(*) FROM TBL1 WHERE TBL1.ID=TCOUNT.ID) TCOUNT は ID と CNT を持つテーブルで、TBL1 の ID 毎の行数を格納しようとしてます。 どうやら SELECT の WHERE句に、FROM で指定した以外のテーブルのカラム、つまり TCOUNT.ID を使用することにより Segmentation fault になるようです。 これって、ウチの環境がおかしいですかね? それとも、SQLite ならではの書き方があるのでしょうか? 試しに EXPLAIN してみましたが、それも Segmentation fault になりました。 なので、クエリの実行以前に、クエリ解析の段階で問題が起きているっぽいのですが・・・
SQLiteが古い 2系の最新は2.8.17
790 :
NAME IS NULL :2007/03/11(日) 12:09:50 ID:GdgvVOEv
SQLite2.8.17のDLLってどこで入手できますか? 公式サイトで見つかりませんでした
>>791 sqlite.exeしか入ってないです
>>793 sqlite.dllありました
ありがとうございます
795 :
788 :2007/03/11(日) 14:59:49 ID:???
>>789 なるほど・・・
先日 pear install sqlite でインストールしたばかりだったんですが、そのモジュールは最新版じゃないようです。
モジュールの更新方法は良く分からないので手が出せないでいるのですが、
sqlite-2.8.17.tar.gz は拾ってこれたので、これを make して sqlite コマンドを得ることができました。
コマンドライン版で
>>788 の SQL を実行してみたところ、no such column: TCOUNT.ID と言われてしまいました。
なので SQLite では
>>788 のような SQL の書き方はいけないのだと判断したのですが、このような更新を行う
UPDATE文はどう書くのでしょうか?
>>795 CREATE VIEW TCOUNT AS SELECT ID, COUNT(*) AS CNT FROM TBL1 GROUP BY ID
797 :
788 :2007/03/12(月) 05:13:03 ID:???
>>796 いや、
>>788 からの説明は問題を単純化したもので、実際にやりたいことはそれじゃ対応できないです。
結局 UPDATE文の書き方はわからなかったので、INSERT OR REPLACE 文を使ってお茶を濁しました。
なんかスッキリしませんが。
>>788 みたいな省略構文は2系では通らないみたいだね。
3だと普通に通る。
2系では、
UPDATE TCOUNT SET CNT = (SELECT COUNT(*) FROM TBL1 GROUP BY ID HAVING ID = TCOUNT.ID);
これで通る。
>>796 みたいなビューからSELECTしてSETする方法も可。
UPDATE TCOUNT SET CNT = (SELECT CNT FROM VCOUNT WHERE ID = VCOUNT.ID)
ごめん嘘、通らなかった、開くファイル間違えてたorz ビューからSELECTする方法も、エラーは出ないけど期待と違う動作するよ… 2系はどうするんだろ?
もう2系のことは忘れてあげてください
801 :
788 :2007/03/12(月) 16:15:21 ID:???
>>800 え、2系ってもう終了なんですか?
まだ PHP4 なんですけど・・・orz
というか、2系の顕著な制限についてどっかにまとまってませんかね?
>>799 更新される行に紐付く他テーブルを扱う書き方ができない気がするんですよね・・・
自分は
INSERT OR REPLACE INTO TCOUNT(ID, CNT, その他カラム)
SELECT TCOUNT.ID, COUNT(TBL1.ID), TCOUNT.その他カラム FROM TCOUNT, TBL1
WHERE TBL1.ID=TCOUNT.ID GROUP BY TCOUNT.ID, TCOUNT.その他カラム
みたいにやりました。
TCOUNT.ID が PRIMARY KEY(というか UNIQUE属性)なので出来る方法だと思いますが。
>>801 2系はメンテモードと化していて、新機能の付加はまずない。
2系の制限を知りたい場合は、3系のドキュメントで3系の新機能を見るのが
わかりやすい。
2から3って落とし穴が有るから嵌まらないようにな。 まずはバックアップしてくれ。
2から3には何の落とし穴もないから2なんて捨ててどんどん乗り換えるのがいいね。 どうせバックアップが必要なほど大事なものなんて入れてないし。
アクセスほど使われてないってヲチか。 業務でsqlite使ってる香具師って皆無?
Firefox とか Thunderbird とか Mac とか業務で使ってる奴は全員使ってるだろ
そうだな POPFileでも使ってるな
マクを業務で使ってるって印刷工ぐらいだろ。
でいとれ用のツールの内部ストレージとして使おうとしてたがどうしよう
つこうてるよ
Visual Studio 2005(使用言語はC#)を使って全文検索データベースソフトを作ろうとしている。 手始めに、コンソールアプリケーションのプロジェクトを作成し、ADO.NET Data Provider for SQLite(SQLite.NET.dll)、 sqlitedll-3_3_13(sqlite3.dll, sqlite3.def)、fts2dll-3_3_13(fts2.dll, fts2.def)の5つのファイルをDebugフォルダに入れた。 「参照の追加」でSQLite.NET.dllを追加した。 using System; using System.Collections.Generic; using System.Text; using Finisar.SQLite; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { SQLiteConnection sqlite_conn; SQLiteCommand sqlite_cmd; SQLiteDataReader sqlite_datareader; sqlite_conn = new SQLiteConnection(); sqlite_conn.ConnectionString = "Data Source=c:\\test.db;Version=3;New=True;UTF8Encoding=True;"; sqlite_conn.Open(); sqlite_cmd = sqlite_conn.CreateCommand(); //ここに挿入 sqlite_cmd.CommandText = "CREATE TABLE test (id INTEGER PRIMARY KEY, text VARCHAR(100));"; sqlite_cmd.ExecuteNonQuery(); sqlite_cmd.CommandText = "INSERT INTO test (text) VALUES('This is a pen.');"; sqlite_cmd.ExecuteNonQuery(); sqlite_cmd.CommandText = "INSERT INTO test (text) VALUES('I am a student.');"; sqlite_cmd.ExecuteNonQuery(); sqlite_cmd.CommandText = "SELECT * FROM test;"; sqlite_datareader = sqlite_cmd.ExecuteReader(); while (sqlite_datareader.Read()) { Console.WriteLine(string.Format("{0}, {1}", sqlite_datareader["id"], sqlite_datareader["text"])); } sqlite_conn.Close(); while (true) { } } } } というテストがうまくいったので、//ここに挿入 ってところに sqlite_cmd.CommandText = "SELECT load_extension('fts2.dll');"; sqlite_cmd.ExecuteNonQuery(); //ここのステップ sqlite_cmd.CommandText = "CREATE VIRTUAL TABLE vtbl USING fts2 (id, text VARCHAR(100));"; sqlite_cmd.ExecuteNonQuery(); //ここのステップ2 を挿入してみた。すると、//ここのステップ まで進んだときに、"not authorized"というエラーが出てきて、先に進めない。 この行と上の行をコメントアウトすると当然、//ここのステップ2 まで進んだときに、"no such module: fts2"というエラーが出る。 どうしたらfts2モジュールを読み込めるか教えれ。
ドトネトのラッパーのことは良く知らんが C APIで言う sqlite3_enable_load_extension()を呼んでおかなければならないのでは?
814 :
NAME IS NULL :2007/03/20(火) 19:19:00 ID:zTNCfQkm
インサートした行の主キーってどうやれば取得できますか。 CAPIにそんな関数はあるんでしょうか。
あった。。。。 long long int sqlite3_last_insert_rowid(sqlite3*);
816 :
NAME IS NULL :2007/03/21(水) 03:34:36 ID:rOkkBTf+
全角のテーブルとかファイルとかは無理なんでしょか?
できないと思った理由は何だ
818 :
NAME IS NULL :2007/03/24(土) 19:37:07 ID:FENpG053
23日午後11時55分ごろ、小田急小田原線の下り急行電車で、 東京都町田市の文科省初等中等教育局係長、大塚智尚容疑者(36)が 女性会社員(20)の下半身を触ったとして神奈川県警麻生署員に 迷惑防止条例違反(痴漢)容疑で現行犯逮捕された。当時酒に酔っており 「何もやっていない」と容疑を否認しているという。
スレ違うよ。全然関係ないよ。
test
アクセス使えば良いのに。
それだけは勘弁してくれ
アクセスはあくせく働く人のデーターベース
うわーおもしろい
マイクロソフト国の奴隷ども。苦しゅう無い。ただならアクセスを使ってやっても良いぞ。
>821 64ビット環境でmdbをAccess以外の外部プログラムから読み書きする方法を教えてください。
827 :
NAME IS NULL :2007/03/27(火) 00:25:47 ID:D35J0C06
コマンドラインで操作する sqlite-2.8.17 を FreeBSD 4.10 上で実行 したのですが、走りませんでした。 これは sqlite-2.8.17.bin がLinuxの実行ファイルだからでしょうか? Linuxシステムでは問題なく動いたのですが……。 FreeBSD上で動かすにはどうしたらよいのでしょうか。
>827 おまいさんのシステムにはmakeもccも入ってないのかね? # 最近のFreeBSDはLinuxのバイナリも動かせると聞いたがそっちのが確実だよな # ……ってかportsあるじゃん。
いくらなんでも釣りだろ。バカすぎる。
いちいちmake installなんてしないだろ。 pkg_add一発だよ。 このスレってアクセス買う金のない貧乏人の巣窟だな。 オラクル買うことは一生なさそう(w
>>830 ずいぶん金銭にコンプレックスがあるようですね
金で苦労してるんだろ そっとしといてやれや
この釣り場は「アクセス」このエサ使うと爆釣ですねw
GROUP BY のパフォーマンスに関して CREATE TABLE addressbook(address TEXT COLLATE NOCASE,job TEXT); CREATE INDEX idx_addr_job ON addressbook(address,job); こういうテーブルがある時、次のクエリーではインデックス idx_addr_job が適切に使われる。 EXPLAIN QUERY PLAN SELECT job, COUNT(address) FROM test WHERE address='東京都' GROUP BY job; 0|0|TABLE addressbook WITH INDEX idx_addr_job ORDER BY しかし、次のクエリーでは GROUP BY job にインデックスが使われないので EXPLAIN QUERY PLAN SELECT job, COUNT(address) FROM test WHERE address like '東京都%' GROUP BY job; 0|0|TABLE addressbook WITH INDEX idx_addr_job 次のような書き換えを考えてみた。 CREATE INDEX idx_addr ON addressbook(address); CREATE INDEX idx_job ON addressbook(job); 案1:ROWID を使ったサブクエリー EXPLAIN QUERY PLAN SELECT job, COUNT(address) FROM test WHERE ROWID in ( SELECT ROWID from addressbook WHERE address like '東京都%') GROUP BY job; 0|0|TABLE addressbook USING PRIMARY KEY 0|0|TABLE addressbook WITH INDEX idx_addr 案2:EXISTS を使ったサブクエリー EXPLAIN QUERY PLAN SELECT job, COUNT(address) FROM test WHERE EXISTS ( SELECT * from addressbook WHERE address like '東京都%') GROUP BY job; 0|0|TABLE addressbook WITH INDEX idx_job ORDER BY 0|0|TABLE addressbook WITH INDEX idx_addr どっちの方が速いだろうか。
ダミーデータでも作って実際に計測してみればいいじゃん
アクセスなら悩まなくても最速だ。
最速でデータ破壊www
C#のSystem.Data.SQLiteの事はこのスレでいいんですかね。
Visual C# 2005 Express Edition で ADO.NET 2.0 Provider for SQLite と、 SQL Server 2005 Compact Edition とでは、Desktopアプリではどっちが使い勝手が良いですかねー? 元データはWebからCSVダウンロードして取り込む予定です。
>839 流石にVC#と組ませるならSQL Serverの方に軍配が上がるだろうなぁ。
841 :
NAME IS NULL :2007/03/31(土) 12:18:12 ID:wYZslmRj
VC#との組み合わせっていうか、 ADO.NET経由でSQL Server系のDBより使い勝手のいいDBって無いだろ。 既存RDBMSがあるとか、ライセンスフィーが出せないとか、技術者があつまらないとか、 そういうことでSQL Server系を選ばないことはあったとしても、 「どっちがいい?」って聞かれたら普通はSQL Server系を選んでおくのが無難だ。 ADO.NETとかADOとかでつまずいたとき腹たつぜ?
843 :
NAME IS NULL :2007/03/31(土) 15:18:41 ID:kitDOn2Q
>>842 両方使って比較してみてそう思ったのですか?
>>842 まるで世の中の全てのDBMSを試したかのような台詞ですねw
俺は両方使ったことあるが(VC#じゃないけど)一長一短だと思うな
参考にならないスレだなあ。もういいです。
SQLite は C API 経由で使わない限り、他の DB に比べてメリットは薄いと思う。
一般論として、問題が起きたときに自己解決できない人はサポートのある製品を選択 したほうが良いかもしれないね。
>>848 だから、
C API経由で使うとメリットある。
それ以外だと、他のDBと対等ということ。
>>849 サポートあっても高いじゃん。
あれじゃ、ごく普通の一般家庭の人が
聞くレベルじゃないと思う。
Cにこだわる理由が不明。
軽さこそ正義
○○こそ正義。 はいはい。自分の好きな単語入れてね。あーくだらね。
855 :
NAME IS NULL :2007/04/01(日) 00:05:58 ID:ids7C6Ys
女は見た目こそ正義
なんでも正義
>>851 そうです。ごく普通の一般家庭の人は SQLite です。
高中正義
>>850 Perl + DBD::SQLite でめちゃくちゃ便利に使ってる俺は特殊ということか?
俺様こそ正義
ごめん途中で送信しちゃった
>>859 それはPerlがSQLiteをC API経由で使ってるんだから、
>>850 の言うところのメリットのある使い方だと思う
>>862 「C API経由」でない使い方のほうを教えてくれ
他のどんな方法も、結局は C API を経由するんだから C API を直接使うのが一番ってこと。 C++ でのラッパーくらいならいいけど、Perl だの python だので使うなら SQLite にこだわる必要ゼロだからね。
そうでもないよ
ロッキングマンドクサ、でもGDBMは嫌、という向きにはSQLite以外に何がある?
>>864 もうちょっと詳しくお願いします。
例えて言うなら、「どうせバイナリになるんだから、Cなんか使わずに
最初からバイナリで打ち込んだほうが良い」みたいな感じですか?
どうも今ひとつメリットと呼んでいるものの実体が理解できないのです。
>>867 例えばネットワーク越しに会話するサーバタイプのDBMSなら
ネットワーク機能のある言語ならその言語自身でドライバが書ける。
Javaのtype4ドライバやADO.NETのようにね。
(ま、どっちみち低位のランタイムレイヤはC/C++で実装されていたり
するわけだが)
一方SQLiteはあくまでCの組み込み用ライブラリであって、多言語からの
利用は全てそのラッパの形にならざるを得ない
ってとこじゃないのかな。
だからと言って他言語からの利用が無意味だとは全く言えないはず。
Perl他の動的言語でDBMが十分有用である(これもCライブラリのラッパだ)
ことを見ても分かる。
SQLiteのテストは全てTclで書かれていますが、それも否定するんですかあ?
SQLiteはもともとはTclの拡張だった。それが他からも使えるように 分離したのがCのAPI。組み込みというのは、アプリケーションに内蔵 するという意味だけで、別にCだけが組み込みっていうわけじゃないよ。
C API は、PerlとかPythonから呼び出せるのだから、 何を使おうが、C APIを使っていることになる。
PHP(PDO)をyum@CentOSでバージョンアップしたら SQLite3のDBファイルが読み出せなくなってしまった・・・ orz 旧バージョンでdumpして再構築したら読めるようになったけどさ・・・ マイナーバージョンアップで互換性が無くなるって、一体、どうよ? ファイルコピーするだけでバックアップ取れるのが楽ちんだったけど、 もうMySQLに逝きます。MyISAMなら、MySQLでもファイルコピーで済むし。
>>872 それは PHP の問題であって SQLite3 の問題ではない。
>>873 PHPのどのような問題なんですか?
もうちょっと詳しくお願いします。
>MyISAMなら、MySQLでもファイルコピーで済むし。 ちょっ、おま、うぇうぇうぇ
>>864 ワケワカンネ
Perl でやるなら DBD::SQLite を使うんじゃなくて
Perl コード中に直接 C ソースを書けってか?
>>871 だったら、C API を使っていない使い方って何?
DBD::SQLiteがC APIを使っているだろ。
しかしおまえらよく釣られるな。
どう考えても
>>864 なんか屁理屈だろ。こんなアフォにいちいちかまうなよおまいら。
C APIを直接呼ぶのは可能だが、 はっきりいって、使い勝手が悪いので やめたほうが良い。 SQL文字列を渡すときなんか、ポインタと、 文字列のサイズを渡さなきゃならないんだぜ。 メモリも自分で確保、開放しなきゃならんし、 サイズ設定ミスると、メモリ用破壊されるし。 効率が悪すぎる。
でもそれCではふつうのことだよね LLに慣れちゃうとえらい面倒だけど LLのwrapperを書いた人はえらいなぁ
>>881 > SQL文字列を渡すときなんか、ポインタと、
> 文字列のサイズを渡さなきゃならないんだぜ。
std::string使って
str.c_str(), str.size()
を渡すだけ。
ま、マンドイのは事実だがな。
何でマジレスしてんの?バカ?
>>878 だから、C API を使ってない使い方って何?
たとえばPerl、DBD介しちゃったら、SQLiteにこだわる必要ないじゃん MySQLのほうが速いし、Postgresqlのほうが高機能だよ
>>886 クライアントサイドアプリケーションの場合配布コストだのなんだのまで考える必要があるんだが。
馬鹿なら黙って死んどけ。
エイプリルフールは終わりましたよー。
>>883 > std::string使って
> str.c_str(), str.size()
> を渡すだけ。
Cじゃないだろw
>>886 > たとえばPerl、DBD介しちゃったら、SQLiteにこだわる必要ないじゃん
> MySQLのほうが速いし、Postgresqlのほうが高機能だよ
意味わからんw
その理屈なら、C言語でもSQLiteにこだわる必要ないということになるじゃん。
自分が何を言っているのか良く考えてから発言しろw
>>886 >MySQLのほうが速いし・・・
SQLiteのほうが速いだろう
>>890 別にC APIはC++から直接呼べるし
Cでコーディングする必要は無い。
>>886 マジレスすると、いちいちサーバを立てなくて良いとか
プラットホーム問わずファイル1個コピーするだけで DB 移設できるとか
そういうメリットは…?
プラットホームを変えるってそんなによくあることなのかな?
プラットフォーム間で互換性があるというメリットと、 バージョン間で互換性がないというデメリット、どちらをとるべきだろうか。
プラットホームを変えることは滅多にないだろうけど、 ファイル1個コピーするだけで移設できるメリットは大きいな
SQLiteはプラットフォーム間で互換性があるのだが?
自分の頭が悪いのが全ての原因だとまだ判らないらしい
>>898 誰もその事実を否定などしていないと思うが、
君はいったい誰に対して疑問を投げかけてるのだ?
クロスプラットフォームのアプリケーションを作るときだってあるんだよ。 SQLiteの狙ってるポジションはベターBerkeleyDBじゃないの。
Mozilla のプロダクツが SQLite を選んだのもまさにそのへんが大きいんだろうね。
perlやPHPで使う場合ってほとんど、Webアプリケーションだよね それこそ、プラットフォーム云々なんて関係ないじゃん
>>904 Windowsで開発して、Linuxで運用するという場合もあるよ。
きちがいが一人混じってますね
>>907 気にするな、きちがいはどこにでもいる。
そんなわけで、今、おまいらに試されているのはスルー力だ。
マカこそ正義、ウィンドウズは悪ってのと変わらないな。頭悪い。 2から3でsqlite dbファイルが壊れると言い続けるアクセス廚の方がマシだ(w
>>910 を読んで、マカ死ねの人と2→3でファイル壊す人が同一人物だということが判りました
>>902 レモンで何が作れるか考えたらこうなったってだけで、
最初からDBが作りたかったわけじゃないでしょ。
SQLのパースって練習問題によくあるもんね。
最初から作りたいと思っていたかどうかなんて、ちゃんとしたものかどうかには関係ないと思うよ
914 :
NAME IS NULL :2007/04/02(月) 18:24:01 ID:PxO7et1m
WEBサーバ上に設置したSQLiteってサーバ外からは接続できるのですか?
916 :
NAME IS NULL :2007/04/02(月) 19:47:02 ID:PxO7et1m
>915 うーん、わかりません。 phpにてsqlite_openではどうもサーバの内部にしかアクセスできないようですが。 具体的な方法をご存知でしたらお願いします。
おーい、こいつの日本語が理解できるエスパー呼んできて!!!
>>917 すいません。ここにはエスパーがいると聞いてやってきたのですが無理でしたか。
SQLiteのリスナープロセスキボンてか?それこそ、他のRDBMSに対するアドバンテージなんて皆無だろ
マカって本当に馬鹿だな。
出来ないっていうと負けた気がするから言わないだけ
自分はSCSIでマウントしてるよ
>>914 > WEBサーバ上に設置したSQLiteってサーバ外からは接続できるのですか?
君は基本的なことを勘違いしているようだね。
勉強して出直し。
>>924 君は基本的なことを勘違いしているようだね。
勉強して出直し。
なんという殺伐とした空気。 これぞSQLiteスレ。
馬鹿が大勢集まっている状態を「殺伐」と表現するのは正しくないと思う
>>925 nfs や samba でマウントとかそういうことを言いたいのか?
ネットワークマウントされてる場合ってロッキングがヤバくね?
超やばいよ
マカはファイルロックとか考えずに使っているだろうな。
マカ(笑
マカ不思議
黙ってアクセス使えば関係ない。
でも、アクセス権がありません。
>>929 やばいかどうかは実装によるのでは
SQLite がどうなのかは知らんが…
SQLiteの実装のことは、あまり考えたくないな…。 何事もありませんように。
技術音痴なマカだな。
>>929 やばいかどうかは (その OS の) NFS の実装によるのでは
SunOS の NFSv3 以外がどうなのかは知らんが…
昔の人乙w
んじゃ、NFSv4で安心ってことか。
NFSv4でも不安。 NFSv3ではかなり不安。 それ以前のNFSや他のファイル共有では不安なんてレベルじゃねぇ
なんつーかさ、SQL エンジンとネットワークサービスの区別も できないような根本的な厨がいるけど、意外とそういうのが IT ゼネコンのえすいーwだったりするんだよなwwwww
と、根本的な厨が申しております。
と、三下えすいーwが申しております。
担当者がマカだったりして基地外な要求とかよくある話。
○○省に居たよ、そういうヤツ
福建省?
今省庁常駐のPLを総研が募集してるなあ。実務よりスペック重視だから、トンデモばかりだろう。
どれだよw
http://ja.wikipedia.org/wiki/PL PL
出典: フリー百科事典『ウィキペディア(Wikipedia)』
* ポーランド共和国の国名コードおよびccTLD
* ポーランド語のISO 639-1言語コード
* 製造物責任 (Product Liability) ⇒製造物責任法(PL法)を参照
* パシフィック・リーグ (Pacific League)
* パイロットランプ (Pilot Lamp)
* 損益計算書 (P/L,Profit and Loss Statement)
* PLフィルターは偏光フィルターのこと(Polarize から)
* パーフェクト リバティー教団(PL教団)
o 同教団系の学校法人PL学園
o 同教団の宗教行事である教祖祭PL花火芸術(PL花火大会)の略称の一つ。
* Perlスクリプトファイルによく使われる拡張子(〜.pl)。
* アイピースの種類でプルーセル形式。
* 日本の駅ナンバリング制度で、神戸新交通ポートアイランド線の南公園駅〜北埠頭駅間の環状運転部を表す。
* ピンク・レディー
* 海上保安庁で大型巡視船(Patrol vessel Large)のこと。ヘリコプターを積んでいる巡視船はPLHとなる。
* 包装明細書(Packing List)
* PL顆粒、サリチルアミドやアセトアミノフェンを主成分とする総合感冒剤。
* 体積の単位ピコリットル(pl)
ピンクレディーに決まってんだろ。
プロジェクトマネージャだしな。 リーダは役職無しと同等。
今省庁常駐のピンクレディーなら募集してほしいな。スペック重視で。w
むしろ見た目だろ。 アクセスのパッケージも格好いいし。
じゃあ SQLite のかこいいパッケージを作ろう! ってことで誰かたのむ…
sqliteはヨドバシでは売れないから意味がない。 ダウンロード販売で、マカにでも売れば?
ま た お ま え か
販売できるかどうかなんてどうでもいい。 かっこういいパッケージがあることが重要なんだ!
やっぱりアクセスは最強のデータベースだ。
アクセスは、普通に使っていても壊れるけどなw
つーか 2GB しかデータ蓄積できない DB なんて使い物にならん
まさかいまどきそんなDBがあるわけないじゃん
2から3にバージョンアップした時にファイルが読めなくなったデータベースソフトは使いものに成らない。 sqliteでも32ビットOS下では4GBの壁が有るの知らないの? もちろん32ビットOSと64ビットOSでファイルの互換性はありません(w
SQLite の DB ファイルってプラットホームに依存しないんじゃなかったっけ…?
967 :
964 :2007/04/08(日) 09:58:13 ID:???
> A database is limited in size to 2 tibibytes (241 bytes). ほら!二ギガバイトじゃん!
>>963 知らないけど、糞データベースで有名なAccessなら
それくらいの制限あっても不思議じゃないな。
知らないけど。
>>967 2^41 = 2,199,023,255,552
小学生からやり直したほうが良いよ。
2と3でファイル互換がなかった件はスルー?
>>971 お前が馬鹿なのは理解してあげたから、早くこの世から消えること。
アクセス2003なら95のファイルでも読める。
でも、Access2003で書き込んだデータベースは95では読めない。 なぜならAccess2003形式に変更されているから。 結局上位バージョンの形式に変更しているだけであり、 SQLite2形式からSQLite3形式に変更すれば読めると言っているのと同じこと。 当然、SQLite2形式からSQLite3形式に変更することは簡単に出来る。
975 :
NAME IS NULL :2007/04/08(日) 16:42:43 ID:n/+6R/5U
用途に応じた道具を使うということを知らない人たちのスレはここですか
このスレって延々こんな話ばっかなのなw
>>964 まぁいくら釣りでも、64ビット環境の話に関しては
ソースを求めずにはいられないな。
ということで、さっさとソースを示してもらおうか。
>>973 ここの人は古いアクセスのファイルなんて持ってないので、
そういう話は 無 意 味 だよ。
SQLite2形式のファイルは、SQLite3では読めない事実。 しかもファイル壊れるし。最低だな。
とりあえず x64のIISで動かすASPからmdbを叩く術がない と知って青ざめた経験がある椰子は少ないのかな。 己にそんな力がないと思い出すまでは本気でmdbをSQLiteなり、「64ビット環境でも叩ける可能性のある」 DBにリプレースしちゃろかと思ったもんだ。 まぁいずれサーバがx64全盛になれば、Accessなんて消え失せることになるってことだ。
>>980 サーバでmdbを使う奴なんていないので誰も青ざめていないと思う
釣 ら れ 過 ぎ
おまえら、同じ話ばかりして飽きないのか?
アクセス言い出す人以外は違う人だから問題ない。 アクセス言い出す人は、本当に飽きないのかと思ってしまうが。
>>525 > ・タイプレス
> 日付等フォーマットを気をつけないとソートが文字列順になる。コーディング量増加。
格納する時刻を文字列ではなく julianday() でユリウス積算日(double)にすればOK。
取り出す時は strfdate() で取り出すか、double のまま取り出す。
> ・更新時ロック
> UPDATE中はロックされてしまい他からのアクセスを受け付けない。
sqlite3_enable_shared_cache() と PRAGMA read_uncommitted=1 でググれ
> ・外部キーなし
> CASCADEでデータを削除したい場合にはコーディングに頼ることに。
トリガーでできるわアホ
> ・遅すぎる書き込み速度
> 頻繁にレコード追加・更新する使い方で高レスポンスは期待できない。ODBCはもっての他。
明示的にトランザクションを使え
ということで全て無問題。
このすれねんがらねんじゅうこんなかんじだな
知らぬ間に3.3.15までバージョン上がってるな
>>989
ああ変な文字が入ってたすまん
次は?
俺はアンチじゃなくて一愛用者だけど、
>>988 に書かれてる内容って、
「こういう方法で回避できる」っていう次善の策であって、
「全て無問題」というのは言い過ぎかなと思た。
>>993 どちらかというと元記事書いた奴が単に無知(というか典型的な三流プログラマ)に見えるが。
>>988 に書かれてる方法なんてマトモなプログラマなら普通にやってることじゃん。
馬鹿に使えないのは問題があるというのであれば、確かに無問題とは言えないけどね。w
アクセスだって馬鹿には使えないしなぁ…
馬鹿はスレタイすら読めないからな。
おつ なかなか立たないからチキンレースでもしてるのじゃないかと思ったよ
ume
3.3.15でもsqlite2のdbファイルが読めないのは相変わらずだ。
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。