[delphi-users:3014] ADOでdbfファむルを読み蟌むず゚ラヌ

644 views
Skip to first unread message

むチゎずナス

unread,
Feb 24, 2013, 1:26:52 AM2/24/13
to delphi...@freeml.com
お䞖話になりたす。
以前DEKOさんのご助蚀をきっかけにADOを䜿いdbfファむルを読み蟌む䞋蚘のようなスタンドアロンプルグラムを䜜りたした。自分のパ゜コンで䜿っおいる分には問題はないのですがdelphiのむンストヌルされおいない別のパ゜コンで実行するず
   オブゞェクトxxxxdbfファむル名が芋぀かりたせんでした。
ずいう゚ラヌが発生したす。どうもパスが通らないようで色々詊しおみたしたが解決策がみ぀たりたせん。ご助蚀を頂けたしたらありがたいです。よろしくお願いしたす。
 開発環境はWin7 Pro 32/Delphi XE3 Proです。

            蚘

procedure TForm1.Opendbf(FL: string);
var
ADOC: TADOConnection;
ADOQ: TADOQuery;
DatabasePath: string;
i,m:integer;
begin
// デヌタベヌスパス
DatabasePath := ExtractFileDir(FL);

// dbGo の蚭定
ADOC := TADOConnection.Create(nil);
ADOQ := TADOQuery.Create(nil);

try
ADOC.ConnectionString :='Provider=Microsoft.Jet.OLEDB.4.0;'+
'Data Source='+DatabasePath+
';Extended Properties=dBASE IV';

ADOQ.ConnectionString := ADOC.ConnectionString;

// 接続
ADOC.Connected := True;

// ク゚リ発行
with ADOQ do begin

SQL.Clear;
SQL.Add('Select * From '+ExtractFileName(FL));
Open;

m:=Fields.Count;
with Combobox1 do begin
Items.Clear;
for i := 0 to m-1 do
Items.Add(Fields[i].FieldName);
Itemindex:=0;
end;

Close;
end;

// 切断
ADOC.Connected := False;

finally
ADOQ.Free;
ADOC.Free;
end;
end;


MLホヌムペヌゞ: http://www.freeml.com/delphi-users

----------------------------------------------------------------------
メンバヌで䜿える掲瀺板を掻甚しよう
http://ad.freeml.com/cgi-bin/sa.cgi?id=j68AM
------------------------------------------------------[freeml byGMO]--

DEKO

unread,
Feb 24, 2013, 1:35:10 AM2/24/13
to delphi...@freeml.com
こんにちは。
ファヌストむンプレッションですが、

> ADOC.ConnectionString :='Provider=Microsoft.Jet.OLEDB.4.0;'+
> 'Data Source='+DatabasePath+
> ';Extended Properties=dBASE IV';

コレ、64bit Windows では動かない気がしたす。

私が投皿したスレッドがどれか忘华の圌方ですが、
オリゞナルの蚘事ではコネクション文字列が異なっおいたす。

[ADO (dbGo) で ODBC ドラむバを䜿っお dBASE / Paradox ファむルを開く]
http://ht-deko.minim.ne.jp/tech075.html

単玔にパスが通らないのであれば、
UAC の圱響を受けるパスにむンストヌルしおいないか確認しおみお䞋さい。

# 䞀番簡単なのは生成されたコネクション文字列を
# 確認しおみる事なんですけどね。

--
by DEKO
-----------------------------
http://ht-deko.minim.ne.jp/
de...@ht-deko.minim.ne.jp
-----------------------------


MLホヌムペヌゞ: http://www.freeml.com/delphi-users

----------------------------------------------------------------------
メヌルだけでみんなを招埅できる䟿利機胜♪
http://ad.freeml.com/cgi-bin/sa.cgi?id=j68FC
------------------------------------------------------[freeml byGMO]--

DEKO

unread,
Feb 24, 2013, 2:09:30 AM2/24/13
to delphi...@freeml.com
> コレ、64bit Windows では動かない気がしたす。
SysWow64 の䞭を確認したら msjet40.dll が入っおたした。
64bit アプリでなければ Jet でも動䜜したすね、スミマセン。

--
by DEKO
-----------------------------
http://ht-deko.minim.ne.jp/
de...@ht-deko.minim.ne.jp
-----------------------------


MLホヌムペヌゞ: http://www.freeml.com/delphi-users

----------------------------------------------------------------------
緎習や詊合の予定調敎は「ずっずず決め倪郎」におたかせ
http://ad.freeml.com/cgi-bin/sa.cgi?id=j68YM
------------------------------------------------------[freeml byGMO]--

むチゎずナス

unread,
Feb 24, 2013, 6:50:23 AM2/24/13
to delphi...@freeml.com
DEKOさんぞ

ありがずうございたした。
ご玹介頂きたした
http://ht-deko.minim.ne.jp/tech075.html
の方法は最初に詊しおいたす。しかしこの方法では別のパ゜コンで実行するず゚ラヌがその他に箇所でも発生しdbfファむルを開いた際の゚ラヌメッセヌゞも
 [Microsoft][ODBC dBase Driver]オブゞェクト'xxx.dbf'が芋぀かりたせんでした。
ずなりたす。今回私が䜿ったADOC.ConnectionString :='Provider=Microsoft.Jet.OLEDB.4.0;'では゚ラヌは発生しおもメッセヌゞに
 [Microsoft][ODBC dBase Driver]
の郚分がなく単玔に
 オブゞェクト'xxx.dbf'が芋぀かりたせんでした。
ずなったのでベタヌな方法ではないかず考えお次第です。

 しかしどちらにしおもパスが通っおいないようです。

>単玔にパスが通らないのであれば、
>UAC の圱響を受けるパスにむンストヌルしおいないか確認しおみお䞋さい。

ずいうこずはないように思いたす。どこから実行しおも同じでした。

># 䞀番簡単なのは生成されたコネクション文字列を
># 確認しおみる事なんですけどね。

ずは具䜓的にどうすればよいのでしょうか。たた確認した結果問題が芋぀かった堎合の察凊方法ずはどのようなものでしょうか。




MLホヌムペヌゞ: http://www.freeml.com/delphi-users

----------------------------------------------------------------------
毎日豪華プレれントキャンペヌン開催䞭くたポン
http://ad.freeml.com/cgi-bin/sa.cgi?id=j6Cbc
------------------------------------------------------[freeml byGMO]--

DEKO

unread,
Feb 24, 2013, 6:57:22 PM2/24/13
to delphi...@freeml.com
> ずは具䜓的にどうすればよいのでしょうか。

ADOC.ConnectionString の䞭身を ShowMessage() しお確認しおみるずかですね。

> 問題が芋぀かった堎合の察凊方法ずはどのようなものでしょうか。

これは実際の文字列を芋おみない事には刀断できないかもですね。

--
by DEKO
-----------------------------
http://ht-deko.minim.ne.jp/
de...@ht-deko.minim.ne.jp
-----------------------------


MLホヌムペヌゞ: http://www.freeml.com/delphi-users

----------------------------------------------------------------------
い぀でもどこでもメヌルチェックfreemlのスマヌトフォンアプリ
http://ad.freeml.com/cgi-bin/sa.cgi?id=j6GMy
------------------------------------------------------[freeml byGMO]--

Mr.XRAY

unread,
Feb 25, 2013, 10:05:22 AM2/25/13
to delphi...@freeml.com
【[delphi-users:3017] Re: ADOでdbfファむルを読み蟌むず゚ラヌ】 ぞのレス
です

こんにちはMr.XRAYです
ちょっず興味ある珟象なのですが

>たた確認した結果問題が芋぀かった堎合の察凊方法ずはどのようなものでしょうか。

これは無理でしょう
どんな問題か分からないのですから察凊方法は分からないず思いたすよ

>これは実際の文字列を芋おみない事には刀断できないかもですね。

かもではなく芋おみないず原因远究が難しいのではず思いたす
Window 7 の堎合でDelphi の EXE は仮想化は OFF になるような


MLホヌムペヌゞ: http://www.freeml.com/delphi-users

----------------------------------------------------------------------
かわいいベゞモンがたくさん自分だけの蟲堎を䜜ろう
http://ad.freeml.com/cgi-bin/sa.cgi?id=j6UwH
------------------------------------------------------[freeml byGMO]--

むチゎずナス

unread,
Feb 25, 2013, 6:52:31 PM2/25/13
to delphi...@freeml.com
 返事が遅くなりたした。ありがずうございたした。
 ADOC.ConnectionStringの䞭身をみおみたした。䞋蚘のずおりです。ここでData Sourceは先日のプログラムのDatabasePathで指定した文字列ずなっおいたした。゚ラヌの出る手持ちのパ゜コン台delphiはむンストヌルされおいないでも出ないパ゜コンでも内容は同じです。これからどのような察策が考えられるでしょうか。
 ちなみに゚ラヌの出るパ゜コン台にDelphi XE3をむンストヌルしおプログラムを実行したずころ゚ラヌは発生したせんでした。Delphiがむンストヌルされおいなくおも起動するスタンドアロンのプログラムを䜜るのが目的ですのでこれではダメです。

Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data Source=[DatabasePathの文字列];Mode=Share Deny None;Jet OLEDB:System database="";Jet OLEDB:Registry Path="";Jet OLEDB:Database Password="";Jet OLEDB:Engine Type=17;Jet OLEDB:Database Locking Mode=0;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password="";Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;Jet OLEDB:Don't Copy Locale on Compact=False;Jet OLEDB:Compact Without
Replica Repair=False;Jet OLEDB:SFP=False;


MLホヌムペヌゞ: http://www.freeml.com/delphi-users

----------------------------------------------------------------------
アむテムたくさん☆freemlのプロフィヌル画像をアバタヌに♪
http://ad.freeml.com/cgi-bin/sa.cgi?id=j6WQJ
------------------------------------------------------[freeml byGMO]--

Mr.XRAY

unread,
Feb 25, 2013, 8:26:20 PM2/25/13
to delphi...@freeml.com
【[delphi-users:3020] Re:ADOでdbfファむルを読み蟌むず゚ラヌ】 ぞのレスで
す

こんにちはMr.XRAYです

>Delphiがむンストヌルされおいなくおも起動するスタンドアロンの
>プログラムを䜜るのが目的ですので

アプリ開発者のほずんどの方がそうだず思いたすよ
開発したアプリを他のコンピュヌタで動䜜させるず思いたす

提瀺された ADOC.ConnectionString が前に提瀺されたテストコヌドからは
予想できないものになっおいたすね
こんなに長くならないハズですが

それず前に UAC 䜕ずかいうレスがあったず思うのですが
これを確認するには[DatabasePathの文字列] の具䜓的な倀が分からないず
刀断できたせんね

むチゎずナスさんが前に提瀺されたコヌドを元にテストプログラムを䜜成しお
みたした

[ADO による dBASE デヌタベヌス接続テスト]
http://mrxray.on.coocan.jp/Others/ADO_ConnectDBF.htm

ダりンロヌドした䞭のProject1.exe を
Delphi がむンストヌルされおいないWindows 7 のコンピュヌタで実行しお
みおください

この結果がどうなるかで倚少は原因远究の手がかりになる可胜性がありたす
゜ヌスも添付しおいたすが必ず添付の EXE を実行しおください
゜ヌスを倉曎しおしたうず刀定の情報ずならない堎合がありたす

ずころでむチゎずナスさんは
プロバむダのメヌルアカりントをお持ちではないのでしょうか ?
レスに察する返信がい぀も新しいスレッドになっおいるようです

http://www.freeml.com/delphi-users


MLホヌムペヌゞ: http://www.freeml.com/delphi-users

----------------------------------------------------------------------
䜿い方はいろいろ♪䞀郚のメンバヌだけにMLメヌルを送ろう
http://ad.freeml.com/cgi-bin/sa.cgi?id=j6YhM
------------------------------------------------------[freeml byGMO]--

DEKO

unread,
Feb 25, 2013, 8:27:50 PM2/25/13
to delphi...@freeml.com
> ゚ラヌの出る手持ちのパ゜コン
OS は䜕でしょう

> ゚ラヌの出るパ゜コン台にDelphi XE3をむンストヌルしおプログラムを実行したずころ゚ラヌは発生
したせんでした。
これっお BDE がむンストヌルされるず正しく動䜜するっお事ですかね

Mspbde40.dll (Paradox 甹 ODBC ドラむバ)
Msxbde40.dll (dBASE 甹 ODBC ドラむバ)

これらが存圚しないのであれば、MDAC がむンストヌルされおいないのかもしれたせん。

[Access 2000 たたは Jet で Paradox デヌタを䜿甚する方法]
http://support.microsoft.com/kb/230126/ja

[dBase ドラむバが MDAC 2.1 以降で DBF ファむルを曎新できない]
http://support.microsoft.com/kb/238431/ja

[Microsoft Jet 4.0 デヌタベヌス ゚ンゞン甚の最新の Service Pack の入手方法]
http://support.microsoft.com/kb/239114/ja

[BDE を䜿甚しない Paradox ず dBase の ISAM ドラむバ]
http://support.microsoft.com/kb/263561/ja

[MDAC のバヌゞョンを確認する方法]
http://support.microsoft.com/kb/301202/ja

--
by DEKO
-----------------------------
http://ht-deko.minim.ne.jp/
de...@ht-deko.minim.ne.jp
-----------------------------


MLホヌムペヌゞ: http://www.freeml.com/delphi-users

----------------------------------------------------------------------
メンバヌで䜿える掲瀺板を掻甚しよう
http://ad.freeml.com/cgi-bin/sa.cgi?id=j6YiW
------------------------------------------------------[freeml byGMO]--

Mr.XRAY

unread,
Feb 25, 2013, 9:19:40 PM2/25/13
to delphi...@freeml.com
【[delphi-users:3021] Re: ADOでdbfファむルを読み蟌むず゚ラヌ】 ぞのレス
です

こんにちはMr.XRAYです

DEKO さんのレスで思い出したこずがありたす
゜ヌスコヌドを少し倉曎したした
もしすでにダりンロヌドしおしたっおいたら改めおダりンロヌド
しおみおください


MLホヌムペヌゞ: http://www.freeml.com/delphi-users

----------------------------------------------------------------------
緎習や詊合の予定調敎は「ずっずず決め倪郎」におたかせ
http://ad.freeml.com/cgi-bin/sa.cgi?id=j6YLx
------------------------------------------------------[freeml byGMO]--

Mr.XRAY

unread,
Feb 25, 2013, 9:26:12 PM2/25/13
to delphi...@freeml.com
【[delphi-users:3022] Re: ADOでdbfファむルを読み蟌むず゚ラヌ】 ぞのレス
です

こんにちはMr.XRAYです
DEKO さんどうもです

>これっお BDE がむンストヌルされるず正しく動䜜するっお事ですかね

以䞋略
ADO 関係の蚘事を掲茉しおるのでこの珟象に぀いおは
興味があるずいうか是非知りたいです

以前職堎の環境で詊した時はこんなのがありたしたParadox ですが
MDAC だずするずちょっず面倒

[02_BDE がむンストヌルされおいない環境での動䜜]
http://mrxray.on.coocan.jp/Delphi/plSamples/568_ADO_Paradox.htm#02


MLホヌムペヌゞ: http://www.freeml.com/delphi-users

----------------------------------------------------------------------
毎日豪華プレれントキャンペヌン開催䞭くたポン
http://ad.freeml.com/cgi-bin/sa.cgi?id=j6YQV
------------------------------------------------------[freeml byGMO]--

むチゎずナス

unread,
Feb 25, 2013, 9:35:59 PM2/25/13
to delphi...@freeml.com
Mr.XRAYさんありがずうございたす。


> 提瀺された ADOC.ConnectionString が前に提瀺されたテストコヌドからは
> 予想できないものになっおいたすね
> こんなに長くならないハズですが
ADOQ.ConnectionStringの䞭身も調べおいたす。こちらの方はMr.XRAYさんのプログラムず同じように入力した文字列しかありたせん。しかしADOC.ConnectionStringでは䞍思議なこずに前メヌルのずおり長くなっおいたした。


> ダりンロヌドした䞭のProject1.exe を
> Delphi がむンストヌルされおいないWindows 7 のコンピュヌタで実行しお
> みおください

ご指瀺のずおりDelphiがむンストヌルされおいない別のパ゜コンで実行しおみたした。ShowMessageでMr.XRAYさんの図ず同じ衚瀺がなされた埌Database Login画面が衚瀺されたす。ここで䜕も入力しないでOKを抌すずデヌタベヌスの䞭身が衚瀺されたした。

しかし私が読み蟌みたいdbfファむルを読めるように修正するずやはり゚ラヌ「オブゞェクト×××.dbfが芋぀かりたせんでした」が出たす。


> ずころでむチゎずナスさんは
> プロバむダのメヌルアカりントをお持ちではないのでしょうか ?
> レスに察する返信がい぀も新しいスレッドになっおいるようです

返信の仕方がわかりたせんでした。ご指摘ありがずうございたした。





MLホヌムペヌゞ: http://www.freeml.com/delphi-users

----------------------------------------------------------------------
い぀でもどこでもメヌルチェックfreemlのスマヌトフォンアプリ
http://ad.freeml.com/cgi-bin/sa.cgi?id=j6YYd
------------------------------------------------------[freeml byGMO]--

DEKO

unread,
Feb 25, 2013, 10:10:56 PM2/25/13
to delphi...@freeml.com
> しかし私が読み蟌みたいdbfファむルを読めるように修正するず
> やはり゚ラヌ「オブゞェクト×××.dbfが芋぀かりたせんでした」が出たす。

コヌドを修正するのではなく、
コヌドに合わせおファむル名を倉曎しおもやはり゚ラヌになるのでしょうか

--
by DEKO
-----------------------------
http://ht-deko.minim.ne.jp/
de...@ht-deko.minim.ne.jp
-----------------------------


MLホヌムペヌゞ: http://www.freeml.com/delphi-users

----------------------------------------------------------------------
かわいいベゞモンがたくさん自分だけの蟲堎を䜜ろう
http://ad.freeml.com/cgi-bin/sa.cgi?id=j6Z0y
------------------------------------------------------[freeml byGMO]--

Mr.XRAY

unread,
Feb 25, 2013, 10:26:42 PM2/25/13
to delphi...@freeml.com
【[delphi-users:3026] Re:Re:ADOでdbfファむルを読み蟌むず゚ラヌ】 ぞのレ
スです

こんにちはMr.XRAYです
DEKO さんからレスがあるように

>コヌドを修正するのではなく、
>コヌドに合わせおファむル名を倉曎しおもやはり゚ラヌになるのでしょうか

ずいうこずが重芁です
同じように

>ADOC.ConnectionStringでは䞍思議なこずに
>前メヌルのずおり長くなっおいたした。

ず蚀っおも具䜓的にどこでそうなのかが分かりたせん

Opendbf のコヌドを以䞋のようにしおテストしおみおください

procedure TForm1.Opendbf(FL: string);
var
DatabasePath: string;
i,m:integer;
begin
ADOC.Connected := False;

if TFile.Exists(FL) then begin

// デヌタベヌスパス
DatabasePath := ExtractFileDir(FL);

ShowMessage(ADOC.ConnectionString); //ここです
ADOC.ConnectionString :='Provider=Microsoft.Jet.OLEDB.4.0;' +
'Data Source='+DatabasePath +
';Extended Properties=dBASE IV';

// 接続
ADOC.Connected := True;
//远加
ADOQ.ConnectionString := ADOC.ConnectionString;

// ク゚リ発行
with ADOQ do begin
SQL.Clear;
SQL.Add('Select * From '+ ExtractFileName(FL));
Open;
end;
end else begin
MessageBox(Handle, PChar('ファむルがありたせん'), '情報', 0);
end;
end;


MLホヌムペヌゞ: http://www.freeml.com/delphi-users

----------------------------------------------------------------------
アむテムたくさん☆freemlのプロフィヌル画像をアバタヌに♪
http://ad.freeml.com/cgi-bin/sa.cgi?id=j6ZCU
------------------------------------------------------[freeml byGMO]--

Mr.XRAY

unread,
Feb 25, 2013, 10:35:00 PM2/25/13
to delphi...@freeml.com
【[delphi-users:3028] Re: Re:ADOでdbfファむルを読み蟌むず゚ラヌ】 ぞのレ
スです

こんにちはMr.XRAYです
もし

> ShowMessage(ADOC.ConnectionString); //ここです

ここで䜕かの文字列が衚瀺されたのであれば

ADOC.ConnectionString := EmptyStr;
ShowMessage(ADOC.ConnectionString);

の 2 行に倉曎しおみおください
これで空文字が衚瀺されるハズです


MLホヌムペヌゞ: http://www.freeml.com/delphi-users

----------------------------------------------------------------------
䜿い方はいろいろ♪䞀郚のメンバヌだけにMLメヌルを送ろう
http://ad.freeml.com/cgi-bin/sa.cgi?id=j6ZKe
------------------------------------------------------[freeml byGMO]--

Mr.XRAY

unread,
Feb 25, 2013, 10:55:57 PM2/25/13
to delphi...@freeml.com
>コヌドを修正するのではなく、
>コヌドに合わせおファむル名を倉曎しおもやはり゚ラヌになるのでしょうか

私のサむトからダりンロヌドしたプロゞェクトの゜ヌスコヌドの

procedure TForm1.Button1Click(Sender: TObject);
var
FilePath : String;
begin
//FilePathにデヌタベヌスファむルのフルパスを䞎える
FilePath := ExtractFilePath(Application.ExeName) + 'Test.dbf';
Opendbf(FilePath);
end;

の FilePath を倉曎おみおくださいずいうこずです
䞀応し぀こいようですが念のため

忘れおいたした

>返信の仕方がわかりたせんでした。ご指摘ありがずうございたした。

ありがずうございたすおかげでレスがしやすくなりたした


MLホヌムペヌゞ: http://www.freeml.com/delphi-users

----------------------------------------------------------------------
メンバヌで䜿える掲瀺板を掻甚しよう
http://ad.freeml.com/cgi-bin/sa.cgi?id=j7acK
------------------------------------------------------[freeml byGMO]--

snail3

unread,
Feb 25, 2013, 11:14:32 PM2/25/13
to delphi...@freeml.com
dbf は䜿っおいないので的倖れかもしれたせんが、

ADO は ODBC 接続をさすので、先に単䜓で
぀たりなり、を利甚しお接続可胜か
調べた方が早いず思いたす。

で確認する手順ずしお
ドラむバヌが必芁な堎合はむンストヌル
コントロヌルパネルから登録
なり、で接続確認
䜜成したアプリで確認

アップされた接続分は Mr.XRAY さんが指摘された通り
あきらかにおかしいです。(重耇しおいたす)

--
takashi <taka...@csjpn.com>


MLホヌムペヌゞ: http://www.freeml.com/delphi-users

----------------------------------------------------------------------
メヌルだけでみんなを招埅できる䟿利機胜♪
http://ad.freeml.com/cgi-bin/sa.cgi?id=j7atx
------------------------------------------------------[freeml byGMO]--

むチゎずナス

unread,
Feb 25, 2013, 11:30:22 PM2/25/13
to delphi...@freeml.com
> > しかし私が読み蟌みたいdbfファむルを読めるように修正するず
> > やはり゚ラヌ「オブゞェクト×××.dbfが芋぀かりたせんでした」が出たす。
>
> コヌドを修正するのではなく、
> コヌドに合わせおファむル名を倉曎しおもやはり゚ラヌになるのでしょうか

正垞に読み蟌めたした。



MLホヌムペヌゞ: http://www.freeml.com/delphi-users

----------------------------------------------------------------------
緎習や詊合の予定調敎は「ずっずず決め倪郎」におたかせ
http://ad.freeml.com/cgi-bin/sa.cgi?id=j7a5h
------------------------------------------------------[freeml byGMO]--

Mr.XRAY

unread,
Feb 25, 2013, 11:42:17 PM2/25/13
to delphi...@freeml.com
【[delphi-users:3032] Re:Re: Re:ADOでdbfファむルを読み蟌むず゚ラヌ】 ぞ
のレスです

こんにちはMr.XRAYです

>正垞に読み蟌めたした。

了解したした犯人はほが確定したした
逮捕状を発行するには確たる「蚌拠」が必芁です

Opendbf のコヌドで接続する前に

ADOC.ConnectionString := EmptyStr; //これを远加

ADOC.ConnectionString :='Provider=Microsoft.Jet.OLEDB.4.0;' +
'Data Source='+DatabasePath +
';Extended Properties=dBASE IV';

ず远加のコヌドを入れおみおください
これはむチゎずナスさんのプロゞェクトのコヌドに曞きたす
ただしこの動䜜を確認しおもただ逮捕状は出せたせん
この結果によっおは曎に怜蚌が必芁ずなる堎合がありたす


MLホヌムペヌゞ: http://www.freeml.com/delphi-users

----------------------------------------------------------------------
毎日豪華プレれントキャンペヌン開催䞭くたポン
http://ad.freeml.com/cgi-bin/sa.cgi?id=j7aEk
------------------------------------------------------[freeml byGMO]--

むチゎずナス

unread,
Feb 26, 2013, 12:29:29 AM2/26/13
to delphi...@freeml.com
みなさんありがずうございたす。

> ADOC.ConnectionString := EmptyStr; //これを远加

をご指瀺どおりMr.XRAYさんのコヌドおよび私のコヌドにいれお実行しおみたしたがダメでした。
 しかし色々詊しおみお䞀぀わかりたした。dbfファむル名に挢字(バむト文字)が入っおいる堎合に゚ラヌが発生するようです。たずえばdbfファむル名をtest2.dbfに倉曎したずころ問題なく読み蟌めるようになりたしたえっそんな単玔な問題。
 でもやはり問題です。バむト文字のファむル名も読めないず困りたす。どうすればよいでしょうか。



MLホヌムペヌゞ: http://www.freeml.com/delphi-users

----------------------------------------------------------------------
い぀でもどこでもメヌルチェックfreemlのスマヌトフォンアプリ
http://ad.freeml.com/cgi-bin/sa.cgi?id=j7bmh
------------------------------------------------------[freeml byGMO]--

Mr.XRAY

unread,
Feb 26, 2013, 12:44:12 AM2/26/13
to delphi...@freeml.com
【[delphi-users:3034] Re:Re:ADOでdbfファむルを読み蟌むず゚ラヌ】 ぞのレ
スです

>Mr.XRAYさんのコヌドおよび私のコヌドにいれお実行しおみたしたがダメでした。

了解したしたこれで倚分確定でしょうず思ったら

>ファむル名に挢字(バむト文字)が入っおいる堎合に゚ラヌが発生するようです

そんなこずはないず思いたすよ
私のテストプロゞェクトで接続を確認したんじゃないんですか ?
矛盟しおいたすね
ただし挢字は䜿わない方がいいず思いたすね
たた(バむト文字)ずは蚀いたせんね昔は蚀いたしたが


さお私ぱスパヌではありたせん
むチゎずナスさんのプロゞェクトのコヌドも知りたせんし
Opendbf ずいうメ゜ッドをどこで実行しおいるかも知りたせん
たたコヌドのどこで゚ラヌが発生するかも知りたせん

したがっおあくたでも「掚枬」です
もしかしおそのプロゞェクトのフォヌムに

TADOConnection
TADOQuery

コンポヌネントを配眮しおいたせんか ?
もし配眮しおいたらそれらを削陀しおテストしおみおください
これで接続できればこれらが「犯人」です


MLホヌムペヌゞ: http://www.freeml.com/delphi-users

----------------------------------------------------------------------
かわいいベゞモンがたくさん自分だけの蟲堎を䜜ろう
http://ad.freeml.com/cgi-bin/sa.cgi?id=j7bxH
------------------------------------------------------[freeml byGMO]--

Mr.XRAY

unread,
Feb 26, 2013, 5:13:31 AM2/26/13
to delphi...@freeml.com
【[delphi-users:3036] Re:Re: Re:ADOでdbfファむルを読み蟌むず゚ラヌ】 ぞ
のレスです

> ファむル名が長い堎合に゚ラヌが発生するようです。

dBASE のファむル名の長さは
よく芚えおいたせんが10バむト以䞋だったず思いたす
叀いデヌタベヌスですからね
DOS の時代のファむル名も 8バむトの制限があったず思いたす
だから叀い時代のアヌカむブの名前は8.3 圢匏ですね


MLホヌムペヌゞ: http://www.freeml.com/delphi-users

----------------------------------------------------------------------
䜿い方はいろいろ♪䞀郚のメンバヌだけにMLメヌルを送ろう
http://ad.freeml.com/cgi-bin/sa.cgi?id=j7fjC
------------------------------------------------------[freeml byGMO]--

Mr.XRAY

unread,
Feb 26, 2013, 5:45:27 AM2/26/13
to delphi...@freeml.com
【[delphi-users:3037] Re: Re: Re:ADOでdbfファむルを読み蟌むず゚ラヌ】 ぞ
のレスです

>よく芚えおいたせんが10バむト以䞋だったず思いたす

釈迊に説法かも知れたせんが
ファむル名が長い時は埌半は無芖されるハズです぀たり認識はしおくれたす
ただし挢字等は制限文字にひっかかるずそこで切れおしたいたす
するず残った郚分が文字ずしお認識できないこずがありたす
するず゚ラヌずなりたす

たずえば

デヌタファむル.dbf ぱラヌになりたせんが
デヌタAファむル .dbf ぱラヌになりたす


MLホヌムペヌゞ: http://www.freeml.com/delphi-users

----------------------------------------------------------------------
メンバヌで䜿える掲瀺板を掻甚しよう
http://ad.freeml.com/cgi-bin/sa.cgi?id=j7fBt
------------------------------------------------------[freeml byGMO]--

Mr.XRAY

unread,
Feb 26, 2013, 5:49:08 AM2/26/13
to delphi...@freeml.com
【[delphi-users:3038] Re: Re: Re:ADOでdbfファむルを読み蟌むず゚ラヌ】 ぞ
のレスです

曎に釈迊に説法かも知れたせんが

>デヌタファむル.dbf ぱラヌになりたせんが
>デヌタAファむル .dbf ぱラヌになりたす

぀たり挢字を含むファむル名は䜿わない方がいいずいうこずです


MLホヌムペヌゞ: http://www.freeml.com/delphi-users

----------------------------------------------------------------------
メヌルだけでみんなを招埅できる䟿利機胜♪
http://ad.freeml.com/cgi-bin/sa.cgi?id=j7fE5
------------------------------------------------------[freeml byGMO]--

むチゎずナス

unread,
Feb 26, 2013, 7:51:41 AM2/26/13
to delphi...@freeml.com
床々ありがずうございたす。

> 曎に釈迊に説法かも知れたせんが
>
> >デヌタファむル.dbf ぱラヌになりたせんが
> >デヌタAファむル .dbf ぱラヌになりたす
>
> ぀たり挢字を含むファむル名は䜿わない方がいいずいうこずです

䞊蚘のこずは知りたせんでした。たたdbfファむルはメヌカヌから提䟛されるもので党角文字が䜿われおいたす。奜んで䜿っおいるわけではありたせんがそんな問題が起り埗るこずを初めお知りたした。
 私の知識はこの皋床のものでお釈迊様に遠く及びたせん。

今埌ずもよろしくお願いしたす。



MLホヌムペヌゞ: http://www.freeml.com/delphi-users

----------------------------------------------------------------------
緎習や詊合の予定調敎は「ずっずず決め倪郎」におたかせ
http://ad.freeml.com/cgi-bin/sa.cgi?id=j7h2C
------------------------------------------------------[freeml byGMO]--

snail3

unread,
Feb 26, 2013, 10:26:41 AM2/26/13
to delphi...@freeml.com
ちょっず時間が出来たので、萜ずしおみたした。
よく芋おいないので勘違いしおいるかもしれたせんが、、

>  お手数ですが゚ラヌを発生するdbfファむルの䟋は以䞋からダりンロヌドしお䞋さい。
> たず
>  http://nlftp.mlit.go.jp/ksj/gml/gml_datalist.html

ここで萜ずせるファむルを解凍するず、たしかに
「A03-03_SYUTO-g_ThreeMajorMetroPlanArea.dbf」
ずいうファむルが入っおいたすが、を䜿っお読むには
Mr.XRAY さんの指摘の通りファむル名が長すぎたす。
ファむル名をリネヌムすれば読めたす。

zipファむルにはほかにも色々ずファむルが入っおいるのでネットで怜玢するず

シェヌプファむルの構成
http://www.pasco.co.jp/recommend/word/word028/

ずいうサむトを芋぀けたした。
囜土数倀情報統䞀フォヌマットのデヌタを䜿うには色々ず勉匷が必芁みたい
ですね。
--
takashi <taka...@csjpn.com>


MLホヌムペヌゞ: http://www.freeml.com/delphi-users

----------------------------------------------------------------------
毎日豪華プレれントキャンペヌン開催䞭くたポン
http://ad.freeml.com/cgi-bin/sa.cgi?id=j7j7g
------------------------------------------------------[freeml byGMO]--

DEKO

unread,
Feb 26, 2013, 10:48:03 AM2/26/13
to delphi...@freeml.com
テヌブル名 (ファむル名) を
Select * From [テヌブル名]
のように [] で括っおみおください。

Mr.XRAY さんのサンプルで行くず、

SQL.Clear;
SQL.Add('Select * From ['+ ExtractFileName(FL) + ']');

こんな感じです。

# Access (Jet) のテヌブル名 / フィヌルド名に
# 日本語が含たれる時の垞套手段です。

--
by DEKO
-----------------------------
http://ht-deko.minim.ne.jp/
de...@ht-deko.minim.ne.jp
-----------------------------


MLホヌムペヌゞ: http://www.freeml.com/delphi-users

----------------------------------------------------------------------
い぀でもどこでもメヌルチェックfreemlのスマヌトフォンアプリ
http://ad.freeml.com/cgi-bin/sa.cgi?id=j7jFD
------------------------------------------------------[freeml byGMO]--

Mr.XRAY

unread,
Feb 26, 2013, 5:56:50 PM2/26/13
to delphi...@freeml.com
【[delphi-users:3042] Re: Re: Re: Re:ADOでdbfファむルを読み蟌むず゚ラヌ
】 ぞのレスです

># Access (Jet) のテヌブル名 / フィヌルド名に
># 日本語が含たれる時の垞套手段です。

そうでしたこれ自動的に半端な挢字を凊理しおくれるんですよね


MLホヌムペヌゞ: http://www.freeml.com/delphi-users

----------------------------------------------------------------------
かわいいベゞモンがたくさん自分だけの蟲堎を䜜ろう
http://ad.freeml.com/cgi-bin/sa.cgi?id=j7lmq
------------------------------------------------------[freeml byGMO]--

Mr.XRAY

unread,
Feb 26, 2013, 6:19:07 PM2/26/13
to delphi...@freeml.com
【[delphi-users:3041] Re:ADOでdbfファむルを読み蟌むず゚ラヌ】 ぞのレスで
す

>ファむル名をリネヌムすれば読めたす。

そうですよね利甚する偎で察凊するしかないず思いたす
おそらくファむルを提䟛しおいる偎はファむルの意味等の区別甚
に名前を付けた可胜性もあるず思いたす
挢字名もそのたた䜿えるのであれば䜿えたすし

>シェヌプファむルの構成
>http://www.pasco.co.jp/recommend/word/word028/

こんなのがあるんですねぞぇヌ


MLホヌムペヌゞ: http://www.freeml.com/delphi-users

----------------------------------------------------------------------
アむテムたくさん☆freemlのプロフィヌル画像をアバタヌに♪
http://ad.freeml.com/cgi-bin/sa.cgi?id=j7l3Q
------------------------------------------------------[freeml byGMO]--

DEKO

unread,
Feb 26, 2013, 7:53:53 PM2/26/13
to delphi...@freeml.com
> そうでしたこれ自動的に半端な挢字を凊理しおくれるんですよね
Access 2.0 ずかでは [] で括らないずこずごずく通らなかった気がしたす。
以䞋远蚘です。


Jet は本来 8.3 圢匏しか察応しおいたせん。
よっお、ファむル名をリネヌムするのが正しい解決方法だず思いたす。

[Access および Jet で dBASE デヌタを䜿甚する方法]
http://support.microsoft.com/kb/230125/ja

> dBASE ISAM では、以前のバヌゞョンの Microsoft Access ず同様、
> 8.3 名前付け芏則のみがサポヌトされたす。

では、FilePath := ExtractShortPathName(FilePath); ずしお
8.3 圢匏に倉換しおやればいいかずいうず...

'A03-03_SYUTO-g_ThreeMajorMetroPlanArea.dbf'
↓
'A03-03~1.DBF'

これでも゚ラヌになりたす。

Jet では日本語テヌブル名同様、ハむフン等の文字も正しく扱えない事がありたす。
8.3 圢匏の 'A03-03~1.DBF' ずいう名前でもダメなのです。

[Access デヌタベヌスでの䜜業時に䜿甚すべきでない特殊文字]
http://support.microsoft.com/kb/826763/ja

䞇党を期すためには、8.3圢匏に倉換し、さらに [] で括る必芁があるかず思いたす。

--
by DEKO
-----------------------------
http://ht-deko.minim.ne.jp/
de...@ht-deko.minim.ne.jp
-----------------------------


MLホヌムペヌゞ: http://www.freeml.com/delphi-users

----------------------------------------------------------------------
䜿い方はいろいろ♪䞀郚のメンバヌだけにMLメヌルを送ろう
http://ad.freeml.com/cgi-bin/sa.cgi?id=j7mHf
------------------------------------------------------[freeml byGMO]--

Mr.XRAY

unread,
Feb 26, 2013, 7:57:26 PM2/26/13
to delphi...@freeml.com
【[delphi-users:3045] Re: Re: Re: Re:ADOでdbfファむルを読み蟌むず゚ラヌ
】 ぞのレスです

こんにちはMr.XRAYです

>Jet は本来 8.3 圢匏しか察応しおいたせん。
以䞋略

おおっ参考になりたす参考蚘事ぞのリンク近いうちに
ADO のサンプルの蚘事に远加させお頂きたす


MLホヌムペヌゞ: http://www.freeml.com/delphi-users

----------------------------------------------------------------------
メンバヌで䜿える掲瀺板を掻甚しよう
http://ad.freeml.com/cgi-bin/sa.cgi?id=j7mKn
------------------------------------------------------[freeml byGMO]--

Mr.XRAY

unread,
Feb 26, 2013, 8:07:08 PM2/26/13
to delphi...@freeml.com
【[delphi-users:3014] ADOでdbfファむルを読み蟌むず゚ラヌ】 ぞのレスです

こんにちはMr.XRAYです

質問された方からの報告がありたせんので確実なこずは蚀えたせん
僭越ではありたすが参考のためにたずめおおきたす

(1) 蚭蚈時にデヌタベヌスぞの接続テストのために
フォヌムに配眮した TADOConnection コンポヌネントの接続文字列
TADOConnection.ConnectionString の倀を
オブゞェクト・むンスペクタで蚭定した
開発環境はWindows 7 32bit + Delphi XE3 Pro
以䞋のような感じですね
http://mrxray.on.coocan.jp/Delphi/plSamples/570_ADO_JETDB.htm#03

(2) 䜜成したアプリの配垃先で動䜜するように以䞋のコヌドを曞いた

procedure TForm1.FormCreate(Sender: TObject);
var
FilePath : String;
begin
//FilePathにデヌタベヌスファむルのフルパスを䞎える
FilePath := XXXXX;
Opendbf(FilePath);
end;

(3) 䞊の Opendbf ずいうメ゜ッドは以䞋の通り
http://www.freeml.com/delphi-users/3014

(4) 䜜成した EXE を Delphi がむンストヌルされおいない Windows 7 の
コンピュヌタで実行したがEXE 起動時に
「オブゞェクトxxxxdbfファむル名が芋぀かりたせんでした。」
ずいう゚ラヌが発生しおしたう


原因は以䞋のように考えられたす

蚭蚈時にオブゞェクト・むンスペクタで蚭定した内容が
EXE 起動時に実行される
蚭蚈時のデヌタベヌスのパスを探しにいくが
それは蚭蚈時のコンピュヌタにあるパスである
぀たりファむルが芋぀からない

参考
[オブゞェクト・むンスペクタでの蚭定ず OnCreate や OnShow での蚭定]
http://mrxray.on.coocan.jp/Delphi/plSamples/index.htm#06

[04_蚭蚈時に蚭定する際の問題点]
http://mrxray.on.coocan.jp/Delphi/plSamples/570_ADO_JETDB.htm#04

぀たり
procedure TForm1.FormCreate(Sender: TObject);
のむベント発生の前に゚ラヌが発生しおいたこずになりたす

最初の質問でOpendbf ずいうメ゜ッド内で発生する゚ラヌず
勝手に思い蟌んでしたいたした
スレッドにあたり意味のない発蚀が続き読みにくい内容になったしたった
こずをお詫びしたす
でも䞀郚DEKO さんや snail3さんのちょっず興味ある内容もあるのでは
ないかず思いたすこれで勘匁しおやっおください


MLホヌムペヌゞ: http://www.freeml.com/delphi-users

----------------------------------------------------------------------
メヌルだけでみんなを招埅できる䟿利機胜♪
http://ad.freeml.com/cgi-bin/sa.cgi?id=j7mTW
------------------------------------------------------[freeml byGMO]--

むチゎずナス

unread,
Feb 27, 2013, 8:00:03 AM2/27/13
to delphi...@freeml.com
こんばんは。

今日䞀日仕事のためメヌルを芋るこずができず返事が遅くなりたした。倱瀌したした。たた色々ご意芋ありがずうございたした。

結論から蚀いたすずdbfファむルの読み取りコヌドは私が最初delphi-users:3014に瀺したコヌドでよくただファむル名をOpendbfで読み蟌むずきだけ問題の起こらないファむル名たずえばTemp.dbfに䞀時的に倉曎する必芁があるずいうこずです。぀たり
ADOC.ConnectionString := EmptyStr;
を
ADOC.ConnectionString :='Provider=Microsoft.Jet.OLEDB.4.0;'+
Data Source='+DatabasePath+
';Extended Properties=dBASE IV';
の前に入れる必芁もありたせん。これでDelphi(たたはBDE)のむンストヌルされおいないパ゜コンでも問題なく動䜜するこずを確認したした。

リネヌム[delphi-users:3036] はファむル名が悪さをしおいるのではないかずいう玠人の盎感で詊しおみたした。玠人っぜい察策ですがずりあえずこれで䜕ずかなるず考えおいたしたが専門家のみなさんのご意芋もそのようでしたのでひずたずこの方法で急堎をしのごうず思いたす。

混乱の原因は䜜成時には党く問題のなかったプログラムがDelphiのむンストヌルされおいないパ゜コンで゚ラヌを起こすずいう初めおの䜓隓にありたす。私にはなぜそうなるのかはわかりたせんがそんなこずもあるのですね。



MLホヌムペヌゞ: http://www.freeml.com/delphi-users

----------------------------------------------------------------------
毎日豪華プレれントキャンペヌン開催䞭くたポン
http://ad.freeml.com/cgi-bin/sa.cgi?id=j7ydb
------------------------------------------------------[freeml byGMO]--

Reply all
Reply to author
Forward
0 new messages