ソラマメブログ

2007年11月13日

時には負けながら進む。

phpでmysqlにデータをインポートする所で、"LOAD DATA LOCAL INFILE ~"を使ったら、
「1148: The used command is not allowed with this MySQL 」と出てがっかりする。
CのAPIなら接続するときにオプション指定すれば(configureで禁止してなければ)行けるようだが、
phpではどう設定すればいいやら。フラグに128を設定してみたがNGだった。
それならと、LOCALを削除して"LOAD DATA INFILE ~"とやってみたが、
「Access denied for user ~」と返される。接続はしてるのだが、クエリを投げるとこれだ。
さっきDBにつないだのにDBにアクセスできないとは何事だ。インポート用のCSVファイルに
アクセスできないというなら話は分かるのだが。
結局敗北してINSERT文で書くことに。
自分でconfig変えられないわ、自分の利用できないユーザで動く奴がいるわで、
セキュリティ厳し目の環境というのはある意味では安心だが不便なもんだ。
自分で鯖立てろという話もあるが、何かあったときに(ある程度なら)責任を
知らない他人がとってくれるというのはありがたい。


で、FePyでurllibが使えなくて5分考えても分からないのでWEBで検索。
---
>>> import urllib
>>> print urllib.urlopen('http://テスト用アドレス?').read()

Traceback (most recent call last):
File System, line unknown, in Read
File System, line unknown, in Receive
File System, line unknown, in Receive
File , line 0, in ##77
File , line 0, in Read##160
File System, line unknown, in Read
IOError: 転送接続からデータを読み取れません: 破棄されたオブジェクトにアクセスで
きません。
オブジェクト名 'System.Net.Sockets.Socket' です。。
>>>
---

http://d.hatena.ne.jp/xanthus/20070420
にサンプルがあった。
>FePyは標準でIronPythonのソケットを使用するので、それをFePy独自実装のソケットに
>設定するfepy.override_builtin('socket')を呼び出す
とのこと。コピー&ペーストして動いた。
---
>>> import fepy
>>> fepy.override_builtin('socket')
---
Pythonだとこういう細かい所で小さな勇者がいるので助かる。
推測で知ったかぶりするより早く、コマンドラインからちょちょっと確認できる言語の強みだろう。



Posted by march at 20:25│Comments(0)
上の画像に書かれている文字を入力して下さい
 
<ご注意>
書き込まれた内容は公開され、ブログの持ち主だけが削除できます。