none
SQLServerでDBを作成した後の接続文字列について RRS feed

  • 質問

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

    ボウリングスコアのプログラムを配布する予定なのですが、

    SQLServerでDBを作成する場合、クライアントはSQLServerをインストールする必要はあるのでしょうか?

    また、その作成したDBの接続文字列は、

    「(私のPCの名前);Initial Catalog=bowling_kai;User ID=(私のID);Password=*****;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False」

    となっているのですが、これはクライアントがプログラムを使う場合、私のDBを参照することになるのでしょうか?

    もし、参照してしまう場合は参照させない方法を教えていただけませんでしょうか?

    よろしくお願いします。

    2018年9月22日 9:47

回答

  • クライアントにおいてSQL Serverを使う場合、大きく分けて2つあります。1つはネットワーク先にあるSQL Server、もう一つはローカル、すなわちクライアントにあるSQL Serverになります。どのSQL Serverに接続するかは、接続文字列により決まります。

    さて、現在、SQL Serverとしては以下の3つの製品があります。
    1. SQL Server(有償)
    2. SQL Server Express(無償)
    3.LocalDB(無償)
    1と2はどちらもインストールが必要になります。ネットワーク先のサーバーにも、クライアントのマシンにもインストールできます。3はアプリケーションに同梱できますので、インストールが要りません。
    一般的に有償のSQL Serverをクライアントに配布することはありませんから、現実は2か3の選択になります。2の場合、配布されたアプリケーションとは別にインストールする必要がありますのでご注意下さい。

    いずれの製品を選択した場合にも、ライセンスをきちんと確認するようにお願いいたします。
    なお、ここMSDNフォーラムでは、ライセンスに関する回答はできませんので、ご理解下さい。


    ★良い回答には質問者は回答済みマークを、閲覧者は投票を!

    • 回答としてマーク Basil_09 2018年9月22日 10:43
    2018年9月22日 10:33
  • > SQLServerでDBを作成する場合、クライアントはSQLServerをインストールする必要はあるのでしょうか?

    LocalDB や SQL Server Compact の延長線上で考えているならその通りです。

    SQL Server をつかうなら、普通はクライアントが共有できる DB サーバーを建てて、それに SQL Server をインストールし、クライアントはそれにアクセスするという形になるはずです。

    クライアントが直接 DB サーバーにアクセスするのはセキュリティ的に問題ありという場合は、Web サーバーを建てて Web アプリから DB サーバーにアクセスするようにし、クライアントはブラウザを使って Web サーバーにアクセスするという手段もあります。


    > これはクライアントがプログラムを使う場合、私のDBを参照することになるのでしょうか?

    それは、質問者さんがそのように設定してない限り、絶対にあり得ないと言っても過言ではないので、心配する必要はないです。
    • 回答としてマーク Basil_09 2018年9月22日 10:52
    2018年9月22日 10:45

すべての返信

  • クライアントにおいてSQL Serverを使う場合、大きく分けて2つあります。1つはネットワーク先にあるSQL Server、もう一つはローカル、すなわちクライアントにあるSQL Serverになります。どのSQL Serverに接続するかは、接続文字列により決まります。

    さて、現在、SQL Serverとしては以下の3つの製品があります。
    1. SQL Server(有償)
    2. SQL Server Express(無償)
    3.LocalDB(無償)
    1と2はどちらもインストールが必要になります。ネットワーク先のサーバーにも、クライアントのマシンにもインストールできます。3はアプリケーションに同梱できますので、インストールが要りません。
    一般的に有償のSQL Serverをクライアントに配布することはありませんから、現実は2か3の選択になります。2の場合、配布されたアプリケーションとは別にインストールする必要がありますのでご注意下さい。

    いずれの製品を選択した場合にも、ライセンスをきちんと確認するようにお願いいたします。
    なお、ここMSDNフォーラムでは、ライセンスに関する回答はできませんので、ご理解下さい。


    ★良い回答には質問者は回答済みマークを、閲覧者は投票を!

    • 回答としてマーク Basil_09 2018年9月22日 10:43
    2018年9月22日 10:33
  • ご回答ありがとうございます!

    なるほど、アプリに梱包できるLocalDBを使用してみたいと思います。

    本当に助かりました、ありがとうございます!

    2018年9月22日 10:45
  • > SQLServerでDBを作成する場合、クライアントはSQLServerをインストールする必要はあるのでしょうか?

    LocalDB や SQL Server Compact の延長線上で考えているならその通りです。

    SQL Server をつかうなら、普通はクライアントが共有できる DB サーバーを建てて、それに SQL Server をインストールし、クライアントはそれにアクセスするという形になるはずです。

    クライアントが直接 DB サーバーにアクセスするのはセキュリティ的に問題ありという場合は、Web サーバーを建てて Web アプリから DB サーバーにアクセスするようにし、クライアントはブラウザを使って Web サーバーにアクセスするという手段もあります。


    > これはクライアントがプログラムを使う場合、私のDBを参照することになるのでしょうか?

    それは、質問者さんがそのように設定してない限り、絶対にあり得ないと言っても過言ではないので、心配する必要はないです。
    • 回答としてマーク Basil_09 2018年9月22日 10:52
    2018年9月22日 10:45
  • ご回答ありがとうございます!

    なるほど。やはりインストールしないといけないわけなんですね。

    Webサーバの手段は今は考えていないので、またの機会があればやってみたいなと思います。

    そうなんですね、安心しました。

    ありがとうございます!

    2018年9月22日 10:52