日記帳
本ページはプロモーションが含まれています
カテゴリー
Links
blog(ブログ)マスター
アンドロイドの巣
ゼロから始めるベランダ菜園
タイトル
2024年12月
2 3 4 5 6 7 1
9 10 11 12 13 14 8
16 17 18 19 20 21 15
23 24 25 26 27 28 22
30 31 29

アーカイブ

2006年03月 のアーカイブ

[AC97] 破壊したデータベースの修復方法
http://support.microsoft.com/default.aspx?scid=kb;ja;109953

破損した Jet 4.0 データベースの Access 2000 でのトラブルシューティングと修復の方法
http://support.microsoft.com/default.aspx?scid=kb;ja;209137

[ACC2003] Access 2002 以降の破損したデータベースをトラブルシューティングおよび修復する方法
http://support.microsoft.com/kb/283849/JA/


●定期的なバックアップをしましょう。
「最適化/修復」を選ぶとデータが
#######とかになって
 無くなる可能性がありますので
まず修復する前に、バックアップする習慣を付けましょう。

●mdbの構造をもう一度検討しましょう。
  データとフォームを一緒にして1個にしてしまうと
 こわれたとき涙ちょちょぎれものです。
 邪魔になりますが分離するほうが安心?
 データとフォームなどは別ファイルに分離して、
リンクで連結しておくと 致命傷をある程度回避できるかもしれません。

Firebird2 + Delphi はじめて接続してみる(その2)
■データ操作をしてみよう
DeleteTable;

drop table
を使うと
そのあと createとかすると
エラーになる・・・
なぞ・・・
IBTable1.Close;
IBQuery1.Close;
IBQuery1.SQL.Text := 'drop table test';
IBQuery1.ExecSQL;
・IBTable1.Exists もなんか変・・・


なんだかPCが 著しく遅くなった
 (ビデオでたとえるとコマ送り状態)
firebird消去
追記
 どうやら スパムぼっとが
他のソフトと競合して妨害していることが判明
ということで
スパムぼっとに退場命令
firebird蘇生。 メラメラメラ〜
ぱかぱかぱかぱかーん
 firebirdは生き返った

» 続きを読む

Firebird2 + Delphi はじめて接続してみる(その1)

まず インストール
 
うごかない!!
  いじること2時間少々やっと解明

PDFの説明書を読めばよかった。。。


要点は この3つ。
・gsec.exeで ユーザーとパスワードを設定 (※-pwからだとエラーを起こす)
・C:\Program Files\Firebird\Firebird_2_0\の*.confファイルを設定する
 aliases.conf:エイリアスの設定
 firebird.conf:データベースの場所などの制限をしたい場合
・isql.exe(Firebird ISQL Tool) で データベースを作成


では、順に説明。

デフォルトは自動起動です。

【たまにしか使わないからFirebird起動したくない場合】
起動を手動にするには
管理ツール「サービス」 でfirebirdの2個を手動に変更。
バッチファイルでも作っておくといいかも
net start "Firebird Guardian - DefaultInstance"
停止は、
net stop "Firebird Server - DefaultInstance"
net stop "Firebird Guardian - DefaultInstance"


【ユーザーの作成】
P12あたり: ユーザーとパスワードの設定
binフォルダのdos窓で gsec -user sysdba -password masterkey
または
ファイルを指定して実行で
"C:\Program Files\Firebird\Firebird_1_5\bin\gsec.exe" -user sysdba -password masterkey
"C:\Program Files\Firebird\Firebird_2_0\bin\gsec.exe" -user sysdba -password masterkey

testという名前のユーザーを作成
GSEC> add test -pw '123'


【プロンプトから データベースファイルを作成する場合】
PDF P.9あたり
SQL> CREATE DATABASE  "C:\Program Files\Firebird\DB\sample.fdb"
CON> user 'test' password '123';


設定を間違うと このようなエラーがでます
CON> user 'test' password '123';
Statement failed, SQLCODE = -902
Your user name and password are not defined. Ask your database administrator to
set up a Firebird login.


SQL> CREATE DATABASE  "C:\Program Files\Firebird\DB\sample.fdb"
CON> user 'test' password '';
Statement failed, SQLCODE = -902
Access to database "C:\PROGRAM FILES\FIREBIRD\DB\SAMPLE.FDB" is denied by server
 administrator


好みに合わせて、 コンポーネントを配置して終了。
InterBase TIBDatabase
TIBTransaction
TIBQuery
Data Access TDataSource

  付属の説明書のPDFをさっと みればすぐわかります。
 (公式サイトを巡回しても 迷路にはまるだけです)

【関連記事】

MySQL + Delphi はじめて接続してみる(その1)


dbExpressで接続できるという情報を入手したので早速配置

dbExpress TSQLConnection
TSQLTable
Data Access TDataSource

TSQLConnection ConnectionName

MySQLConnection
を選択

 おぉー 選択したとたん勝手に 入力された。

では 接続を conectedプロパティを ON


エラー
LIBMYSQL.dll を起動できませんでした。


はぁ? なにか おっしゃいました?

もう一度、 
エラー
LIBMYSQL.dll を起動できませんでした。

はぁ? あのぉー

ということで どうせ パスが通っていない
 っと 0.1秒で判断したので

まず、検索を使って「LIBMYSQL.dll」 があるかを確認

ありました


C:\Program Files\MySQL\MySQL Server 4.1\bin\libmySQL.dll

しっかり存在することを確認。
 ということで、Pathに追加

マイコンピュータ(右クリック)
→ プロパティ → 詳細設定 → 【環境変数】
→ 【システムの環境変数】
Pathに追加
;C:\Program Files\MySQL\MySQL Server 4.1\bin

PC再起動


では、 さっそく 
conectedプロパティを ON

データベースログイン プロンプトが表示されました。
とりあえずキャンセル

SQLConnection1
に 
ホスト
DB名
ユーザー名
パスワード
設定をして

conectedプロパティを ON

ばっちり つながりました。

簡単に MySQLにつながることがわかりました。
では、 今日の料理はおしまい。


dbExpress データセットとほかのデータセットの間の別な相違点は,
dbExpress データセットが常に読み出し専用,かつ単方向であるということです。
これは,レコード間の移動は順方向に 1 つずつしか行えないこと,また,編集をサポートするデータセットメソッドは使用できないことを意味しています。 

 えっ !!
 これは、 
編集できないならいらないよぉ
すなわち ゴミってことでは?
傷が浅いうちに 気がついてよかった。

 この画面の編集も含めて 合計1時間 を失った・・・

dbExpress なんか アンインストールだ!!
撃退!! コンポーネント削除!!

 スッキリ スッキリ スッキリ 

ということで MySQL + Delphi 編 おわり


【関連記事】
 データベースへの接続:概要

 データベースサーバーに直接接続する

Firebird 2.0 + Delphi2005

うーん、 
accessのDBは頻繁に吹っ飛んでadoなんか信用できない
.dbもDelphi2005は、呼び出しで不意に応答停止する

もぉー また 保存していたテンプレート一部破壊されているよぉ
 データ小分けにファイルわけたのにぃ
  もぉー もぉー もぉー 
アクセスのバカぁーーー

いまのところ10MBくらいしかデータ無いけど
データは最終的には 数十万件はいる予定なので
どっちみち accessじゃダメかも・・・
.dbfにしておけばこんな苦労はなかったのに・・・
.dbfにするか 他の選択だけど・・・
ちょっと開発がとまった仕様をつかうものなんだしなぁ・・・
数十万件はいる予定に耐えれるか不明だし・・・
たしか耐障害性のあるとかいう
interbaseというてもありありだけど・・・
費用が高いし・・・

自分のPCしかつかわないからべつにつかってもいいけど・・・
 ということで あっ そういえばinterbase分岐の
無料のFirebirdがあったあった
 おぉー テラまでOKですか!!
もう キマリ!! (超 単純
ということで 試しにインストールしてみよう・・・。

ado接続から変更かけるから ちょっと数日 日数を要しそう。。。
mysqlいれているからそっちでもいいけど・・・
あっ でも
sql言語つかならデータベースの仕様は一個に統一した方がいいかなぁ・・・
うーん 。。。。 ( ぉぃ どっちなんだ・・・
とりあえず 明日かあさって 1.5系 いれて 動作検証してみよう
続き:Firebird2 + Delphi はじめて接続してみる(その1)

はじめてさわってみる DWS(その2)


【ほんの少しだけいたわってあげましょう?】


あれ? DWSで作ったページが真っ白・・・?

あれ?

あれ?あれ?

あれれ?

 うーん・・・? 考えること3秒・・・
システム障害???

とサイトへ直行
 ・・・

緊急メンテナンスのお知らせ

DWSのご利用ありがとうございます。

ただいま、緊急メンテナンスを行っております。



  あー 緊急メインテなんすですかぁ・・・

ということで

少しコードを変更

 my $content = get $url;

 my ($content);
 $content = get $url;
に変更

if (($content eq '')) {
   # 何らかの障害?なので 別のページ用関数を呼び出しておわり?
   print '現在表示できません';
   exit;
 }


なんだか ウェブサービスブログをみていると
システムが かよわそう

 ついでなので

少しだけ
 ホント 少しだけですよ

システムをいたわってあげようと思い
1分間だけ ファイルをキャッシュするように変更

my ($content);
  $content = get_stocked_dataFrom_db($url, 1); # キャッシュ時間(分)
  if (($content eq '')) {
     $content = get $url;
     $content =~ s/\x00//img;
     # if (!($content eq '')) {
       stock_db($url, $content);
     # }
  }

※ get_stocked_dataFrom_db, stock_db は、
  当方のオリジナル関数なので世界を探してもおそらくありません。
 似たような物は世界中に出回っています。

少しの DBの知識さえあれば簡単に作れます

XOOPS でユーザー情報を未ログインで表示させなくする。


※ この記事の内容は古くなっています



デフォルトでは、(20.13 時点において 以降はしらない)
開発者が個人情報保護を認識していないようで、
未ログインでも 登録ユーザー情報を足れながしです。

そのまま使うと、個人情報をたればながすわけですので
運営者は なにかにまきこまれて法律的に厳しいかと思います。

そこで とりあえず、
ログインしないと表示させない方法です。

【edituser.php で 利用しない項目をカットします。】
  これだけで、かなりのリスクが減ります。

たとえば、こんな感じです
// $form->addElement($name_text);
// $form->addElement($bio_tarea); // その他

また、こんなことるすることで 入力項目を制限します。
$location_text = new XoopsFormText(_US_LOCATION, 'user_from', 30, 100, $xoopsUser->getVar('user_from', 'E'));
 ↓
// $location_text = new XoopsFormText(_US_LOCATION, 'user_from', 30, 100, $xoopsUser->getVar('user_from', 'E'));
$location_text = new
XoopsFormSelect(_US_LOCATION, 'user_from', $xoopsUser->getVar('user_from', 'E'));
$location_text->addOptionArray(array(
""=>""
,"北海道"=>"北海道"
,"青森"=>"青森"
,"東京"=>"東京"
,"沖縄"=>"沖縄"
,"その他"=>"その他"
,"海外"=>"海外"
,"宇宙"=>"宇宙"
,"ひみつ"=>"ひみつ"
));
 
$occupation_text = new XoopsFormText(_US_OCCUPATION, 'user_occ', 30, 100, $xoopsUser->getVar('user_occ', 'E'));
 ↓
// $occupation_text = new XoopsFormText(_US_OCCUPATION, 'user_occ', 30, 100, $xoopsUser->getVar('user_occ', 'E'));
$occupation_text = new
XoopsFormSelect(_US_OCCUPATION, 'user_occ', $xoopsUser->getVar('user_occ', 'E'));
$occupation_text->addOptionArray(array(""=>"","ひみつ"=>"ひみつ"
, "芸人"=>"芸人"
, "宇宙人"=>"宇宙人"
, "一般人"=>"一般人"
,"その他"=>"その他"));



【html\modules\system\templates\system_userinfo.html】
次に
\html\modules\system\templates\system_userinfo.html

を開き、
不都合な項目は 変更していきます

誰でも閲覧 → ログインした者は閲覧可 に変更
<td class="odd"><{$user_email}></td>
 ↓
<td class="odd"><{if $xoops_isuser == true }><{$user_email}><{else}>***<{/if}></td>
さらに
↓ 誰にも見せたくない場合は、項目自体を 消すといいでしょう。
 

最後に、モジュール システムをアップデートして おわり。


 もー わからない っていう時の手段として
userinfo.php を消すという荒技もあります。

» 続きを読む

果実酒即製器
 なんと1日で
 ほんとかどうかは もっていないので
わかりませんが そのうち 購入したいです
果実酒即製器

はじめてさわってみる DWS(その1)


商品無料仕入れ戦隊『電脳卸』

 電脳卸 はじめたとき1ヶ月しても
なーんにも売れないので
個別広告自体はるのが面倒
 +(貼るのも面倒ならはずすのも面倒)
だったのもあるけど
全くうれる気配もなく、 
 ( リンクもあまり貼ってないし、
  ページのすみに貼っているから
  うれなくてもあたりまえなんですが・・・)
もぉー宣伝もするきがなくなったので

ウザイメールばっかりくるので
 数ヶ月目の今月、解約しようと思って
サイトに貼ったリンクの撤去を徐々にしていたのだけど

解約でもしよぉーかなぁーとどうしよぉーかなぁーと
管理画面をみると
 ほぇ〜
  1月 誰かがなにかを1個買って 800の報酬がついているではないですか!!

amazonで同じ金額売れても 400円くらいしかつかないし
amazonの報酬よりかなりいいのはわかっていたけど
売れる望みあり!!

これを 捨てるのはもったいない!!
どうせamazonでうっていないいていないほしい商品が電脳にあるし
 メザセ3000円!! 不可能ではない!!

ということで、電脳卸を解約するのは中止♪

電脳卸の管理画面へGO!! あれデザインかえたんだぁーって巡回していると
DWSなんてのを発見
 あれー こんなのあったのぉー 
と今頃 認識
 もっと早い段階に気がついていれば・・・

まぁ これを使えば リンク作るのも撤去も簡単になるではないですか!!

ということで
 サンプルにidなど必要項目を入力し、起動
エラー エラー エラー
エラー!!!


 なにぃー(>_<)
うわぁー

 なんか つばさくんシュートーとなる瞬間
ひゅうがこじろうにタックルされた気分です(>_<)。

かなり擦り傷おいました (ぉいぉい 大げさだ)

ソースを見つめると
Unicode::Japaneseが原因なのは一目瞭然
これって windowsで簡単にインストールできないのよぉ!!
 ということで、Perl Package Managerを起動して
Encode、Jcodeをインストール

#use Unicode::Japanese;
use Encode::JP;
use Jcode;
my $EncodeCode = 'euc-jp';
Encode::encode($EncodeCode,$result->{ProductName};
 
sub encodeURLWord {
  # encodeURLWord
  my ($s);
  $s = $_[0];
  $s =~ s/([^0-9a-zA-Z])/'%'.unpack("H2", $1)/igme;
  return $s;
}
 $sword = encodeURLWord(jcode('検索語')->utf8);

これで 検索語を日本語対応し、実用できる段階になりました。

起動 ビューン

 うわぁーーー

 商品に 電脳へのリンクついていないではないですか!!

なんだか
 さきほどのこぼれだまをひろう瞬間
みさきくんが ひゅうがこじろうにスライディングを受けた気分です

でも ミラクル アマ プログラマー としては この程度では
まけません!!

それにしても チョーシンプルなサンプルだ!!
わかりやすいように可読性をよくするためなのはわかりますが!!
基本的な物どうさするようにしてくださいよぉ・・・

ということで 放浪すると どうやら
電脳卸から普通にタグつくったときを参考に
ProductPHPのurlのうしろに ?でつなげばいいようですね?
(ほんと不明 問い合わせてみようかなぁ・・・)

ということで、
おさらい
・商品へのリンクを作る関数を作成
・utf8をurl用に変更する関数の作成
・文字コードの変換関数を一般的な物に変更
をすると
とりあえず、 サンプルを少し改良することで
すぐに がんがん使えるものができるようです♪

でもぉ なんだか
print $result->{Availability};なんかのときに
返値に設定されていない項目があるとき HASH なんて
表示されるので・・・ その辺がどうも・・・

XML::Simple; なんかやめちまえぇー


つばさくん ドライブシュートー

ピピピー 勝ちました   (えっ?



商品無料仕入れ戦隊『電脳卸』

 うーん

perlもphpもパースエラーを出しますね・・・
ページによっては
どうも utf8でない文字が紛れ込んでいるのでしょう・・・

問題のxmlはieでは表示できますが、firefoxだと
パースエラーと場所が示されるので、
何らかの 処理をしてあげないと
・・・


試合おわり前に ひゅうがこじろうが
連続でタイガーシュート してきて 大逆転されたかんじです
 

 つばさくんピンチ・・・

おっ いしがきくん とびだした。
顔面に ビシ(>_<)

たいへんだ 顔が nullになったぞ
なに?

つばさくん いかりの ドライブシュート

シュートのときになにか聞こえたぞ

[テキスト文字列に nullいれんじゃねぇー]閭

変更前 my $content = get $url;
   ↓
変更後 my $content = get $url;
$content =~ s/\x00//img;

» 続きを読む



PR

[PR]