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

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

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

UWPは、Universal Windows Platformの略。様々なデバイス向けに提供されているアプリケーションを共通のフレームワーク上で動作可能にする仕組みで、Windows10で導入されました。

C#

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

SQL Server

SQL Serverはマイクロソフトのリレーショナルデータベース管理システムです。データマイニングや多次元解析など、ビジネスインテリジェンスのための機能が備わっています。

データベース

データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

Q&A

解決済

1回答

1036閲覧

UWPでSLQServerのDBを見に行くのは外道なのか?

退会済みユーザー

退会済みユーザー

総合スコア0

UWP

UWPは、Universal Windows Platformの略。様々なデバイス向けに提供されているアプリケーションを共通のフレームワーク上で動作可能にする仕組みで、Windows10で導入されました。

C#

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

SQL Server

SQL Serverはマイクロソフトのリレーショナルデータベース管理システムです。データマイニングや多次元解析など、ビジネスインテリジェンスのための機能が備わっています。

データベース

データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

0グッド

1クリップ

投稿2020/10/21 08:47

お世話になっております。

WindowsFormで作っていたアプリをUWPで焼き直したいと思っています。
FormではSQLServerのDBとデータのやり取りをしていましたが、
UWPだといろんなサイトを見て試しましたが、1つ以外うまくいきませんでした。

唯一うまくいったのはこちらのサイトの手法です。
https://rksoftware.hatenablog.com/entry/2018/09/09/194553
ですがこの方法は紹介されている通り
「非推奨でお勧めしない」
との事でした。

文献がないってことと、非推奨な方法しかないということを考えると
ひょっとしてUWPはDB接続するやり方でアプリを作るのに向いていないという事ではないか
と考えて、表題の質問をさせていただきます。

WindowsFormはもう古い技術ですし、これからのことを考えると
新技術のルールに則ったアプリ開発を視野に入れなければならないのかなー
とも悩んでいます。

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

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

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

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

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

guest

回答1

0

ベストアンサー

ひょっとしてUWPはDB接続するやり方でアプリを作るのに向いていないという事ではないか

質問の意図はよくわかりませんが、仮にDBに直接するアプリを作成したとして、そのDBはどこにどのように作成され、接続情報はどうやって保持するんでしょうか?

オンプレミスのクラサバ型アプリを開発したいとかいう話ならともかく、DBへの接続ポートをネットワーク上に公開するのはそれだけでセキュリティ上のリスクがあるんで、かなり利用環境に制限が出ると思いますが。

新技術のルールに則ったアプリ開発を視野に入れなければならないのかなー

とも悩んでいます。

技術がどうとかいう以前に、どんなものを作ろうとしているのかという話だと思いますが。

投稿2020/10/21 09:07

gentaro

総合スコア8947

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

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

dodox86

2020/10/21 10:17

>@質問者さん 参考にされた記事の以下の記載の意味と、gentaroさんの回答を合わせて考えてみてください。 > UWP によるアプリで SQL Server に直繋ぎができてしまいます。すごい。 > ※推奨されません。というか通常はやるべきではありません。 UWPアプリでSQL Serverへのアクセスについてはマイクロソフトに公式の情報があるくらいですから、「UWPアプリはDB接続するに適切か否か」と言う問題は別です。(UWPアプリに限らない) https://docs.microsoft.com/ja-jp/windows/uwp/data-access/sql-server-databases
退会済みユーザー

退会済みユーザー

2020/10/22 00:26

>>gentaroさん すみません、UWPには疎くて、オンプレミスのクラサバ型アプリって言うのがよくわからないです。 WindowsFormでのDB接続は、configファイルにDBの接続情報を書いてデータをとれるようにしていました。 UWPで似たことをするのが、間違ってることという認識でいいのでしょうか?
退会済みユーザー

退会済みユーザー

2020/10/22 00:56 編集

UWPアプリは、通常ストアで不特定多数の人に公開するという前提なので、そういうアプリでDB直繋ぎをするというシナリオが通常有り得ないということです。(接続可能なDBをインターネットに晒して運用するということなので) DBのデータににアクセスさせたいのであれば、Webサーバを建ててWebAPI等を経由してアクセスさせます。
dodox86

2020/10/22 01:00

radianさんのコメントに更に加えれば、UWPアプリを例えばサイドローディングで限定的にセキュリティ面を担保された社内でのみ展開(インストール)するような場合、DB直繋ぎも考えられますが、そうした場合はWindows FormsやWPFなどの事情とほぼ同じ、と言うことですね。
退会済みユーザー

退会済みユーザー

2020/10/22 01:04

> dodox86さん 補足ありがとうございます
gentaro

2020/10/22 01:05

オンプレミスもクラサバも一般的な用語であって、UWPは無関係ですが。 要するにPCが数えるほどしか繋がっておらず、インターネットも経由しないような事業所内の小規模なネットワーク上にDBサーバーを建てる、とかいう形のアプリでない限り、質問者の想定しているようなアプリの作り方を「普通は」しません。 DBの接続情報をクライアントにバラまくということは、その接続情報を使ってDBに直接アクセスし、意図しない操作を行われるというセキュリティ上のリスクがあります。 だから普通はWEBサーバー(やアプリケーションサーバー)と呼ばれるサーバーからのみDBへの接続を許可し、クライアントからはWEBサーバー経由でデータの入出力をするという構造にします。
gentaro

2020/10/22 01:08

dodox86さんとradianさんが書いてくださった内容と重複しますが、まぁ「いまどきクライアントからDBを直接接続するようなアプリなんて普通つくらねーよ」という事だけ伝わればそれでいいです。
退会済みユーザー

退会済みユーザー

2020/10/23 05:08

>だから普通はWEBサーバー(やアプリケーションサーバー)と呼ばれるサーバーからのみDBへの接続を許可し、クライアントからはWEBサーバー経由でデータの入出力をするという構造にします。 なるほどですね。納得がいきました。 ありがとうございます
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問