locked
SQLServerへのリモート接続について RRS feed

  • 質問

  • WindowsPhoneアプリケーションから、Wi-Fi接続したLAN上にあるサーバー(PC)のSQLServerに接続し、データの取得・更新をする方法はありますでしょうか?

    WindowsFormアプリケーションで言うところの、接続文字列でサーバー名、DB名、ID・PWを指定して接続するようなイメージです。

    ご存知の方がいらっしゃいましたらご教授願います。

    なお、DBはSQLServer2008、WindowsPhoneは7.5(7.1)、Visual Studio 2010 Express for Windows Phone(VB)を使用しています。


    • 編集済み ttt13 2012年6月12日 5:36
    • 移動 Mike Wang (MSCS) 2012年10月2日 11:00 (移動元:Windows Phone 7 How-to)
    2012年6月12日 5:28

回答

  • Windows Phone OS 7.0 時代の話では、WCF ベースでしかアクセスできないという話がありました。
    Windows Phone OS 7.1 からはローカルデータベースがサポートされたことでいくらか改善しています。

    しかし、既存の SQL Server にそのままつなげるようになったかというと、そういった情報を発掘できませんでした。
    もしかすると、以前から(WCF などで別のサービスに委譲するしか方法がない状態から)変化がないかもしれません。

    Windows Phone は必ずしもネットワークにつながっているとも限りませんし、切断されるリスクが高い携帯端末です。そういった事情から、サポートされていないのかもしれません。

    // Marketplace に上げる際には米国の担当者がテストできることが求められます。
    // LAN 上に配置しているサービスに依存する場合、それを外部から見えるようにするか、
    // そういった環境を作るかなど求められるかも?

    • 回答としてマーク ttt13 2012年6月19日 2:33
    • 回答としてマークされていない ttt13 2012年6月19日 2:49
    • 回答としてマーク ttt13 2012年6月26日 17:32
    2012年6月18日 15:19
    モデレータ
  • サーバー側は、Webサービスを作成していただき、取得・更新のメソッドを作る必要があります。このあたりの仕掛けを簡単にするのが、WCF Data Servicesです。

    WCF Data Services

    http://msdn.microsoft.com/ja-jp/library/cc668792.aspx

    Windows Phoneからは、WCF Data Servicesに接続して、データを操作します。

    方法: Windows Phone の OData サービスを使用する

    http://msdn.microsoft.com/ja-jp/library/gg521145(v=vs.92)

    更新に関しては、セキュリティの設定にご注意ください。直接の更新ではなく、更新要求をログとして残して、最新バージョンを取得するようなデータベースの利用がよいかもしれません。つまり、Updateは行わず、すべてInsertで処理する方法です。


    この投稿は現状のまま何の保証もなく掲載しているものであり、何らかの権利を許諾するものでもありません。コミュニティにおけるマイクロソフト社員による発言やコメントは、マイクロソフトの正式な見解またはコメントではありません。詳しくは http://www.microsoft.com/japan/communities/msp.mspx をご覧ください。

    • 回答としてマーク ttt13 2012年6月26日 17:32
    2012年6月25日 5:29
    モデレータ

すべての返信

  • ttt13さん、こんにちは! FUDA1です。一応ロボットです。

    ◆LAN上にあるサーバー(PC)のSQLServerに接続し、データの取得・更新をする方法

    ここの自社/自宅サーバーが、インターネットより外部アクセス可能、具体的には、IISサーバーが許可され、C:\Inetpub\wwwrootなどのディレクトリに発信情報、コンテンツを格納している場合、Windows2003Serverなどであれば、本格的に、携帯電話からSQLサーバーへアクセス可能です。ビジネスにも。もし、環境が異なる場合、クラウド Windows Azure が最適かと思います。

    2012年6月16日 5:04
  • Windows Phone OS 7.0 時代の話では、WCF ベースでしかアクセスできないという話がありました。
    Windows Phone OS 7.1 からはローカルデータベースがサポートされたことでいくらか改善しています。

    しかし、既存の SQL Server にそのままつなげるようになったかというと、そういった情報を発掘できませんでした。
    もしかすると、以前から(WCF などで別のサービスに委譲するしか方法がない状態から)変化がないかもしれません。

    Windows Phone は必ずしもネットワークにつながっているとも限りませんし、切断されるリスクが高い携帯端末です。そういった事情から、サポートされていないのかもしれません。

    // Marketplace に上げる際には米国の担当者がテストできることが求められます。
    // LAN 上に配置しているサービスに依存する場合、それを外部から見えるようにするか、
    // そういった環境を作るかなど求められるかも?

    • 回答としてマーク ttt13 2012年6月19日 2:33
    • 回答としてマークされていない ttt13 2012年6月19日 2:49
    • 回答としてマーク ttt13 2012年6月26日 17:32
    2012年6月18日 15:19
    モデレータ
  • Azulean様 情報のご提供ありがとうございます。

    手っ取り早い方法はなさそうですね。まずは「WCFベースでのアクセス」について調べてみようと思います。

    Marketplaceのテストについては、「それ単体で動かないアプリケーションをどうやってテストするんだろう?」とは思っていました。確かにそうかもしれませんね。


    • 編集済み ttt13 2012年6月19日 2:50
    2012年6月19日 2:47
  • サーバー側は、Webサービスを作成していただき、取得・更新のメソッドを作る必要があります。このあたりの仕掛けを簡単にするのが、WCF Data Servicesです。

    WCF Data Services

    http://msdn.microsoft.com/ja-jp/library/cc668792.aspx

    Windows Phoneからは、WCF Data Servicesに接続して、データを操作します。

    方法: Windows Phone の OData サービスを使用する

    http://msdn.microsoft.com/ja-jp/library/gg521145(v=vs.92)

    更新に関しては、セキュリティの設定にご注意ください。直接の更新ではなく、更新要求をログとして残して、最新バージョンを取得するようなデータベースの利用がよいかもしれません。つまり、Updateは行わず、すべてInsertで処理する方法です。


    この投稿は現状のまま何の保証もなく掲載しているものであり、何らかの権利を許諾するものでもありません。コミュニティにおけるマイクロソフト社員による発言やコメントは、マイクロソフトの正式な見解またはコメントではありません。詳しくは http://www.microsoft.com/japan/communities/msp.mspx をご覧ください。

    • 回答としてマーク ttt13 2012年6月26日 17:32
    2012年6月25日 5:29
    モデレータ