web-dev-qa-db-ja.com

Microsoft Visual Studio 2017でのSQL Server Compact Editionデータベースファイルの作成

Microsoft Visual Studio 2017 CommunityエディションでC#を使用するためのチュートリアルに従っています。新しいSQLデータベースをプロジェクトに追加し、拡張子.sdfを付けることになっています

チュートリアルでは、IDEに付属しているテンプレートメニューから選択しますが、適切なものはありません。私が表示するデータベースは、を使用する「サービスベースのデータベース」だけです。 mdf拡張機能と小さなエラー/警告をスローします: SQL Database error

誰でもこれを回避する方法を知っていますか?私はかなり初心者なので、エラーメッセージは何の意味もないので、この手順を完了するまでチュートリアルを続行することはできません。ここで私を助けることができる人に感謝します、そして私は最も役に立つ答えを支持するでしょう。

_________________________編集:

私はこの画面にたどり着きました...私は正しいものを選択する必要があるようですが、私はこれまでこのデータベースに関するものを扱ったことがないので、ここで何をすべきか本当にわかりません

SQL Custom Install Screen

7
Daniel

Microsoft Visual Studio 2017でのSQL Server Compact Editionデータベースファイルの作成

MicrosoftはVisual StudioでSDFファイルのサポートを終了しています

Microsoftは非推奨 SQL Server Compact のようですが、代わりに SQL Server Express を使用することをお勧めします。

SQL Server Compact DBデータファイルのファイル拡張子はSDFなので、使用を計画する SQL Server Express とそれに関連するMDFそのDBデータファイル。


Microsoft Connect

Srini[MSFT]による投稿:2013年2月18日午前11:52

SQL Server Compact Editionは非推奨モードであり、近い将来に新しいリリースは予定されていません。前回のリリースのSQL CE 4.0SP1(およびサポートサイクルにある以前のリリース)は、そのライフサイクルを通じて引き続きサポートされます。マイクロソフトは、これらのリリースで検出された本番のブロックに関する主要な問題を修正することを約束します。現時点では、この問題はそのカテゴリに含まれるとは考えていないため、この問題をクローズします。

デスクトップ/ラップトップの展開では、SQL Server LocalDB/SQL Expressへの移行は、現在のユーザーの多くにとって可能なオプションです( http://msdn.Microsoft.com/en-us/library/hh510202.aspx

ソース


SQL Server Express

非推奨

2013年2月、マイクロソフトはSQL Server Compact Editionが非推奨になったことを発表しました。

新しいバージョンや更新は予定されていませんが、Microsoftは標準のライフサイクルサポートポリシーを通じてSQL Compactを引き続きサポートします。このサポートは2021年7月に終了します。

ソース


その他のリソース

7
Pimp Juice IT

SQLCE v4.0は引き続き利用可能で、繁栄しています。 Visual Studio 2019のどのエディションでも簡単に使用できます。インストールする必要はありません。アプリにバンドルされたプライベートデプロイメントとして配布できます。

このパッケージ をインストールし、プロジェクトにいくつかの構成を設定すれば、電源を切って実行できます。

Entity Framework 6.x Code First Migrationsとの相性は抜群です。私はそれを使用するアプリを何年もプロダクションで使用しています。幸せになれなかった。

これが私のデータコンテキストクラスのスニペットです。

Partial Public Class Context
  Inherits DbContext

  Private Sub New(Connection As SqlCeConnection, LogSql As Boolean)
    MyBase.New(Connection, True)

    Dim sSessionSql As String

    Database.SetInitializer(New CreateDatabaseIfNotExists(Of Context))
    Database.SetInitializer(New MigrateDatabaseToLatestVersion(Of Context, Migrations.Configuration))

    Me.Database.Initialize(False)

    If Utils.Registry.LogSql OrElse LogSql Then
      sSessionSql = String.Empty

      Me.Database.Log = Sub(SqlCmd As String)
                          sSessionSql &= SqlCmd

                          EventLog.WriteEntry("SQL Log", sSessionSql, EventLogEntryType.Information)
                          sSessionSql = String.Empty
                        End Sub
    End If
  End Sub

  ...

End Class

ご覧のとおり、まだ存在しない場合は、起動時に新しいデータベースが作成されます。

ワンマンISVとして、小さなユーティリティを実行するためだけに+ 60MBのインストーラーをダウンロードするように顧客に強制しなければならないとしたら、私は廃業するでしょう。

1
InteXX