問題タブ [varcharmax]

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.

0 投票する
3 に答える
6739 参照

sql-server - varchar(max) 変数の連結 SQL Server 2005

@varchar(max)いくつかの変数を連結して、いくつかの異なるクエリに基づいて電子メールを作成するときに、大きな頭痛の種に遭遇しました。

効率のために、varchars1 つのvarchar.

これは、varchars8000文字を超えるまで機能しました。次に、それらすべてを 1 つに連結すると(これを のパラメーターにvarchar押し込むことができます)、"" が返され、LEN() でさえ実際の長さはわかりません。@bodymsdb.dbo.sp_send_dbmail

とにかく、ほぼ同じクエリを数回実行し、1 つのvarchar(max).

TL;DR

私は解決策に満足していません。varchar(max)これらの変数を互いに追加するにはどうすればよいでしょうか?

0 投票する
3 に答える
1648 参照

sql - SQL Server Text データ型または Varchar(max) が作成するデータベースが大きすぎる

列でSQL ServerTextまたはデータ型を使用すると、大きすぎるデータベースが作成されます。Varchar(max)varchar(max)

それは正常ですか?

手伝ってくれてありがとう

テキスト フィールドを編集するのは約 5 ~ 50 kb MAX

0 投票する
3 に答える
17489 参照

database - SQL Server フィールドが切り捨てられる

OK、SQL Server 2008 を使用していて、type のテーブル フィールドがありますVARCHAR(MAX)。問題は、 を使用して情報を保存するときに、フィールドHibernateの内容がVARCHAR(MAX)切り捨てられることです。アプリ サーバーにもデータベース サーバーにもエラー メッセージは表示されません。

このフィールドの内容は単なるプレーン テキスト ファイルです。このテキスト ファイルのサイズは 383KB です。

これは、この問題をトラブルシューティングするためにこれまでに行ったことです。

  1. データベース フィールドVARCHAR(MAX)を TEXT に変更すると、同じ問題が発生します。

  2. SQL Server プロファイラーを使用したところ、データベース サーバーがフル テキスト コンテンツを受信して​​いることに気付き
    ましたが、切り捨ての問題がある SQL を表示しようとすると、何らかの理由でプロファイラーがフリーズします。私が言ったように、フリーズする直前に
    、フル テキスト ファイルのコンテンツ (383KB) が受信されていることに気付いたので、データベースの問題である可能性があります。

以前にこの問題に遭遇した人はいますか? この切り捨ての原因は何ですか?

注: SQL Studio に移動し、TEXT フィールドの内容をコピーして Textpad に貼り付けるだけです。それが切り捨てられていることに気づいた方法です。

前もって感謝します。

0 投票する
1 に答える
683 参照

sql-server-2008 - 距離行列をVarChar(Max)としてSQL Serverデータベースに保存する

フリート スケジューリング アプリケーションを開発しており、地理的な場所間の距離を保存する効果的な方法を探しています。

アプリケーション コードは、2 次元配列として行列にアクセスしますdouble[,]

マトリックスを永続化するために、現在、マトリックスを文字列としてシリアル化しています。シリアル化すると、次のようになります。

次にvarchar(max)、SQL Server 2008 データベースの type の列に格納されます。ただ、この紐が大きくなりすぎないかなぁ。

各エントリに 1 桁の数字があり、空白と "\n" を無視すると仮定すると、理論的には、約 46000 の場所 (2 147 483 647 の平方根 - のサイズvarchar(max)) の距離を 1 つのエントリに格納できます。私の文脈ではこれで十分でしょう。

このアプローチには重大な欠点がありますか? 各行に 2 つの場所の間の距離が 1 つ含まれる別のテーブルに距離を格納する方がよいでしょうか?

私たちのアプリケーションの 100 人のユーザーがそれぞれ 1000 の場所を保存した場合、そのようなテーブルには 100000000 = 100 * 1000 * 1000 行が含まれます....

0 投票する
0 に答える
91 参照

c# - VARCHAR(MAX) および > 8000 バイト / ExecuteNonQuery

重複の可能性:
VARCHAR(MAX) および > 8000 バイト / ExecuteNonQuery (再投稿)

経由で > 8000 文字 (Web ページから送信) を挿入しようとしていますExecuteNonQuery。ストアド プロシージャは、パラメータを として定義しますVARCHAR(MAX)。コラムはVARCHAR(MAX). 理論的には、2GB のデータを渡すことができるはずです。

ただし、SSSMS での簡単なテストでは、次のことを行います。

したがって、SSMS クエリ自体の制限である可能性がありますが、コードからデータを渡すと、まだ切り捨てられます。基本的/明白な何かが欠けていると確信していますが、それを理解できません。

8000 を超えるデータを渡すにはどうすればよいですか?

注: SSMS に関する回答は必要ありません。これは単なるテストでした。タイトルの問題を C# と で解決しようとしていExecuteNonQueryます。

私の質問はここで答えられました: How can I insert more than 8000 characters in a VARCHAR(MAX) column with ExecuteNonQuery?

キャッシングの問題でした。

0 投票する
4 に答える
8126 参照

c# - ExecuteNonQuery を使用して VARCHAR(MAX) 列に 8000 文字を超える文字を挿入するにはどうすればよいですか?

ExecuteNonQuery(およびDatabaseFactory.CreateDatabase()MS Practices Enterprise Libraryから)8000文字以上(Webページから送信)を挿入しようとしています。ストアド プロシージャは、パラメータを として定義しますVARCHAR(MAX)。コラムはVARCHAR(MAX). 理論的には、2GB のデータを渡すことができるはずです。

8000 を超えるデータを渡すにはどうすればよいですか? ブレークポイントを設定しましたstring.Lengthが、実際には 8K を超えています。

ストアド プロシージャ:

表 (すべてが であることを示すためvarchar(max)):

.

アップデート:

コードを変更したところ、これは機能しているように見えますが、違いはわかりません。

0 投票する
3 に答える
1917 参照

c# - C# とストアド プロシージャを使用して SQL Server から VarChar(MAX) を取得する

SQL Server から列WebMethodを取得するために呼び出される があります。varchar(max)Management Studio で正常に動作する必要なストアド プロシージャを作成しますが、以下のコードを実行するとエラーが発生します。

データが存在しない場合の無効な読み取り試行

コード: