いよいよ公開!ア・ゴースト・ストーリーのみどころ紹介!

Borland Database Engine 初期化中にエラーが発生しました。($210D)
と表示されます。どう対処すれば良いでしょうか?

このQ&Aに関連する最新のQ&A

A 回答 (1件)

【対処方法】


1.全てのBDEアプリケーションをクローズします。
2.BDE Administrator(BDEADMIN.EXE)を実行します。(普通は、Program Files\Borland...の中にいます)
3.BDE Administratorの「環境設定」タブを開き、左ウインドウのツリーより「SYSTEM」をクリックします。さらに、「INIT」をクリックします。
4.右ウインドウの「INIT」の定義の中に、「SHAREDMEMLOCATON」項目がありますので、この値を5BDEに変更します。
5.左ウインドウのツリーの「SYSTEM」を右クリックし、ポップアップメニューより、「更新」を選択します。
6.BDE Administratorを終了します。

以上で解決すると思います。
尚、私の場合は、DELPHI4のBDEアプリケーションを、Windows7で使用した場合、BDEアプリケーションを複数同時起動した場合に発生する場合がありました。
予断ですが、Windows7の場合、BDE Administrator(BDEADMIN.EXE)は、管理者権限で実行する必要がありますので、気をつけてください。

以上
    • good
    • 1
この回答へのお礼

ご丁寧な説明ありがとうございます。お陰さまで解決いたしました。

お礼日時:2011/02/03 14:58

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QBorland Database Engine エラー?

あるソフトをインストールしていると、最後に
「Borland Database Engine の初期化中にエラーが発生しました(エラー$2108)」
と表示され、うまくいきません。対処方法を教えてください。

Aベストアンサー

Borland Database Engineを使ったソフトの開発をしています。
そのソフトはBDE(Borland Database Engine)というデータベースソフトを使っています。そのソフトをインストールすると、自動的にインストールされる場合もありますが、別途BDEをインストールする必要がある場合もあります。BDEはインストールされていますか?インストールされているか調べるには、コントロールパネルに「BDE Administrator」というアイコンがあるかどうかで、ある程度判断できます。アイコンがあれば、インストールされたことがあるということです。アイコンがなければ、ソフトの作成者からBDEを入手しインストールする必要があります。すでにインストールされているとしたら、何らかの原因でBDEが削除されている等のことが考えられます。その場合は再インストールしてください。

QBorland Database Engineの初期化中にエラーが発生

C++ Builder3のプログラムを実行しようとしたら、
「Borland Database Engineの初期化中にエラーが発生(エラー$3E06)」と出てしまいました。

どうしたらいいかわからなかったので、ビルダーをアンインストールしてインストールしなおそうとしたところ、
「BDEのconfig中に問題発生!」といわれてしまいました。

何か原因があるのでしょうか・・・。

Aベストアンサー

>>BDEの本体とコモンライブラリを同じバージョンに合わせ
>すいません、その操作をどのようにしたらよろしいでしょうか?

旧バージョンのアンインストールと新バージョンのインストールを連続して行っていたり、BDEをバージョンアップせずビルダーのみバージョンアップすると
C:\Program Files\Borland\CBuilder○\Bin (○は3とか4とか5とか)

C:\Program Files\Borland\Common Files\

C:\Program Files\Common Files\Borland Shared\
で、違うバージョンのDLLや設定iniファイルが混ざってしまう事があります。

こういう場合は、アンインストール時に自動で削除しなかったファイルを手動で消す必要が出る場合があります。

もちろん、ビルダーとBDEと、両方ともアンインストールしなければダメです。

他のBorland製品を使っていない、かつ、ソースやデータベースを完全に消しても良い、と言うなら、アンインストール後に
C:\Program Files\Borland\CBuilder○\
C:\Program Files\Borland\Common Files\
C:\Program Files\Common Files\Borland Shared\
をフォルダごと削除して下さい。

全部消したら、一旦電源を切って再起動して、インストールし直して下さい。

後から気付いたんですが、もう1つだけ。

C++ Builderの4以上のビルダーがインストールされている環境で、データベースを使うC++ Builder3で作られたアプリケーションを動かすと、データベースのローカライズ(言語設定)の仕様の違いにより、初期化でコケる場合があります。

これをやっちゃうと、C++ Builderの4以上になっているランタイム環境が、C++ Builder3で作られたアプリによってランタイム環境が壊される(ランタイムの設定iniファイルが変な状態に書き換えられる)場合があり注意が必要です。

>>BDEの本体とコモンライブラリを同じバージョンに合わせ
>すいません、その操作をどのようにしたらよろしいでしょうか?

旧バージョンのアンインストールと新バージョンのインストールを連続して行っていたり、BDEをバージョンアップせずビルダーのみバージョンアップすると
C:\Program Files\Borland\CBuilder○\Bin (○は3とか4とか5とか)

C:\Program Files\Borland\Common Files\

C:\Program Files\Common Files\Borland Shared\
で、違うバージョンのDLLや設定iniファイルが混ざって...続きを読む

QParadoxについて教えて下さい

最近会社で入れた業務用ソフトがParadoxというデータベースで作られていました。昔聞いたことのあるデータベースですが最近は全く聞くことがなくなっていました。今でも良く使われているものなのでしょうか。また、どういう特徴があるものなのでしょうか。ネットで検索しましたがうまく見つけられませんでした。参考になるホームページとかあれば教えて下さい。

Aベストアンサー

パラドックスはプログラミング言語で有名なボーランドの製品でした。ビジュアル環境で難しいデータベースを優しく扱うという相反するテーマに挑戦する意気込みが「Paradox」という名前に込められています。当時はdbaseと2本のデータベースを所持していましたが、dbaseはアシュトンテイト社から引き継いだもので、パラドックスはボーランド自社開発のソフトだったと思います。7まで進化しましたが、その後、ボーランドの業績が悪化し、クワトロプロなどと共に、コーレル社に売却。私は5までのユーザーでしたが、一度だけボーランドから、扱いの変更に関するはがきが来ていました。現在、アメリカではバージョン10まで進化しているようです。当時の日本の定番だった桐5のファイルを読み込めました。オブジェクトパルという言語を採用し、当初はアクセスと覇を争ったものでした。昔一度か二度何かのデータベースを作成しましたが、桐のような、よく言えば、フレキシブル、悪く言えばいい加減な設計を許さない為、使わなくなりました。カナダのコーレル社も、日本市場には積極的ではないらしく、英語版を売っている始末です。
http://homepage2.nifty.com/corel/
に「コーレルユーザーズクラブ」があります。どの程度期待できるかわかりませんが、無料のメーリングリストを使ってパラドックスに関する情報を得るという手もあるのでは。
残念ながら私の周りでパラドックスを使っている人はおろか、買った人も聞きません。最もアクセスをもってはいても使いこなしている人もおりません。私自身は2以来の桐ユーザーです。その桐ユーザーもめっきり減りました。たいした参考にはなりませんが。

パラドックスはプログラミング言語で有名なボーランドの製品でした。ビジュアル環境で難しいデータベースを優しく扱うという相反するテーマに挑戦する意気込みが「Paradox」という名前に込められています。当時はdbaseと2本のデータベースを所持していましたが、dbaseはアシュトンテイト社から引き継いだもので、パラドックスはボーランド自社開発のソフトだったと思います。7まで進化しましたが、その後、ボーランドの業績が悪化し、クワトロプロなどと共に、コーレル社に売却。私は5までの...続きを読む

Qdelphi でのコード上でTab を入力。

delphiで、コード上からString変数などに、Tabを入力する方法を教えてもらえませんか?

Javaでは確か \t とかだったと思うのですが。。。

また、よろしければ多言語でのバックスラッシュコード(?改行の\nなど)に対応するものがdelphiに存在するのかも教えてください。

Aベストアンサー

Delphi6での場合。

#数字 でASCIIコードを記述します。
数字の所は16進数も使えます。

タブ(10進数): 'abc'#9'def'
タブ(16進数): 'abc'#$9'def'

改行(10進数): 'Line 1'#13#10'Line 2'
改行(16進数): 'Line 1'#$d#$a'Line 2'


こんな感じだったと思います。

C言語やJavaのような、\t みたいな記述は無かったと思います。

文字列中に'(シングルクオート)を入れる場合も、\' ではなく、
二つ重ねて '' だし。(この点ではVBに似てるかな)

Q「読み込み違反」が起きたときのデバッグ方法

たとえば、Metasequoiaさんのページにありますように、読み込み違反が発生しプログラムが停止したとき「”main.exe”のアドレスXXXXXXでYYYYYYに対する読み込み違反が発生しました。」などどいうメッセージが出ることがあります。

http://www.metaseq.net/metaseq/bbs.html

まれに、このアドレスをメモしておいて、報告してほしいという開発者さんを見かけます。例えば、上記Metasequoiaさんの場合もそうです。

例えば、VC++やBorland、GCCなどで開発している場合、このアドレスからいかにしてデバッグするのでしょうか?「私はこうしてる」などと言ったお話が聞ければと思い質問させていただきました。

よろしくお願いします。

Aベストアンサー

そういう情報を元にしたデバッグにはデバッガを使います。
VC++とかの統合環境ならデバッガを内蔵してるし、gccを使ってるならgdbで。

「アドレスXXXXXXで」の方の値は、実行している命令のアドレスを示しています。これは、同じプログラムであれば、ユーザー環境でも開発環境でもどこで実行しても同じになります。
ですから、開発側でデバッガを使うことで「どの関数のどの文を実行している時にエラーが発生したのか」がわかります。

「YYYYYYに対する読み込み違反」の方の値はデータアドレスなのですが、こちらは実行条件によって値が変わってきます。そのため、ユーザーの環境をそのまま開発環境に再現することはできません。
ですが、「00000000」とか「FFFFFFFF」とかの特徴的な値が出てきたとしたら、そこからコード上の問題を追及できる可能性はあります。

Qコントロールパネル内の残痕を消すには

アプリケーションの追加と削除でDelphi6を削除したが、コントロールパネル内からBDE Administratorの表示が削除されず、残痕として残ります。
この残痕の削除方法を教えて欲しいのですが。
OSはXPです。

Aベストアンサー

あまりお勧めできる方法ではないですけど、単にそこから表示を消したいというのであれば「*.cpl」でWindowsフォルダを検索してください。
多分、C:\windows\system\の中にいくつか出てくると思いますが、同じような名前のファイルを削除したらとりあえずは消えます。
ただ、それを削除するとエラーが出ることも考えられるので、一旦デスクトップなどに移動→再起動→エラーが出ないことを確認→コントロールパネルを開きエラーが出ないことを確認→削除、がベストだと。

Qテーブルからのselectにおいてデータの有無により結果をわけたい

id | point
----+-------
1 | 10
2 | 9
3 | 5
....
というテーブルがあるとします.
idを指定してpointを得たいのですが、そのidがこのテーブルに存在しない場合は空の結果ではなく0を返したいのです.
plpgsqlなどを使いif文で場合分けすればできることはわかっているのですがSQL文だけで(それもできれば1文で)これを実現する方法はあるでしょうか?
よろしくお願い致します。

Aベストアンサー

変則的ですが、これでよければidがユニークでなくても大丈夫ですし、集合関数を使わなくてもOKです。

select dm.id,case when ex1.point is null then 0 else ex1.point end from
(select ? as id) as dm left join ex1 on dm.id = ex1.id;

?を適当に変えてください。
chukenkenkouさんの発想はこれですよね。

Qすいません、delphi初心者です。

すいません、delphi初心者です。
わかる方いましたら教えてください。

今小数点の計算を行っているのですが、整数以下の小数点の切り捨てのサンプルはよく見るのですが、第一
以降や、第2位以降の切り捨てなども設定できるものでしょうか??

すいません、わかる方いましたらご教授ください!!
宜しくお願いお致します。

Aベストアンサー

比較的言語を問わずそれを実現する方法としては、こういう手があります。

例:0.015を小数点3桁以降で切り捨てる(0.01となる)場合
1)値を100倍する。0.015*100=1.5
2)四捨五入したければ、ここで0.5を足す。切り捨てるならそのまま次へ
3)結果の小数部を切り捨てる。すると結果は1
4)これを100で割れば、0.01が得られる

この方法の欠点は、浮動小数点実数だと誤差を生ずる恐れがあることです。まあ、あまり厳密なことを言わなければ、これでも問題ないと思いますが。あとPascalだと型の違いにうるさいので、整数型と実数型は型変換せずにいきなり代入するとエラーになるでしょうから、注意が必要ですかね。

Q管理者権限のあるユーザーアカウントなのに管理者として実行させられる。

windows7 home editionを使っています。
ユーザーアカウントは標準ではなく管理者にしていますが、
Spybotの免疫化しようとしたり、コマンドプロンプトをつかって
コマンドを実行しようとするとき、いちいち右クリックで管理者として
プログラムを実行しないとできません。

コントロールパネルでアカウントを見てもAdministoratorとアカウント名の下にかいてあるのに。。。

これが標準なのでしょうか?
それとも設定がなにかまちがっているのでしようか?
ご教授いただきたくお願いいたします。

Aベストアンサー

一言で言うと標準です。
Vistaから入ったセキュリティ機能の関係でなってます。
Vistaに比べるとかなり減ったのですが、XPになれているとうっとおしいですよね…

変更方法は…
スタート→コントロールパネル→ユーザーアカウントと家族の為の安全設定(緑文字の所です)→ユーザーアカウント(これも緑文字の所です)→ユーザーアカウント制御の設定

ここで左の通知しない(一番下)に変更することで、少しは改善されると思います。
セキュリティ的には甘くなるのでご注意下さい。

因みにWindows7に対応しきってないソフトの時は駄目な事がありました。

QSQLで違うテーブルの値を比較して値に差があるレコードを抽出したいので

SQLで違うテーブルの値を比較して値に差があるレコードを抽出したいのですがヒントをいただけないでしょうか。
下に例を作ってみました。(テキストに貼りなおしてもらうと見易くなると思います)
<Aテーブル>
A1A2A3A4A5
------- ------- ------- ------- ----------
XXXXXXX XX1ABC32009/05/08
WWCWWCW WW2CCB12008/03/21
DDDDDDD DD1JPN52007/08/08
GGGGGGG GX9SOX21977/01/04
FFFFFFF USJNPB32001/09/11


<Bテーブル>
B1B2B3B4B5
------- ------- ------- ------- ----------
XXXXXXX XX1ibichaoshimu2002/07/05
XXXXXXX XX1takeshiokada2005/07/15
XXXXXXX XX1kamoshu1857/09/25
WWCWWCW WW2waowao2008/10/22
DDDDDDD DD1uihhh2006/06/30
DDDDDDD DD1jojoj x5xx1999/09/09
DDDDDDD DD1momohara2005/03/07
DDDDDDD DD1itaiu-2003/12/22
DDDDDDD DD1komanogoal2007/04/26
GGGGGGG GX9 damerecord2009/11/14
FFFFFFF USJ ikitai1995/08/15
FFFFFFF USJ sstebuspi2004/01/05
FFFFFFF USJ bbpp2009/08/23

A1とB1は主キー、A2とB2は副キーです。
Aテーブルの「A4」カラムにはBテーブルのレコード数を持っています。(主キー、副キーが同じものの)
しかし、よくよく見るとAテーブルの「GGGGGGG」のA4には「2」のはずなのにBテーブルには実際にレコードは1つしかありません。
こういう状態になってしまっているのを割り出したいのですがどのようにA4とBテーブルで数があってないものを抽出できるでしょうか。
よろしくお願いいたします。

SQLで違うテーブルの値を比較して値に差があるレコードを抽出したいのですがヒントをいただけないでしょうか。
下に例を作ってみました。(テキストに貼りなおしてもらうと見易くなると思います)
<Aテーブル>
A1A2A3A4A5
------- ------- ------- ------- ----------
XXXXXXX XX1ABC32009/05/08
WWCWWCW WW2CCB12008/03/21
DDDDDDD DD1JPN52007/08/08
GGGGGGG GX9SOX21977/01/04
FFFFFFF USJNPB32001/09/11


<Bテーブル>
B1B2B3B4B5
------- ------- ------- ------- ----------
XXXXXXX XX1ibichaoshimu200...続きを読む

Aベストアンサー

SELECT A.* FROM Aテーブル A
INNER JOIN
TABLE(SELECT B1,B2,COUNT(*) SU
FROM Bテーブル GROUP BY B1,B2) B
ON A.A1=B.B1 AND A.A2=B.B2
AND A.A4<>B.SU

または

WITH B(B1,B2,SU) AS
(SELECT B1,B2,COUNT(*) SU
FROM Bテーブル GROUP BY B1,B2)
SELECT A.* FROM Aテーブル A
INNER JOIN B ON A.A1=B.B1
AND A.A2=B.B2 AND A.A4<>B.SU

こんなのでどうでしょうか?
後者の方が標準的(他のDBシステムでも
使える可能性が高い)かと思います。


人気Q&Aランキング

おすすめ情報