「リレーションAKB01は存在しません」を回避するには?

解決


桜坂  2016-03-01 01:14:24  No: 48025

DelphiXE7エンタープライズ、win7pro64bit、PostgreSQL9.5(64bit)という環境です。
フォームにはFDConnectioun1,FDTable1,DataSource1,DBGRID1を配置しました。
接続には32bitのDLLをPATH通し接続できました。

ところが、DBGRIDでデータを見ようと接続TRUEにすると
「リレーションAKB01は存在しません」
となります。
PostgreSQL(64bit)にはスキーマ、テーブルがありAKB01というテーブルは存在します。ただし32bitのPostgreSQLはDLLのため何もありません。
DelphiXE7は32bitPosgreSQLでしか動作しないのでしょうか。
教えて下さい。


通りすがり  2016-03-01 02:06:30  No: 48026

なんでもかんでも
> ...は...でしか動作しないのでしょうか。
という発想はどこから?という話は置いといて、大文字、小文字を間違えてませんか?


通りすがり  2016-03-01 02:08:06  No: 48027

テーブルはすべて小文字で作れということのようです…

参考URL:
http://d.hatena.ne.jp/BlackyMan/20091228/p1


桜坂  2016-03-01 02:15:20  No: 48028

通りすがりさん、ありがとうございます。
dllは見やすくするため大文字にしました。
誤解を受けたかもしれません。申し訳ございません。
dllなどは接続テストでは接続されます。
最後、データ表示するためtrueにするとエラーになります。


桜坂  2016-03-01 02:39:45  No: 48029

通りすがりさん、ありがとうございます。
テーブル名は小文字なのですね。
昔のくせで大文字で書いてしまいます。
データベース名やスキーマ名も定義するとき全て大文字で定義してしまいました。
明日、直して再チャレンジします。
ありがとうございます。


桜坂  2016-03-01 20:16:09  No: 48030

小文字にしてもだめでした。
試しにデータベースを32ビットにしてみました。
しかしダメでした。
どこか設定がおかしいところがないか再度チェックしてみます。
ありがとうございます。


桜坂  2016-03-01 22:53:22  No: 48031

やっとDBGRIDが表示されました。
やったことを列挙します。
1.32bitのpostgreSQLに変更しました。
2.データベース名、スキーマ名、テーブル名、列名を小文字で作りました。
独自スキーマ名,publicと接続エディタのパラメータを直しました。
でもダメでした。次のことを追加でしたら表示されました。
FDTable1のTableNameにスキーマ名.テーブル名にしたら表示されました。
推測ですが、postgresはデフォルトでpublicのスキーマを見に行っているのでしょう。
そこでスキーマを特定するように記述したらピッタシでした。
小文字で記述することが勉強になりました
通りすがりさん、ありがとうございます。
今後とも、ご指導よろしくお願いします。
クローズとさせて頂きます。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加