DelphiXE7エンタープライズ、win7pro64bit、PostgreSQL9.5(64bit)という環境です。
フォームにはFDConnectioun1,FDTable1,DataSource1,DBGRID1を配置しました。
接続には32bitのDLLをPATH通し接続できました。
ところが、DBGRIDでデータを見ようと接続TRUEにすると
「リレーションAKB01は存在しません」
となります。
PostgreSQL(64bit)にはスキーマ、テーブルがありAKB01というテーブルは存在します。ただし32bitのPostgreSQLはDLLのため何もありません。
DelphiXE7は32bitPosgreSQLでしか動作しないのでしょうか。
教えて下さい。
なんでもかんでも
> ...は...でしか動作しないのでしょうか。
という発想はどこから?という話は置いといて、大文字、小文字を間違えてませんか?
テーブルはすべて小文字で作れということのようです…
参考URL:
http://d.hatena.ne.jp/BlackyMan/20091228/p1
通りすがりさん、ありがとうございます。
dllは見やすくするため大文字にしました。
誤解を受けたかもしれません。申し訳ございません。
dllなどは接続テストでは接続されます。
最後、データ表示するためtrueにするとエラーになります。
通りすがりさん、ありがとうございます。
テーブル名は小文字なのですね。
昔のくせで大文字で書いてしまいます。
データベース名やスキーマ名も定義するとき全て大文字で定義してしまいました。
明日、直して再チャレンジします。
ありがとうございます。
小文字にしてもだめでした。
試しにデータベースを32ビットにしてみました。
しかしダメでした。
どこか設定がおかしいところがないか再度チェックしてみます。
ありがとうございます。
やっとDBGRIDが表示されました。
やったことを列挙します。
1.32bitのpostgreSQLに変更しました。
2.データベース名、スキーマ名、テーブル名、列名を小文字で作りました。
独自スキーマ名,publicと接続エディタのパラメータを直しました。
でもダメでした。次のことを追加でしたら表示されました。
FDTable1のTableNameにスキーマ名.テーブル名にしたら表示されました。
推測ですが、postgresはデフォルトでpublicのスキーマを見に行っているのでしょう。
そこでスキーマを特定するように記述したらピッタシでした。
小文字で記述することが勉強になりました
通りすがりさん、ありがとうございます。
今後とも、ご指導よろしくお願いします。
クローズとさせて頂きます。
ツイート | ![]() |