問題タブ [sql-server-2014-express]
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 - テキスト列で文字列を検索し、カウントを一覧表示します
わかりました、私は非常にばかげた質問をしているかもしれませんが、どういうわけか私は以下を実行する方法を得ることができません.
以下のように2つの列を含むテーブルがあります
今、私は以下のような「キーワード」を保持する他のテーブルを持っています
ここで、2番目のテーブルの「タグ」に基づいて最初のテーブルで「文字列を検索」し、次のようなものを返したいと思います
"Process"キーワードがeight times複数の行にわたってテーブル全体 (最初のテーブル) に表示されるため、カウントは 8 として返されます。
私は使っているSQL Server 2014 Express Edition
c# - ngram の大量のセットを SQL Server データベースにできるだけ速く格納する
準備された単語ベースの 3 グラムのファイルが 14 個あり、txt ファイルの合計サイズは 75 GB です。ngram は「;」で区切られます。単語列に続く単語は「|」で区切られます。ここで、単語が 3 つの単語シーケンスに続く頻度を数えたいと思います。データ量が多いため、できるだけ早く処理する必要があります。
私のアプローチは次のとおりです。
- ngram ごと、セパレーターごとに行を分割する
; - ngram をセパレーターで分割
| - ngram を 2 つのテーブル
sequencesに格納し、単語がテーブルwords内のそのシーケンスに出現する頻度をカウントしますwords
SQL Server 2014 Express があり、テーブルの構造は次のとおりです。
[dbo].[sequences]:Id | Sequence[dbo].[words]:Id | sid | word | count
シーケンス テーブルは明確である必要があります。words テーブルでsidは、the は関連するシーケンス ID、word は単語文字列、count は int 数であり、そのシーケンスの後に単語が出現する頻度をカウントします。
私の次のソリューションでは、最初は 1 行あたり約 1 秒必要ですが、これは非常に遅くなります。Parallel を使用しようとしましたが、別のプロセスが何かを挿入しているときにテーブルがロックされているため、SQL エラーが発生します。
私のプログラム:
法外な時間を必要としないように、ngram をより速く処理するにはどうすればよいですか?
PS: 私は C# と自然言語処理がまったく初めてです。
編集 1 :サンプル ngram の要求に応じて、各行に約 4 または 5 あります (ただし、もちろん単語の組み合わせは異なります):ほぼ同じ | お気に入り;
編集 2: コードを次のように変更すると、エラーSystem.AggregateException: At least one failure occured ---> System.InvalidOperationException: There is already an open DataReader associated with this Command that must be closed first. 、ここのように。
編集 3:接続文字列にMultipleActiveResultSets=trueを 追加すると、Parallel を使用してもエラーは発生しません。関連するすべてのループを同等の Parallel に置き換え、行番号 (169521628 行) を数えるだけですべてのファイルを実行し、1 行に必要な平均時間を計算しました。これは 0.051502946 秒です。それでも101日くらいはかかります!
sql - SQL Server Management Studio 2012 で SQL Server Express 2014 を管理できない
クライアントがデータベースを SQL Server Express 2008 から SQL Server Express 2014 にアップグレードしました。
2014 データベースのデザイン モードでデータを編集したり、テーブルを開いたりすることができなくなりました。これらのタスクを実行するためのストアド プロシージャを作成することもできます。
私は SQL Server Management Studio 2012 を使用してデータを編集し、SQL Server Express 2008 データベースに変更を加えることに成功しましたが、アーカイブされたコピーも引き続き使用できます。
SQL Server Management Studio 2012 を使用してデータを編集し、SQL Server Express 2014 データベースに変更を加えることができるかどうか、だれかアドバイスできますか?
sql - テーブルをマージして ID の衝突を防ぐ方法
IndirectFlights テーブルを PriceTable にマージしたいと考えています。SourceTable (IndirectFlights) に ID を入力しておらず、まだ PK を設定していません。PriceTable の ID 列は ID (1,1) 列であり、主キーでもあります。
Qs1 ソース列に ID を入力して、ターゲット テーブル (PriceTable) の ID と競合しないようにするにはどうすればよいですか? シーケンスを使用することを考えていましたが、将来的に衝突する可能性があります。Qs2 マージする列を選択できますか、それともソース テーブルのすべての列をマージする必要がありますか?
編集: Merge を使用する代わりに、次の Union All ステートメントを実行しました。
コードは機能しましたが、ID 列が Not Null に設定されていても、ID 列が IndirectFlights.ID からの Null 値を受け入れていることに気付きました。
誰でもこれを説明できますか。また、この Union All ステートメントから新しい永続テーブルを作成する方法を誰かが説明できますか。
sql-server - SQL Server 2014 Express を使用して null を許可する Unique Constraint を設定したい
SQL Server 2014 Express を使用して null を許可する一意の制約を設定したいと考えています。これは以前に尋ねられたことは知っていますが、この投稿では5年前に尋ねられました。
null も許可する一意の制約を作成するにはどうすればよいですか?
SQL の勉強を始めたばかりなので、5 年前から他のオプションが利用可能になっているかどうかを確認したいと考えています。
Unique Filtered Index の使用を検討していますが、可能であればこの Index を使用する必要は避けたいと考えています。
ありがとうございました。
c# - SQL Server 2014 Express へのローカル接続に関する問題
ローカル DB に接続できません。ライブ バージョンでは正常に動作しています。ライブ バージョンは SQL Server 2012 で、テスト環境は SQL Server 2014 Express です。
私は Web Matrix 3 と Visual Studio 2013 デバッガーをプロセスに接続して使用していますが、ほとんどすべてを試しましたか? 問題は接続の問題に関連していると思います。もちろん、Management studio から DB に接続できます。
ここに私の接続文字列があります
誰かアイデアはありますか?