FC2ブログ


Perl & Oracleでハマった件

   プログラミング [2019/12/06]
Perlをちゃんと使うのは初めてで、
わけのわかんない省略形?的な記述で四苦八苦はしたものの、
ちょっとは動き出して、DBアクセスもできそうな感じになってきたときにハマった話です。

相変わらず自分用の備忘録なんで、表現/用語が不正確な部分は勘弁してやってください。


◆Oracleに関する情報
.plを動かしてみるとHTTPステータス500で相変わらず動きません。

自.plで出してるエラーログで見ると、「SQLクエリ内に間違いがある。」と出てる。
具体的には、「DBD::Oracle::db prepare failed: ORA-00911: 文字が無効です。 (DBD ERROR: error possibly near <*> indicator at char 19 in 'SELECT ...
クエリ内に<*>と入っているのですが、カラム名の真ん中に「番<*>号」と入っている。
なんじゃこれは?
SQL文メッセージの表記もなんか変。

#そう!今回対象としているOracle DBのシステムでは、テーブル名のみならず、項目名にまで日本語の名前を付けるという暴挙をやってのけているDBだったのです。しかもテーブル仕様書もない。
(ボヤキ:素人かよ。はぁ~。普通しないだろ。アルファベット日本語交じりのネーミングが開発にどれだけ不効率的なことなのかはさるでも分かる。)

ともかく、メッセージも変なので、Oracleに関する情報集めをする必要がありそうだ。
まずは、バージョン。
とっても便利なsqlplusというツールが入っているらしい。
--------------------------------------------------------
C:\Perl64>sqlplus

SQL*Plus: Release 11.2.0.3.0 Production on 水 4月 17 16:27:13 2019

Copyright (c) 1982, 2011, Oracle. All rights reserved.

ユーザー名を入力してください: hogehoge
パスワードを入力してください:

Oracle Database 11g Release 11.2.0.3.0 - 64bit Production
に接続されました。
--------------------------------------------------------

この状態で、クエリを実行できます。

Oracleのバージョン確認は、以下。(上のメッセージにも出てますけど・・・)
--------------------------------------------------------
SQL> select * from v$version;
BANNER
-----------------------------------
Oracle Database 11g Release 11.2.0.3.0 - 64bit Production
PL/SQL Release 11.2.0.3.0 - Production
CORE 11.2.0.3.0 Production
TNS for 64-bit Windows: Version 11.2.0.3.0 - Production
NLSRTL Version 11.2.0.3.0 - Production
--------------------------------------------------------


DBがサポートしている文字コードを知りたい場合には、
--------------------------------------------------------
SQL> select value from NLS_DATABASE_PARAMETERS where PARAMETER='NLS_CHARACTERSET';
VALUE
-----------------------------------
AL32UTF8
--------------------------------------------------------


色々ググった結果、
・やっぱりDBのオブジェクト(テーブル、カラム)に日本語は付けない方がいいそうだ。
・でも禁止はされていない。そりゃそうね、現に実在できてるみたいだし。
・もし日本語付けちゃったら、正規には、非引用識別子指定(ダブルクォーテーションで挟む)をする必要があるらしい。
えーーーっ本当?
perlのダブルクォーテーションの扱いあいまってさらに面倒なことになりそう。

でも、sqlplusで、エラーの出たスクリプトをコピペして実行すると、エラーにならずに動く。
ということは、perl環境下特有ということではなかろうか。

調べを続けます・・・。

続きを読む

スポンサーサイト





育てたら食べよう(4):サトイモ

   園芸 [2019/12/05]
ホームセンターで買って来た苗を畑に植えただけです。
「土垂」と書いた札が付いてました。
ドダレと読むのかな?

4株植えて、良不良はあったものの枯らさずに収穫できたことは、喜ばしい。

山友から、「サトイモは、孫イモが粘りがあって美味い。だから高い。」と聞いてたので、ちょっと期待したが、さるはどうなってるのが孫イモなのか知らなかった。ははは。

さて、掘り出したやつは、さる2号の手によって
こんな物に料理されました。

続きを読む



Perl環境でまたハマった件

   プログラミング [2019/12/04]
「VS2017-はじめの1/10歩・・・」でタブレット向けのアプリをWin32SDKベースのレガシーなテクでこさえた後、そのプログラムの通信先サーバプログラムの開発環境を仕立てる話をこのブログに書いてきていたのですが、その続きです。

ちょっと間が空いてしまいました。

要約するとActivePerl環境にCrypt関連のパッケージをオフラインで組み込む際に四苦八苦した話です。
※「オフラインで」と書きましたが、単にプロキシ越えの環境設定をやれなかっただけです。ですが、一度集めたダウンロードファイル群を使うと、例えば別のサーバを同一Perl環境にしたい場合、本当にオフラインでインストールできるはずです。(だから何。そんなシチュエーションある?)

Eclipseの環境でやっとこさ動作するものができたので、本番環境(Oracle+Apache)での動作確認しようと準備に取り掛かりました。予想はしてたのですが、再度ハマりました。試行錯誤の結果をそのまま記録しています。真面目に読んだら疲れます。それに正しい方法が何なのか分かりにくいので、たぶん参考にはならないと思います。
自分用の備忘録です。


◆初動:作った.plを動かしてみる
「Apacheは動くし、Oracleも入って、DBの中身は入ってる。ActivePerlもインストールしてあります。」という、ありがたーい環境がありました。
Apatch2.2とPerl64が入っていました。perlは動かせるようです。

暗号化のライブラリを使っている.plを動かしてみました。
予想通り、エラーです。
ここまでは、Eclipse環境で作っているときもそうだったので想定の範囲内。


ブラウザ上では以下のエラー。
--------------------------------------------------------
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator, aaa@com and inform them of the time the error occurred, and anything you might have done that may have caused the error.
More information about this error may be available in the server error log.
--------------------------------------------------------


さあ、ここからの右往左往・・・

続きを読む



嬉し恥ずかしお百姓一年生(18):耕作面積拡張準備

   園芸 [2019/12/02]
農閑期に入りました。

夏頃から、耕さず草原化している一部を本来の耕作地にしてやろうとコツコツ作業してました。

「そんなの草を刈って掘ればいいだけじゃん。」と思われるかもしれませんが、そうは行かないんです。

畑に生えた雑草の主なものにススキと言う植物があります。
こちらではカヤと呼んでます。カヤブキ屋根のカヤとはこれのことです。
ご存知かと思いますが、草の丈は大人の背丈を超えるほどになるコレです。
20190915_2.jpg


問題は、コイツの根。
硬くてバンバンに土に食い込んでる感じなんです。

トラクターでガンガン掘りまくるなら、掘り起こせるかと思うんですが、
さるはトラクターは持ってません。
耕す道具は、クワとマメトラのみ。

今年の春に、ススキの根っこをそのままにマメトラで掘ろうとしたら、
その根っこに当たると、マメトラが弾んでしまって、掘れたもんではありませんでした。

そんなわけで、荒らした畑は、普通に耕やすだけでも大変なことが分かりました。

5年前の8月にブログにアップしてた草原の写真がありました。
20140803_1.jpg
手前が、ハクサイを植えたスペースBですね。

今みるとその手前部分に余りススキは見えませんね。
翌年の6月の写真もありました。
20150628_b1.jpg
これにはススキが見えます。

この5年余りで悪化(ススキが浸食)していたことが、これら写真で分かりました。

毎回、話に出てくる「畑」の俯瞰がこんな感じです。
20191124_s1.jpg

そう、ほんの手前をちょっとだけ使ったのみです。

もうちょっと寄ります・・・

続きを読む



嬉し恥ずかしお百姓一年生(17):ハクサイ収穫できず

   園芸 [2019/12/01]
もうちょっと、もうちょっと
雪が降らないことを祈り続けて、
ハクサイが玉になるのを待ち続けました。
が、遂に間に合いませんでした。

シンシンと雪が降ってます。
さるの棲家の沿岸部でこうだから、畑のある実家 内陸部は、モソモソ降っていることでしょう。

さあ、ハクサイ失敗の振り返りをします。
来年の為に。


たしか、8月の後半に種まきして、9月の初めには芽が出てて、その後一か月近く掛かって、畑に移植。
定植してからの経過です。

10/13 定植してから2~3週間。 気温は20度を下回ってたかな。
20191013_h1.jpg

10/22 さらに1週間。
20191022_h1.jpg

10/26 最初に定植したスペースAは、1か月くらいは経過。
20191026_h1.jpg
スペースBは、ネキリムシと言うんでしょうか、根っこ付近をかじってしまう虫にやられて、歯抜け状態になってます。
最後に定植した、スペースC(実家裏段々畑の一角)は、こんな。
20191026_h2.jpg

思ってたより割と成長している感じでした。
ここから、徐々に気温も下がって、かつ天気もいまいちな状態が続きます・・・

続きを読む



カレンダー
11 | 2019/12 | 01
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31 - - - -
プロフィール

さるもすなる

Author:さるもすなる
さるです。別HPサイト「さるもすなる」から侵食してきました。 山菜/きのこ、それとタイトルにしたPPバンド籠のことをメインに徒然に・・・・暇を持て余したさるの手仕事:男手芸のブログってことで。

最新記事
最新コメント
月別アーカイブ
カテゴリ
天気予報

-天気予報コム- -FC2-








本家のHPのトップ
山菜や茸の話です
PPバンドの籠作品と作り方です
投稿をお待ちしております



ブログランキング・にほんブログ村へ にほんブログ村 ハンドメイドブログへ



マニュアルのお申し込み



検索フォーム
リンク
RSSリンクの表示
ブロとも申請フォーム

この人とブロともになる

QRコード
QR