|
|
業務報告
業務報告部屋を作ってみました。
>>130 ですね。 DBMSに依存しない物をつくるのだったらこのままが良いですね。 #ちなみにFireBirdでのプライマリキーの作り方は #件のデータベースLinux本に載ってます。^^;手抜き >>トリガー、ジェネレータで親Table の key で関連した子Tableを一緒に削除できるのは IB5以降では "foreign key (field1) references table2(field2) on delete cascade" みたいな文を使うことでトリガーなどでプログラムする必要がなくなりました。 これもIB,FireBird特有の機能になってまいますが、、、。
>>129 #知ってたらごめんなさい。 いや、知りませんでした。 単に、以前のソースを使いまわしただけです。 それと、別の DB を使った物を移植する場合は トリガー使ってしまうと、移植が面倒かな? # Firebird らしい物も作ってみたいとは思いますが、 # ストアドプロシージャ等も盛り込んで。python での呼び出し方など勉強しなきゃ。 # トリガー、ジェネレータで親Table の key で関連した子Tableを一緒に削除できるのは便利ですね。 >> 80Kくらいの Error え、そうなんですか?たかが、80Kで ソース見てないです。
>>126 ふーむ確かに。動作確認しました。 でもコードが読めなくてまだよくわかってないです。 Pythonコードがよくわからないので 本質と関係ないとこに反応しちゃいますがFireBirdの場合、 トリガーとジェネレータでselect max(id) from xxxとかしなく てもプライマリキーを作成可能です。 ジェネレータで作った番号はロールバックできないのが難ですが #知ってたらごめんなさい。 #ところでファイルサイズの制限かかってます?80Kくらいの ファイルを送信すると Error Type: ProgrammingError Error Value: (0, 'Length of SQL statement must be <= USHRT_MAX') などでます。 コード読めよ>Python読めない自分、勉強勉強、、、
上部 download も見難くなって来たので、 Firebird 関係は、Firebird フォルダへ移動します。
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
お恥ずかしい限りです。 この何日かは、なんだったのでしょう。 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 が簡単
何の修正もいらず無事Winで使用できました。 中神さんに修正報告をzopememoでお願いします。 わたしにメールリプライになっているのでこの一週間気になって、、。 (冗談)
Firebird の BLOB サンプルの件で、中神さんにアドバイス頂いたので書き直してみました。 WIN でもいけると思う? <中神さん> こういう場合は、mktemp を使った方が良いでしょう。 http://www.gembook.jp/html/doc_jp/lib/module-tempfile.html </中神さん> PS > mktemp はセキュリティに問題があるらしく、python2.2 でお使いの方は mkdtemp 等に変更する事をお勧めします。 mkdtemp は python2.3 と書いてあるなあ python2.2 でサポートされているのかな? Vine Seed(python2.2) で試してみたけど、ダメでした。不安な方もいらっしゃるかと思い、古い IbFileLib.py.OLD を入れました。 元ファイルと download 場所・名前は一緒です。 #115 を参照して下さい。 テスト場所 http://fzug.com/ws/fzug_prog/IbFileLib/ 乱用されるといけないので、不定期にテスト場所は、削除しますのでよろしくお願いします。
>>120 Firebird-jpはご存知のようについ数ヶ月前に立ち上がったばかりですから今が 入り時ではないでしょうか。今のところZopeネタは見ていないので投稿する価値 ありですね。 ちょっと時間ができて文がまとまりそうだったら近々挨拶兼で投稿してみます。 >>121 BLOB SUB_TYPE TEXT,これ、私どういう機能かわからないのですが、 簡単にお教え願えませんでしょうか?
|
|