問題タブ [sql-server-ce-4]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
asp.net-mvc - モデルが変更されていないにもかかわらず、EF4 がデータベースを再作成しようとするのはなぜですか?
SQL Server CE 4.0 を使用する ASP.NET MVC 3 Beta Web サイトを持っています。ScottGu の NerdDinner の例と私自身のコードの両方で、データベースにアクセスしようとするとすぐに次の例外が発生することがあります。
なぜこれが既存の .dbf ファイルで機能するのか、また不平を言うのかわかりません。デフォルトの動作を明示的に設定しようとさえしました
他の誰かがこれを経験しましたか?
- Cassini を再起動しても違いはないようです。
- このエラーを受け取った後に IE で更新を押すと、まったく同じページが正しく読み込まれます。
linq-to-sql - DataContextが3.5を使用するのではなく、SQL Server Compact Edition 4を使用しないのはなぜですか?
トラフィックの少ないWebアプリのデータストアとして使用したいので、 SQL Server Compact Edition4CTP1で遊んでいます。DataContext
(LINQ To SQLを使用するために)接続文字列を指定してを作成しようとするとSystem.Data.SqlServerCe.4.0
、次のエラーメッセージが表示されます。
では、なぜ私のコードはバージョン4のSQL CEを使用していないのですか?
バックストーリー:開発にVisual Web Developer Express 2010を使用していますが、WebMatrixベータ版をダウンロードし、そのデザイナーを使用して、.sdf
テストデータを含むSQLCE4ファイルを作成しました。
クラスを使用してSqlCeConnection/SqlCeCommand/SqlCeDataReader
、テストデータを取得して表示する基本的なMVCアプリを正常に作成しました。SQLCE4バイナリがアプリのbin
フォルダーにコピーされます。私のコントローラーでは:
の接続文字列Web.config
は次のとおりです。
これは完全に機能するので、接続文字列が正しく、バイナリを適切に設定したことなどがわかります。そこで、実際のアプリを作成する方法として、LINQToSQLを少し試してみようと思いました。 :
そして、コントローラーで(コントローラーコンストラクターで構築されます)db
:Repository
しかし、このコードを使用してページを表示すると、前述のエラーが発生します。
アプリに正しいバージョンを使用させるにはどうすればよいですか?誰か助けてもらえますか?
sql-server-ce - SQL ServerCE4でのGetUTCDateの使用
null許容できない列を持つSQLServerCE4テーブルについて考えてみますFooDate
。目標は、現在のUTC日時をデフォルトにすることです。
この関数はSQLServerCompactで認識されません。関数GetUTCDateの名前。
この関数は、SQL ServerCompact4GetDate()
の列のデフォルトとして期待どおりに機能します。datetime
GetUTCDate()
SQL Server CE 4でサポートされていますか?
.net - SqlCE 4.0 には、Visual Studio 2010 に独自の接続プロバイダーがありますか?
新しいSqlCE 4.0 sdf データベースを作成しようとしていますが、使用する必要がある接続プロバイダーがわかりません。
Microsoft から CE4.0 を別途ダウンロードしました。...では、使用することになっている新しいプロバイダーはありますか? それとも、3.5 プロバイダーを使用しますか?
visual-studio-2010 - SQL Server CE3.5sdfデータベースをSQLServerCE 4.0にアップグレードするにはどうすればよいですか?
SqlCE3.5データベースを4.0に更新する必要があります。
新しいCE4.0接続を使用して3.5sdf/データベースにアクセスしようとすると、次のエラーメッセージが表示されます:-
System.Data.EntityException:基になるプロバイダーがOpenで失敗しました。---> System.Data.SqlServerCe.SqlCeInvalidDatabaseFormatException:データベースファイルは、以前のバージョンのSQLServerCompactによって作成されました。SqlCeEngine.Upgrade()メソッドを使用してアップグレードしてください。
誰かが私がこれを行う方法を知っていますか?明らかにプログラムで行う必要がありますが、何をすべきか、どの参照を追加する必要があるかなどがわかりません。
乾杯!
asp.net-mvc-3 - MVC3を使用するリモートホストでのSQLServerCE4の使用
ホストをMVC3にアップグレードしましたが、SQLCE 4.0を使用して「HelloWorld」を実行しようとしていますが、次のようになりました。
リクエストの処理中に申し訳ありませんが、エラーが発生しました。
レイアウトとすべてが表示されますが、データの代わりに表示されます。
ローカルホストで期待どおりに機能しています
私は持っています:
connectionStringとして。
プロジェクトの一部としてsdfを配置し、ローカルコピーをtrueにしてSystem.Data.SqlServerCE.dllをプロジェクトに追加しました。
これ以上のアイデアはありません。connString、dllは/ binにあり、ローカルホストで機能しています。
何か案は?
ありがとう。
編集
私は今いくつかのログを持っています:
/ binに「System.Data.SqlServerCE.dll」がない場合:
要求された.NetFrameworkデータプロバイダーが見つかりません。インストールされていない可能性があります。
System.ArgumentException:要求された.NetFrameworkデータプロバイダーが見つかりません。インストールされていない可能性があります。
十分に元気です。SqlServerCE4はありません。
ローカルコピーのDLL、別名/ bin:
バージョン8482のADO.NETプロバイダーに対応するSQLServerCompactのネイティブコンポーネントを読み込めません。正しいバージョンのSQLServerCompactをインストールしてください。詳細については、KB記事974247を参照してください。
例外の詳細:System.Data.SqlServerCe.SqlCeException:バージョン8482のADO.NETプロバイダーに対応するSQLServerCompactのネイティブコンポーネントを読み込めません。正しいバージョンのSQLServerCompactをインストールしてください。詳細については、KB記事974247を参照してください。
KBには、x86とamd64のdllが必要だと書かれています。/ bin/x86と/bin/amd64のように2つのディレクトリを/binにコピーすると、どこかで読んだことがあります。そのフォルダをSqlServerCE4インストールフォルダのプライベートフォルダからコピーしました。今私は得た:
ADO.NETプロバイダーとSQLServerCompactのネイティブバイナリの間でファイルバージョンの不一致が検出され、機能が正しくなくなる可能性があります。これは、異なるバージョンのSQL Server Compactの複数のインスタンスが存在するか、SQLServerCompactバイナリと同じ名前のバイナリが間違っていることが原因である可能性があります。一致するバージョンのSQLServerCompactバイナリをインストールしてください。
Ok。SQLServerCE4のルートフォルダーにもいくつかのdllがあるので、その2つのフォルダーを削除し、そのdllを/binにコピーしました。
ファイルまたはアセンブリ'file:/// C:\ HostingSpaces \ jesusrod \ foxandxss.net \ wwwroot \ mvc3 \ bin\sqlceca40.dll'またはその依存関係の1つを読み込めませんでした。モジュールには、アセンブリマニフェストが含まれていることが期待されていました。
いろいろやってみたと思います。Scottguは、SqlServerCE 4は、インストールしなくてもどのサーバーでも機能するはずだと述べました。
.net - EFCTP5およびSqlServerCE4.0==を使用した単純なトランザクションの試行は失敗しました。なんで?
SqlServer CE 4.0に対して、およびTransactionScope内でこれを使用すると、例外をスローするコードがいくつかあります。最初にコード、次にエラー。
例外エラーは次のとおりです。-
System.Data.EntityException:基になるプロバイダーがOpenで失敗しました。---> System.InvalidOperationException:接続オブジェクトをトランザクションスコープに参加させることはできません。
したがって、最初の保存/コミットは正常に機能しますが、オブジェクトを再度取得しようとすると(データがトランザクションに保持されているかどうかを確認するため)、エラーが発生します。
これは分散トランザクションではなく単一トランザクションであると確信しています...だから、これはうまくいくはずだと思いますか?
提案、親切な人?
asp.net-membership - ASP.Net MVC 3 プロジェクトの SQL Server コンパクト データベースの ASP.Net メンバーシップ
WebMatrix で ASP.Net MVC 3 スターター サイト プロジェクトを開始するとき。
SDF (SQL Compact) db に事前にインストールされた asp.net メンバーシップ テーブルを取得します。
さて、それらを新しい SQL CE 4.0 DB で作成したい場合、手順は何ですか?
スターターサイトは使いたくない
asp-classic - SQL Server CompactEdition4.0へのAdo接続
古いasp-classicサイトからSQLServerCompact Edition 4.0に接続したいのですが、常にエラーが発生します。
"Microsoft OLE DB Provider for ODBC Drivers error '80004005'
[Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified. "
私は試した
と
更新:エラー:複数ステップのOLEDB操作でエラーが発生しました。可能な場合は、各OLEDBステータス値を確認します。作業は行われませんでした
成功せずに。
通常、ADOからSQL Server CE 4.0に接続することは可能ですか?
更新:サンプルコードオープン接続:
entity-framework - Sql Server CompactEdition4.0でEFCTP5を使用する場合のEntityFunctions.TruncateTimeの代替
私はEFCTP5コードを使用しています-最初にSQLCE4.0を使用します。2つのDateTimeプロパティ間で時間に依存しない日付比較を実行しようとしています。
linq to entitesはDateTime.Dateプロパティを解析できないため(これは良かったと思います)、解決策はEntityFunctions.TruncateTimeを使用することですが、これはSqlCE4.0では機能しないようです。
2つの日付の年、月、日を手動で比較できます。これは機能しますが、コードが本来よりもはるかに冗長になります。理想的には、クエリを変更してロングハンドバージョンを使用し、完全なSQLServerとSQLCE4.0の両方で機能するようにしたくありません。
したがって、誰かがこれに対するクリーンで賢い解決策を持っていますか?解決策はおそらく表現の書き直しを伴うと思いますが、どこから始めればよいのかよくわかりません。
どんな助けでも大歓迎です、
ポール