X



Perl::DBI
■ このスレッドは過去ログ倉庫に格納されています
0295293
垢版 |
2006/11/07(火) 17:06:36ID:???
>>294
目が覚めますた。
0296nobodyさん
垢版 |
2007/01/21(日) 06:10:16ID:r5E3Q3qv
$st = $db->prepare("SELECT student_id,question_update from $tbname; select count(question_update) from results;select count(student_id) from results;");
$res = $st->execute;

while(@res = $st->fetchrow) {
print <<ROW;
<tr>
<td> $res[0] </td>
<td> $res[1] </td>

</tr>
ROW
}

print "$res[2]$res[3]\n";
0297296
垢版 |
2007/01/21(日) 06:11:07ID:r5E3Q3qv
DBIについての知識が乏しいのですが、締め切りが近いため、無理やりにプログラムを
作っている状態です。超初心者ですが、よろしくお願いします。

上記のように、$st = $db->prepare()の中に複数のMySQL文を入れることは
可能でしょうか?
また、違う点でもご指摘があればよろしくお願いします。
0298nobodyさん
垢版 |
2007/01/22(月) 03:48:16ID:???
質問する前に試してみれば。


0299nobodyさん
垢版 |
2007/02/01(木) 08:18:29ID:???
postgresqlですが、pg_enable_utf8してもフィールド名にはUTF8フラグが立たないようです。
fetchrowにラッパーかます以外、簡単な解決策はないでしょうか。
0300nobodyさん
垢版 |
2007/04/12(木) 00:28:59ID:???
Apacheのバージョン
Perlのバージョン
DBIのバージョン
DBD::MySQL(PG,Oracle)のバージョン
MySQL(PostgreSQL,Oracle)データベースのバージョン
使える組み合わせの一覧表ってどこかにありませんか?
0302nobodyさん
垢版 |
2007/05/06(日) 12:20:49ID:???
使えない組み合わせなんてあんの?あんまり経験したことないんだが。
0303あんのたん ◆PDq1wu.iD.
垢版 |
2007/10/28(日) 21:35:18ID:wtKxxX0g?2BP(1004)
PerlからMySQLの.から始まる独自コマンドを実行したいのですが、どのようにしたら良いのでしょうか。以下のコードでやると(near ".": syntax error(1) at dbdimp.c line 271)とエラーが出ます。
use DBI;
$DBName="TestDB.db";

$hDB = DBI->connect(
"dbi:SQLite:dbname=$DBName","","",{PrintError=>0}
);
if(!$hDB){
print "$DBI::errstr ¥n";
exit;
}

$sql =".table;";

$hst = $hDB->do($sql);
if(!$hst){
print $hDB->errstr . "¥n";
exit;
}
print $hst;
$hDB->disconnect;
0304あんのたん ◆PDq1wu.iD.
垢版 |
2007/10/28(日) 21:36:29ID:wtKxxX0g?2BP(1004)
訂正orz
×MySQL ○SQLite
0305nobodyさん
垢版 |
2007/10/28(日) 22:08:49ID:???
sqliteのドットから始まるコマンドのAPIはDBIにないと思う

テーブル見るだけならsqlite_masterというマスターテーブル?に入ってるから
$dbh->prepare('SELECT * FROM sqlite_master")
とかあとはスクリプトの中からsqliteを直接実行するしかないんじゃないかな
0307nobodyさん
垢版 |
2007/10/29(月) 16:37:20ID:???
sqlite使ってる人いる?
トランザクションでエラーでまくりなんだけど・・・
DBD::SQLite 1.3
0308nobodyさん
垢版 |
2007/10/29(月) 19:34:44ID:???
普通に使えてますが
0309nobodyさん
垢版 |
2008/04/27(日) 18:20:14ID:GdnUUJeu
MySQLやPerlのDBIのモジュールを組み込んだりって大変じゃないのか。
調べたりすることが多くて、エラーが出てばっかりとかで、時間は浪費するし、
疲れる。困難の連続なんだが。
DBの接続を実現させるだけでも大変。
でも他人は俺とは違い、難なくクリアしてるんか。頭が良くて、要領もいいのか。
どうやって解決してるんだ。
0310nobodyさん
垢版 |
2008/04/27(日) 21:25:12ID:???
妥当な入れ物を作って、その入れ物に依存したコードを書いたほうがメリットが大きいだろ。
データの永続化としては、CSVもどきやCSV, YAML, Storable, DBMとかあるとおもうけど
DBIでRDBMSが一番手堅くね?
0311nobodyさん
垢版 |
2008/04/27(日) 21:25:54ID:???
もつろんORMはDBIx::Classなどを御自由に
0312nobodyさん
垢版 |
2009/01/12(月) 15:15:30ID:DVs9WJdR
DBIx::Classの話題でないな。
覚えて慣れるまで大変だわ。
0313myYyWxRRQ
垢版 |
2009/10/23(金) 02:50:19ID:???
I think these people want to hear my logic. ,
0314nobodyさん
垢版 |
2009/10/23(金) 03:08:54ID:Ax+yFrZW
>>312
覚えるの大変な割りに使い勝手わりーよ
ちょっと気の利いたことすると、すぐに括弧だらけになっちまう
気を利かせなけりゃDBIx::Simpleで充分だし
0315nobodyさん
垢版 |
2010/04/03(土) 19:03:20ID:E/aWmIoC
DBI::mysqlを使用しているのですが、updateをwhileで2万回回して行っている
箇所があります。

うろ覚えではあるのですが、DBIで実装されている機能側でキャッシュして
これを一括で実行する方法があったような気がするのですが、ぐぐっても
出てこなかったので、幻ですかね。。
0317nobodyさん
垢版 |
2010/10/09(土) 14:26:31ID:???
DBIx::Skinny のCPAN上の最新バージョンが 0.0721 でなんかちょっとやだ。いや別にいいんだけど。
0318nobodyさん
垢版 |
2010/10/09(土) 15:38:48ID:???
>>317
「スキニーパンツ見てオナニー」と覚えよう
0319Perl忍者 ◆M5ZWRnXOj6
垢版 |
2010/10/14(木) 21:16:17ID:FhDSY4IL
数ヶ月単位
0320nobodyさん
垢版 |
2010/11/18(木) 14:10:29ID:Cpwx90i/
IIS <-> Perl <-> OCDB <-> Access(mdb) on WinXP という環境なんですが

mdb上のメモ型フィールドのデータをPerl上で "SELECT memo FROM sampletable" として抽出しようとすると
DBD::ODBC::st fetch failed: [Microsoft][ODBC Microsoft Access Driver]文字列データの右側が切り捨てられました。 列番号 1 (Title) (SQL-01004) at C:\yyy\xxx\www\test.pl line 28.
というエラーが出て、配列にデータが格納されません。

メモ型のみで、テキスト型フィールドのデータはきちんと抽出され、配列に格納されます。

調べてみたところ、メモ型フィールドはSELECTで抽出できないという文章を目にしたのですが
もしそうなのであれば、255Byte以上の文字列はどのようにDBへ出し入れすればよいのでしょうか?

ちなみに、Access上のSQLクエリでSELECTにて抽出した場合には、メモ型フィールドもきちんと抽出されてきます。
同じ命令をOCDB経由で投げると上記エラーが出てきます。
どなたが、救いの手を・・・


0321320
垢版 |
2010/11/19(金) 16:01:37ID:???
メモ型でもフィールド内が40文字以下ならば、抽出可能なことが判明。
それを超えるとエラーしてしまう。
テキスト型でも、フィールドサイズが255文字までなので、それ以下しか扱えないということになってしまいます。

相変わらず、メモ型の動作が想定外な為、自己解決ならず。
0322nobodyさん
垢版 |
2011/01/03(月) 19:39:28ID:???
テーブル名にプレースホルダ表記は使えませんか?

$stl = $dbh->prepare("CREATE TABLE ? ( ? char(2) )");
$stl->execute($table_name, $key_name);

文法エラー:
CREATE TABLE 'my_table' ( 'my_key' char(2) )

ほんとうは
CREATE TABLE my_table ( my_key char(2) )
じゃなきゃだめ
0323 【小吉】 【22円】 【46.5m】 電脳プリオン
垢版 |
2013/01/01(火) 14:24:28.53ID:????PLT(12079)
  ∧_∧
  ( ・∀・)      | | ガガッ
 と    )      | |
   Y /ノ      .人
    / ) .人   <  >_∧∩
  _/し' <  >_∧∩`Д´)/
 (_フ彡 V`Д´)/   / ←>>79
            / ←>>94
0324nobodyさん
垢版 |
2017/12/30(土) 16:03:46.85ID:YhlYw6jg
誰でも簡単にネットで稼げる方法など
参考までに、
⇒ 『半藤のブブイウイウレレ』 というサイトで見ることができます。

グーグル検索⇒『半藤のブブイウイウレレ』

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

ニューススポーツなんでも実況