none
SQL Server Compact Edition 3.5が選択肢に表示されない RRS feed

  • 質問

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

    SQL Server Compact Edition 3.5を使用してDBを構築するようにしたのですが、

    ・Visual Studio 2017にて、データ接続→データソースにSQL Server Compact Edition 3.5が表示されない。

    Microsoft .NET Framework 4以降のものを使用。

    https://www.microsoft.com/ja-jp/download/details.aspx?id=5783こちらでインストールを行った。

    • sqlceca35.dll
    • sqlcecompact35.dll
    • sqlceer35EN.dll
    • sqlceme35.dll
    • sqlceoledb35.dll
    • sqlceqp35.dll
    • sqlcese35.dll
    • 7個のdllファイルをアプリケーション直下に置いた。

    ・4.0でも同じようにして表示はされたものの、データベースをバインドすることができません。

    「データベースから情報を取得するときに、エラーが発生しました。

     指定された型はこのセレクターではサポートされていません。」というエラーが出てきてしまいます。

    あらゆる手を尽くしたのですが一向に解決へといきません・・・。

    原因の分かる方、よろしくお願いします。


    • 編集済み Basil_09 2018年9月21日 17:04
    2018年9月21日 14:04

回答

  • SQL Server CompactはVS2017では標準ではサポートしてません。

    4.0に対してSQLite/SQL Server Compact ToolBoxを入れているなら、これはウィザードサポートしてません。
    接続するときにのメッセージに「Does not support Data Source Configuration Wizard」と書いてあります。

    VS2010に戻して3.5を使うか、DataSetを自分で作ってTableAdapterを追加してSQL文字列を自分で書きましょう。


    個別に明示されていない限りgekkaがフォーラムに投稿したコードにはフォーラム使用条件に基づき「MICROSOFT LIMITED PUBLIC LICENSE」が適用されます。(かなり自由に使ってOK!)

    • 回答としてマーク Basil_09 2018年9月22日 10:00
    2018年9月22日 1:02
  • gekka さんのレスと重複するところがありますが、せっかく書いたのでアップしておきます。

    VS2017 を使って最新のフレームワークで開発するなら SQL Server Compact は選択肢に含めない方が良いと思います。

    sql server compact 非推奨 ・・・などをキーワードにググると色々出てきます。例えば下記:

    SQL Server Compact Edition は 未来がないのか
    http://express.main.jp/forweb/sql-server-compact-edition-%E3%81%AF-%E6%9C%AA%E6%9D%A5%E3%81%8C%E3%81%AA%E3%81%84%E3%81%AE%E3%81%8B/


    記事に書いてありますが、Connect の Microsoft の投稿者によると "SQL Server compact edition is in deprecation mode with no new releases planned near future." だそうです。

    VS2013 で既にサポートしてないようです。

    質問者さんの前のスレッドでは LocalDB を使っていたと思いますが、何故今さら SQL Server Compact なのですか?

    保守などで、どうしてもということなら VS2010 Professional を利用する他なさそうです。




    • 編集済み SurferOnWww 2018年9月22日 1:17 訂正
    • 回答としてマーク Basil_09 2018年9月22日 10:00
    2018年9月22日 1:12

すべての返信

  • SQL Server CompactはVS2017では標準ではサポートしてません。

    4.0に対してSQLite/SQL Server Compact ToolBoxを入れているなら、これはウィザードサポートしてません。
    接続するときにのメッセージに「Does not support Data Source Configuration Wizard」と書いてあります。

    VS2010に戻して3.5を使うか、DataSetを自分で作ってTableAdapterを追加してSQL文字列を自分で書きましょう。


    個別に明示されていない限りgekkaがフォーラムに投稿したコードにはフォーラム使用条件に基づき「MICROSOFT LIMITED PUBLIC LICENSE」が適用されます。(かなり自由に使ってOK!)

    • 回答としてマーク Basil_09 2018年9月22日 10:00
    2018年9月22日 1:02
  • gekka さんのレスと重複するところがありますが、せっかく書いたのでアップしておきます。

    VS2017 を使って最新のフレームワークで開発するなら SQL Server Compact は選択肢に含めない方が良いと思います。

    sql server compact 非推奨 ・・・などをキーワードにググると色々出てきます。例えば下記:

    SQL Server Compact Edition は 未来がないのか
    http://express.main.jp/forweb/sql-server-compact-edition-%E3%81%AF-%E6%9C%AA%E6%9D%A5%E3%81%8C%E3%81%AA%E3%81%84%E3%81%AE%E3%81%8B/


    記事に書いてありますが、Connect の Microsoft の投稿者によると "SQL Server compact edition is in deprecation mode with no new releases planned near future." だそうです。

    VS2013 で既にサポートしてないようです。

    質問者さんの前のスレッドでは LocalDB を使っていたと思いますが、何故今さら SQL Server Compact なのですか?

    保守などで、どうしてもということなら VS2010 Professional を利用する他なさそうです。




    • 編集済み SurferOnWww 2018年9月22日 1:17 訂正
    • 回答としてマーク Basil_09 2018年9月22日 10:00
    2018年9月22日 1:12
  • ご回答ありがとうございます!

    そうだったんですね・・・。

    DBを使うアプリとしてリリースするにはSQL Server Compactがよいと書いてあったので

    試してみたのですが、サポートされていないのであれば仕方ないですね。

    ちなみになんですけど、gekkaさんの言った

    DataSetを自分で作ってTableAdapterを追加してSQL文字列を書く」方法で、

    各々DBを使用することは可能なのでしょうか?

    よろしくお願いします。

    2018年9月22日 5:32
  • ご回答ありがとうございます!

    今更という理由ですが、SQL Server Compact Editionがおすすめ・手軽

    という記事を見つけたのでそれに従いました。

    しかし、未来がない・・・という記事もあったのは知っていましたが前のバージョンでも使用できるだろうと

    自分の中で勘違いしていました。

    VS2017ではサポートされていないことが知れただけでとても大きく進めたと思います。

    ありがとうございます。

    2018年9月22日 5:35
  • > 「DataSetを自分で作ってTableAdapterを追加してSQL文字列を書く」方法で、
    > 各々DBを使用することは可能なのでしょうか?

    それは前のスレッドで質問者さんがやった VS2017 のデータソース構成ウィザード
    を使う話ですよね?

    Compact は止めるのであれば他の選択肢は、LocalDB, SQL Server (Express 版を含
    む)、Access になると思います。

    MySQL, Oracle などでも可能ですが、敷居が高いし、上記に比べてメリットはなさ
    そうです。
    2018年9月22日 8:06
  • 何度もすみません。はい、その解釈で大丈夫です。

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

    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を参照することになるのでしょうか?

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

    よろしくお願いします。


    • 編集済み Basil_09 2018年9月22日 9:13
    2018年9月22日 9:09
  • 一つの疑問の回答が次の疑問を呼んで、次から次へと質問を繰り返すのは避けてください。

    一つのスレッドは一つの質問とし、表題や最初の質問の内容から違うことを質問する際は、そのスレッドはクローズして、別に新しいスレッドを立てて質問してください。

    前にも書きましたが、このフォーラムは技術者同士の情報交換の場所として提供されているものです。後で検索などでここを訪れた人にとっては、一つのスレッドには一つの質問と回答があるのが望ましいですよね。 
    2018年9月22日 9:37
  • そうですね、大変失礼致しました・・・。

    新しいスレッドを立てたので、もしよろしければよろしくお願いします。

    みなさまにはご迷惑をおかけしました。

    https://social.msdn.microsoft.com/Forums/ja-JP/c424e313-29b4-42f8-ba80-03666f74037e/sqlserverdb?forum=sqlserverja

    2018年9月22日 9:48