Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

How to define a custom buffer size to streaming data to SQL Server? #3735

Unanswered
AugustoDeveloper asked this question in Q&A
Discussion options

Hey, i have a question: Is there a way to define a custom buffer size to streaming data to SQL Server?

The code below uses a Stream to insert a large file into column called Data. The file size is 800MB .

const string Statement =
"""
INSERT INTO [dbo].[Stream]
 (Id, Data)
VALUES
 (@Id, @Data);
""";
using var input = File.OpenRead("/tmp/dfs/data/1/sample.txt");
using var connection = new SqlConnection(ConnectionString);
connection.Open();
using var cmd = new SqlCommand(Statement, connection);
cmd.Parameters.AddWithValue("@Data", input);
cmd.Parameters.AddWithValue("@Id", 1);
cmd.ExecuteNonQuery();

I noticed when i run, the chunk size used to streaming is 4096 and cannot find a way to set a different size. Debugging the code i found the line where is create the buffer with a constant size:

https://github.com/dotnet/SqlClient/blob/fc514f6b8ffe0e0b664daaf5dad4f7f883a8a975/src/Microsoft.Data.SqlClient/src/Microsoft/Data/SqlClient/TdsParser.cs#L12872C12-L12880C55

Can you help me ?

I opened an issue but i really dont know where i should do ask this question, sorry if i'm doing wrong 😁

You must be logged in to vote

Replies: 0 comments

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
None yet
1 participant

AltStyle によって変換されたページ (->オリジナル) /