質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

PostgreSQL

PostgreSQLはオープンソースのオブジェクトリレーショナルデータベース管理システムです。 Oracle Databaseで使われるPL/SQLを参考に実装されたビルトイン言語で、Windows、 Mac、Linux、UNIX、MSなどいくつものプラットフォームに対応しています。

Q&A

解決済

1回答

1279閲覧

PostgreSQL WinFormApp 他の端末で利用する方法

nagareboshi12

総合スコア1

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

PostgreSQL

PostgreSQLはオープンソースのオブジェクトリレーショナルデータベース管理システムです。 Oracle Databaseで使われるPL/SQLを参考に実装されたビルトイン言語で、Windows、 Mac、Linux、UNIX、MSなどいくつものプラットフォームに対応しています。

0グッド

0クリップ

投稿2020/10/12 11:40

編集2020/10/12 12:15

WindowsForm Applicationで、社内の商品管理アプリを作成しました。Visual Studio 2017Expressで言語はC#です。

データベース操作を行えるアプリにしたかったので、PostgreSQLとNpgsqlを使用してアプリからデータの入力や検索ができるようにしました。(自PC のCドライブにDBを作成)

このアプリを別のタブレット端末から操作したいのですが、接続方法がわかりません。どこにDBを保存して、何で接続するのか(どれをサーバーとするのか?Wi-Fiなのか?有線なのかなど)

またタブレットにもpostgreSQLをインストール必要なのでしょうか?

タブレットはsurfaceで、Windows10、Wi-Fi接続有りです。

PCとタブレットは、社内の共有サーバーのネットワークに接続しており、アプリのデータも共有サーバーに保存しています。
ただ、postgreSQL のDBは共有サーバーに作成できなかったので自PCのlocalにある状態です。(共有サーバーの、ディレクトリ名が英数字でないから保存できないようです)

そのため、タブレットで共有サーバーを開き、そこからからアプリを起動できたのですが、SQLはもちろんつながりません。

このような環境の場合、それぞれをどの役割で、どのように繋ぐ方法があるのかわからず困っています。

そもそも無理なのでしょうか?
ご回答よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

社内にDBサーバを作ってもらって、そこに接続する方法が一般的だと思います。
(一般的と書きましたが、各ローカルPCから直接DBサーバに接続するという構成はあまり一般的ではない)

社内の共有サーバーまたは社内のネットワークを管理している部門の方に
DBサーバを作ってもらえるか確認されるのが一番手取り早いです。

接続の方法は、localhostをIPアドレスに変えるだけで大丈夫なはず。
社内LAN内のサーバになるはずですので、無線有線関係なく同じLAN内であれば接続できます。

また、ご自身のPCのIPアドレスを設定して、postgreSQLを起動しておけば、
タブレットからでも接続できると思います。
(もしかすると、postgreSQLで任意のIPから接続を許可するような設定が必要だったかも)

投稿2020/10/12 14:02

szk.

総合スコア1400

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

nagareboshi12

2020/10/14 20:15

ありがとうございます。IPの指定とサーバー側のファイヤウォールの設定を行い、無事LAN内の他PCとタブレットから接続することができました。 任意のIPから接続を許可する設定は pg_hba.conf ファイルから行いました。設定の後、サービスの再起動を行い接続できるようになりました。 固定IPでないので、現在はアプリからIPを随時変更が必要なようです。 接続の概要がわかったので、社内にDBサーバーを作れるかどうか、改めて担当に相談してみます。 知識不足から小さなことでつまづき、本当に接続できるか不安になっていたところでした。ご回答いただき、ありがとうございました。
nagareboshi12

2020/10/14 20:22

度々申し訳ありません。文頭の一般的な接続について、加えてご教授いただけたら幸いです。
szk.

2020/10/14 23:46

まず「あまり一般的ではない」というのは、 DBサーバが各ユーザのマシンから接続を許容する構成はあまり一般的ではない ということです。 社内LANというところで、ある程度の自由度はあるかと思いますが、 セキュリティ的なことを考えると、本当はいろいろ対策が必要になります。 (ソースが見れてしまうと、誰でもDBに接続できてしまいますよね。  レコードの更新も削除もできてしまうわけです。) DBサーバは、APサーバ(/WEBサーバ)から接続される構成が一般的です。 「ap db サーバ」辺りで検索いただけるとわかりやすいサイトはいくつかあると思います。 >固定IPでないので、現在はアプリからIPを随時変更が必要なようです。 コンピュータ名(ドメイン)で接続できた気がするのですが、気のせいかもしれませんので、ご参考までに。
nagareboshi12

2020/10/17 05:01

ありがとうございます。 具体的にどのような接続の図式になるのかがわからず困ることが多かったので今回ご回答いただき助かりました。 Webサーバーの接続も今後できるように、調べてみようと思います。分かりやすくご説明いただき、ありがとうございました。 よく確認してみるとIPの変更は不要でした。失礼いたしました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問