投稿練習(73, 0)
 メ-ル希望(3, 0)
 障害情報(18, 0)
 雑談(871, 0)
 業務報告(284, 0)
 VineseedにZope(623, 0)
 Zope27使おう(6, 0)
 ImgBBS(14, 0)
 会員専用(0, 0)
 ぼやき場所(27, 0)
 メモ(32, 0)
 eclipse(6, 0)
  

業務報告

業務報告部屋を作ってみました。

投稿画面の表示を 

検索文字 

お名前  EMail 
 左に表示されている数値を入力してください 


134 kiyo 2003年 7月13日 17時 6分 Id=kiyo

python-2.2.3 に移行しました。
何か不具合が見つかったら報告して下さい。
但し、VineSeed にはしていません。
 
Seed と言えば owaさんが Seed 向けパーケージを作ってあります。
http://owa.as.wakwak.ne.jp/zope/bbs/showEntryList?MID=101
こちらへもミラーさせて頂いてます。



133 nakaj 2003年 7月 9日 14時54分 Id=nakaj

>>132 あ、書き方がまずまずでした
 
#これは、test.gdb 内の imgid にセットされてます。
#imgid integer NOT NULL PRIMARY KEY,としてます。
 
えっとプライマリキーにセットする値を今はselect Max(ID) from
xxxみたいにして取り出していると思うのですがジェネレータと
トリガーをつかうとジェネレータでユニークな番号を作成して
トリガーで自動的にデータ挿入されたときプライマリキーに値を
セットできるようFireBirdだと組めます。というようなことを
書きたかったのです。
MS SQL ServerのIdentity機能みたいなものの実装ができる、と
言う意味です。(MS SQL Server知らなければなんのこっちゃですけど)
#説明下手だー



132 kiyo 2003年 7月 9日 13時48分 Id=kiyo

>>130 ソース見てないです。
少し覗いた。
どうも、segment_size に DA の方が対応していないみたいです。
で、多分 64Kbyte 以上は無理かも知れない。
ちなみに test.gdb は segment_size 200 をセットしています。
 
pre4が、 def excute(self, sql, params=()) となっていて、params=()が、ミソみたい。
DA は、excute(src) と呼出しているので、params は()のままで何もしないみたいです。
() となっているので、function をかくのだろうが、はて?
kinterbasdb-3.1_pre4 内で、サンプル探したが、なさそう。
kinterbasdbDA がアップデートされたら、対応しそうな感じ?
と言う事は当面はサンプルコードが必要ですね(ちょっと嬉しい)
 
>>131 
うーん、Firebird 勉強しなきゃいかんなあ。
foreign key って外部キーだよね。ふーん、これつかうのかあー。
変な方向へ走らないですみました、有難う。
 
>プライマリキーの作り方は
これは、test.gdb 内の imgid にセットされてます。
imgid integer NOT NULL PRIMARY KEY,としてます。



131 nakaj 2003年 7月 9日 13時15分 Id=nakaj

>>130 ですね。
DBMSに依存しない物をつくるのだったらこのままが良いですね。
#ちなみにFireBirdでのプライマリキーの作り方は
#件のデータベースLinux本に載ってます。^^;手抜き
 
>>トリガー、ジェネレータで親Table の key で関連した子Tableを一緒に削除できるのは
 
IB5以降では
"foreign key (field1) references table2(field2)
on delete cascade"
みたいな文を使うことでトリガーなどでプログラムする必要がなくなりました。
これもIB,FireBird特有の機能になってまいますが、、、。




130 kiyo 2003年 7月 9日 11時33分 Id=kiyo

>>129 #知ってたらごめんなさい。
いや、知りませんでした。
単に、以前のソースを使いまわしただけです。
それと、別の DB を使った物を移植する場合は
トリガー使ってしまうと、移植が面倒かな?
 
# Firebird らしい物も作ってみたいとは思いますが、
# ストアドプロシージャ等も盛り込んで。python での呼び出し方など勉強しなきゃ。
# トリガー、ジェネレータで親Table の key で関連した子Tableを一緒に削除できるのは便利ですね。
 
>> 80Kくらいの Error
え、そうなんですか?たかが、80Kで
ソース見てないです。



129 nakaj 2003年 7月 9日 11時 5分 Id=nakaj

>>126 ふーむ確かに。動作確認しました。
でもコードが読めなくてまだよくわかってないです。
 
Pythonコードがよくわからないので
本質と関係ないとこに反応しちゃいますがFireBirdの場合、
トリガーとジェネレータでselect max(id) from xxxとかしなく
てもプライマリキーを作成可能です。
ジェネレータで作った番号はロールバックできないのが難ですが
#知ってたらごめんなさい。
 
#ところでファイルサイズの制限かかってます?80Kくらいの
ファイルを送信すると
Error Type: ProgrammingError
Error Value: (0, 'Length of SQL statement must be <= USHRT_MAX')
などでます。
 
コード読めよ>Python読めない自分、勉強勉強、、、



128 kiyo 2003年 7月 8日 12時22分 Id=kiyo

上部 download も見難くなって来たので、
Firebird 関係は、Firebird フォルダへ移動します。



127 kiyo 2003年 7月 8日 11時55分 Id=kiyo

ibchatbbsVer-03.zexp を使ってみた。
http://fzug.com/ws/fzug_prog/ibchatbbsVer-03/
 
# 思った程速くないような???
 
データは、ここのデータを手抜き SQL で移動した。
上部 download/PgToIbchatbbsmovedb.zexp
----
↑をインポートして、interbase、postgres 用のconnection_string を自分の環境へ合わせる
maintbmove, subtbmove を開いて test タブで実行すると chatbbs.gdb へデータを移動できる。
少し手直ししたら、MySQL からも移動できると思います。
 
# PgToIbchatbbsmovedb.zexp を使うには、以下も必要
# kinterbasdb-3.1_pre4
# chatbbs.gdb



126 kiyo 2003年 7月 7日 23時38分 Id=kiyo

お恥ずかしい限りです。
この何日かは、なんだったのでしょう。
 
Firebird のBLOBは、kinterbasdb-3.1_pre4 で完全サポートされたみたいです。
TEXT型がサポートされていたので、もしやと思ってやってみたら見事に成功しました。
嬉しいやら、悲しいやら、、、
で、download/IB_BLOBに一応サンプルいれました。
 
IbFileLib2.zexp  --- 適当な場所でインポートして下さい。
test.gdb ---- そのまま使う場合は、/tmp へ入れて下さい。
 
あと、ファイルタイプを判断する為 from OFS.content_types import guess_content_type を
使ってます。
 
zope の Products へ GlobalModules(任意)フォルダを作成します。
 
そのフォルダ内に __init__.py を作成します。
 
__init__.py に以下のように書いて下さい。
 
from Products.PythonScripts.Utility import allow_module
 
allow_module('OFS.content_types.guess_content_type')
 
Zope を再起動
 
これで、from OFS.content_types import guess_content_type が使えます。
 
# しかし、ExternalMethod を作成しないで BLOB が使える
# MySQLも使えるが、サイズが 64Kbyte まで。
# BLOB を使いたかったら Firebird が簡単



125 nakaj 2003年 7月 7日 15時33分 Id=nakaj

何の修正もいらず無事Winで使用できました。
中神さんに修正報告をzopememoでお願いします。
わたしにメールリプライになっているのでこの一週間気になって、、。
(冗談)