問題タブ [sql-server-ce]
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.
sql-server-ce - Sql Compact で複数の接続が許可されている場合、ファイル共有エラーが発生するのはなぜですか?
ここでは、Sql Server Compact は最大 256 の接続を許可すると言われています。
しかし、2 つの接続を開こうとすると、ファイル共有エラーが発生します。どうすればこれを解決できますか?
ファイル共有違反があります。別のプロセスがファイルを使用している可能性があります。[ testDB.sdf ]
c# - テーブルが SQL Server CE に存在するかどうかを確認しますか?
これがこの質問に似ていることは知っていますが、C# の WinForms プロジェクトで SQL Server CE 3.5 を使用しています。テーブルが存在するかどうかを確認するにはどうすればよいですか? IF
キーワードがサポートされていないことは知っていますが、サポートされていEXISTS
ます。information_schema は CE に存在し、それに対してクエリを実行できますか? ありがとう。
sql-server-ce - Sql Compact がランダムに AccessViolationException を生成する
マルチスレッド アプリケーションで Sql Server Compact Edition 3.5.1.0 SP1 を実行しています。アプリケーションは、トランザクションで挿入クエリをランダムに実行します。短いトランザクションでは、問題なく動作します。しかし、トランザクションが長くなり、実行間の遅延が短くなるか、アプリケーションをデバッグ モードで実行すると、SqlCE は次の例外をランダムにスローし始めます。
AccessViolationException 保護されたメモリを読み書きしようとしました。これは多くの場合、他のメモリが破損していることを示しています。
System.Data.SqlServerCe.SqlCeCommand.CompileQueryPlan() で System.Data.SqlServerCe.SqlCeCommand.ExecuteCommand (CommandBehavior 動作、文字列メソッド、ResultSetOptions オプション) で System.Data.SqlServerCe.SqlCeCommand.ExecuteNonQuery() で SqlCompactTest.TransactedCommandGroupExecutionTest.Test () D:\Projects\PlayGround\SqlCompactTest\SqlCompactTest\TransactedCommandGroupExecutionTest.cs: 53 行目 D:\Projects\PlayGround\SqlCompactTest\SqlCompactTest\ExecutionTest.cs: 60 行目 SqlCompactTest.ExecutionTest の SqlCompactTest.ExecutionTest.RunTest() .TimerElapsed(Object sender, ElapsedEventArgs e) in D:\Projects\PlayGround\SqlCompactTest\SqlCompactTest\ExecutionTest.cs:System.Timers.Timer.MyTimerCallback(Object state) の 68 行目
私が実行しているコードは次のとおりです。
このコードは、2 つのスレッドで同時に実行されます。接続文字列は次のとおりです。
フレームワーク 1.1 に戻したり、メソッド引数の順序を変更したり、最適化を有効/無効にしたりするなど、インターネットでばかげた解決策を見つけましたが、どれもうまくいきませんでした。また、マイクロソフトのサイトで可能な解決策を繰り返しましたが、自分に合った解決策を見つけることができませんでした. データベース ファイルのバージョンは 3.5.0.0 です。
どうすればこれを解決できますか?
c# - C#: 例外「入力文字列の形式が正しくありませんでした。」DataSet の Row.Delete の後
行に削除のフラグを立てた後に DataTable を更新しようとすると、奇妙な例外が発生します。削除しようとしている行のデータを検証しているようです。同じ行を正常に保存できましたが、削除できないのはなぜですか?
VS 2008 および SQL Server CE で C# を使用します。
私のコードの本質的なビット(私は願っています):
例外は次のとおりです: System.FormatException was unhandled Message="@p2 : foo - 入力文字列が正しい形式ではありませんでした。" ソース="System.Data"
Id (PK, int, not null) Name (nvarchar(100), not null) Notes (nvarchar(4000), null)
削除しようとしている行 (最初の行) のデータは Name = "foo" であるため、正しい行ですが、行を削除する前にデータが何であるかを気にするのはなぜですか?
c# - VS2008 および SQL Server CE で既存の .sdf ファイルに基づいて空のローカル データベースを作成する方法
Visual Studio 2008 IDE を使用して、SQL Server Compact 3.5 データベースのローカル データベース スキーマを編集したいと考えています。ただし、ドキュメントと UI のすべては、アプリケーション/アセンブリが 1 つのデータベースのみを使用し、既存のスキーマに基づいて新しいデータベースを作成することを望んでいないことを前提としているようです。
ビジュアル ツールを使用して DB スキーマを編集し、編集したスキーマに基づいて新しいデータベース ファイルを作成するメカニズムが必要です。このようにして、アプリケーションが作成する各ドキュメントは、独自の個別のデータベース ファイル (.sdf) に格納されます。さらに、単体テストの目的で、空のデータベースで単体テストを実行するために、空の一時 .sdf ファイルを作成できるようにしたいと考えています。
既存のスキーマを使用して新しい空のデータベースを作成する方法を知っている唯一の方法は、マスター .sdf ファイルを新しいファイルにコピーすることです。
C# コードを使用して新しい .sdf ファイルを作成するには、どのような方法が推奨されますか? つまり、MyModel.Create("foo.sdf") を実装して、Visual Studio で作成したスキーマを使用して .sdf ファイルを作成する方法です。
編集:長い調査の後、VS2008 ローカル データベース .sdf エディターを完全に破棄し、LINQ-to-SQL を使用して新しい .sdf ファイルの作成を開始しました。ここでは、一連の C# クラスを指定し、LINQ-to-SQL で動作するように注釈を付けて、DataContext の CreateDatabase メソッドを呼び出して新しいデータベース ファイルを作成するだけです。MSDN に適切なドキュメントがあります:方法: データベースを動的に作成する (LINQ to SQL)
.net - SQL Server CE のローカル データベースで DataSet を使用する理由はありますか?
アプリケーション データの永続化のためにローカルのインプロセス データベースを使用するアプリケーションでも、.NET DataSet を使用することに意味がありますか?
DataSet が主にデータベースの結果をメモリ内にキャッシュすることを目的としている場合、アプリケーションと同じプロセスで実行される SQL Server Compact ローカル データベースのようなものを使用する場合、あまり有益ではないように思えます。
型指定された DataSet を使用する他の理由はありますか? たとえば、それらは WPF データ バインディングを容易にしますか?
sql-server - SQL Server CE と SQL Server 2008 Express をどのように使用していますか?
私はインストールしました:
- ビジュアル C# 2008 Express
- ビジュアル Web デベロッパー 2008 Express
- ビジュアル スタジオ 2008
- SQL Server 2008 エクスプレス
- SQL Server マネジメント スタジオ
Visual C# 2008 Express では、「アイテムを追加」して、「ローカル データベース」(.sdf ファイル) または「サービス ベースのデータベース」(.mdf ファイル) を作成できます。
Visual Studio 2008 は、アプリケーション用の Visual C# 2008 と同じですが、Web サイトで .sdf または .mdf ファイルを作成できる唯一の方法は、データベース エクスプローラーを使用することです。
ただし、Visual Web Developer 2008 Express では、「項目を追加」でき、「SQL Server データベース」(.mdf ファイル) しか作成できません。Database Explorer でさえ、SQL CE データベースを作成することはできません。
質問:
- アプリケーション間の不一致はなぜですか?これは正常な現象ですか?それともインストールに問題があったのですか?
- 「SQL CE をインストール」したことはありません。どこから来たのですか?また、.sdf ファイルを作成できるのはどうしてですか?
- これらをプロジェクトで日常的にどのように使用していますか? Visual Studio を使用してデータベースを編集していますか? それとも SQL Server Management Studio を使用していますか?
sql - SQL Server Compact Edition でこのクエリを作成するにはどうすればよいですか?
このサブクエリは SQL Server で機能します。
SQL Compact でどのように作成できますか?
ありがとう!
c# - Access データを SQL Server CE にインポート (.mdb から .sdf)
Access から SQL Server または SQL Server Express にデータをインポートする方法に関するいくつかの記事とディスカッションを見つけましたが、SQL Server CE にはインポートしません。個別の接続を使用して、VS データベース エクスプローラーで Access データと CE データの両方にアクセスできますが、データを一方から他方に移動する方法がわかりません。(私は c# を使用しています。) 何か提案はありますか? ありがとう。
sql-server - Microsoft Sync Services - 私にとって良い解決策ですか?
店舗からの販売取引を本社サーバーにアップロードします。現時点では、DTS (SQL Server Data Transformation Services) を使用していますが、これを ADO.NET 用の Microsoft Sync サービスに置き換えることを計画しています。標準(うまくいけば、長い間存在するでしょう)。セットアップの詳細と計画内容は次のとおりです。特に、Sync Services が当社のソリューションに適合するかどうかについて、アドバイスを求めています。
状況
各店舗には、Microsoft Access 2000 データベースに売上を保存するサード パーティの EPOS システムがあり、このシステムにアクセスできます。本社のデータベースは SQL Server 2005 ですが、2008 にアップグレードする予定です。本社はすべての店舗と VPN 上にあるわけではありませんが、店舗の IP アドレスに対してファイアウォールを開くことができるため、店舗はデータを直接 SQL に送信できます。サーバ。店舗は常に ADSL 経由でインターネットに接続されていますが、接続が失われるため、販売データを失いたくありません。ストアからトランザクションをアップロードするだけです。定義をダウンロードする必要はありません。
現在のソリューション
店舗の PC で実行される Windows サービスを作成しました。このサービスは、サーバーから DTS パッケージ (アップロードのすべての詳細を含む) をダウンロードし、ストアで実行します。これにより、売り上げがサーバーにアップロードされます。MSDE をインストールすると無料になるため、DTS を選択しました。SSIS を使用すると、すべての店舗で SQL Server ライセンスが必要になるため、使用できません。DTS を選択したもう 1 つの理由は、アップロードの詳細 (つまり、どのテーブルとフィールドを含めるか) が本社のサーバーに保存されているためです。店舗。これは目を見張るものではありませんが、新しいソリューションでこの機能を使用できると便利です。
考えられる解決策 - ADO.NET 用の Microsoft Sync サービス
現在、ADO.NET 用の Microsoft Sync サービスの概念実証を構築中です。各ストア (クライアント) に SQL CE (SQL Server Compact 3.5) を配置し、それを本社の SQL Server 2005 データベース (サーバー) と同期するという考え方です。(1) Access 2000 データベースと同期するか、(2) EPOS システム開発者に売上を直接 SQL CE データベースに書き込むように依頼するか、(おそらく (2)) のいずれかによって、データを SQL CE データベースに取り込みます。しかし、私たちの主な関心事は、ストアから本社サーバーにデータを取得することです。この方法は、時々接続されるシステムに対して Microsoft が推奨するソリューションのようであり、それが私たちが Sync Services を真剣に検討するようになった理由です。これを使用することで、売り上げをアップロードするために必要な作業のほとんどが Sync Services に組み込まれ、車輪を再発明する必要がなくなることを願っています。
考えられる解決策 - カスタム Web サービスへのアップロード
また、販売トランザクションを本社サーバーのカスタム Web サービスにアップロードしてから、SQL Server データベースにアップロードすることもできます。これは、どの行が新しいかを判断するための独自のメカニズムを構築し、システムが切断されたときのためにキャッシュする必要があることを意味します。また、Sync Services に組み込まれる他の機能を利用できない可能性があります。
役立つアドバイスがあれば教えてください。特に、「同期サービスは適切なソリューションですか!」私たちが解決しようとしている問題は非常に一般的 (店舗からの売上のアップロード) のように思われます。一般的な解決策で解決したいと考えています。