- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我在互联网上进行了搜索,所有内容似乎都与个别字段有关或进行一次插入。我有一个迁移工具,可以从旧的遗留数据库 (superbase) 迁移到我们的 SQL Server DB (2008)。目前,我正在从旧数据库中读取 20,000 条记录并生成一个大的 SQLCommand.CommandText
字符串,其中包含 20,000 个由分号分隔的插入语句。 这很好用。但是我可以做25k吗? 3万?我尝试过完全不设置任何限制,但是当我尝试使用包含超过 400 万条 INSERT 语句的 CommandText
运行 ExecuteNonQuery
时,它说的是太长了。我不记得确切的错误消息,抱歉。我找不到任何关于确切限制的文档。找出答案对我来说很重要,因为我一次可以发射的插入物越多,整个过程就越快。非常感谢任何建议/链接/文档,谢谢!
最佳答案
这取决于 SQL Server 版本。
http://technet.microsoft.com/en-us/library/ms143432.aspx
对于 SQL Server 2012,批处理大小或 SQL 语句(字符串)= 65,536 * 网络数据包大小。
网络数据包大小是用于在应用程序和关系数据库引擎之间进行通信的表格数据流 (TDS) 数据包的大小。默认数据包大小为 4 KB,由网络数据包大小配置选项控制。
简而言之,64K x 4K = 256 MB。同样,这假设您使用的是默认数据包大小。
关于c# - SQLCommand ExecuteNonQuery 最大 CommandText 长度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21390537/
只有在我将工作代码更改为使用数据 View 而不是文本框来显示单行数据之后,我才遇到这个问题。 我有以下内容: static SqlConnection dbConnection = new SqlC
VB.NET,带有 MySQL 的 Winforms 应用程序。由于资金和连接可靠性的限制,在我的应用程序中,我添加了通过使用邮件附件进行更新的功能。一切都运转良好。在应用程序表单加载中,即使我让它检
我想知道我可以给 CommandText 字段的文本长度是否有一些限制? 我正在使用 MySqlConnection 和 MySqlCommand。 最佳答案 检查此链接 Mysql Dataprov
在 .NET 中以编程方式替换参数值后,是否有办法获取 CommandText? 假设我们有一个命令: let cmd = conn.CreateCommand() cmd.CommandText <
此代码之前运行良好。然而,我需要事务化我的读写,当我试图通过事务化我的读取来开始该过程时,我遇到了这个 commandText 未初始化的错误。 确切错误,第 156 行是 DA.Fill(tbl);
我正在尝试构建一个 SQL 查询并将一个字符串作为参数传递。但是,我遇到了不正确的语法错误。我已经打印出这些值,但对我来说一切都很好。 我有一个字符串“sqlString”,它是通过一系列连接构建的,
Reader 总是null,我不知道为什么。 在使用一种方法连接之前,一切正常。 代码: private MySqlConnection connection; private MySqlComman
我在我的项目中使用网格,这些网格是通过 DataSet 填充的s 和 DataTable秒。我用 DataNavigator关于 grid s 用于插入、删除和更新行,我想将更改提交给 databas
我向自己保证我不会发布这个,因为我有一种妄想的想法,认为我太适合程序员了,但我们到了。 我已经更改了上周早些时候发布的内容,试图弄清楚如何编写一个 VBA 函数,该函数将数据从 Excel 范围写入
我对将 SQL 合并到 VBA 中相当缺乏经验,但是对于我的下一个技巧,我想根据自己的喜好排列表中的列。 Sub ExecuteQuery1() Dim SQLstr As String SQLstr
现在我正在编写板球计分软件,所有详细信息都保存在数据库中。我想知道如何在单击“Wicket”时向数据库中的“W”字段添加 +1。 cmd.CommandText = "UPDATE database.
我有一个连接到 TDataSetProvider 的 TClientDataSet,而 TDataSetProvider 又连接到 TAdsQuery。我设置 SQL 命令,然后打开 ClientDa
我为 System.Data.Common.DbProviderServices 类创建了一个包装器。我需要在此包装器中编辑 DbCommand.CommandText。如何在 CreateDbCom
标题有点粗俗,我会尽力解释得更好。因此,在我的应用程序中,我有两个连接字符串,一个用于本地数据库,另一个用于 Web 数据库。这两个数据库必须使用相同的记录进行更新。现在,在我的应用程序中,当我在本地
我想在 C# 中基于 OracleSQL 创建简单的登录 + 注册表单。我正在使用 Oracle 的 ManagedDataAccess 客户端(来自 NuGet)。 我试过这样使用它: Oracle
我正在尝试使用代码向数据库中插入一行,然后在单击按钮后立即显示该代码。我正在使用 C#。 comm.CommandText = "INSERT INTO Store (FirstName, LastN
procedure TForm1.Button1Click(Sender: TObject); begin ADOQuery1.close; ADOQuery1.SQL.text:
我是sql和C#的新手,并且im在executenonquery commandtex中出错。我不知道错误在哪里。你们可以帮我吗? private void submitBtn_Click(objec
昏暗的SQL作为字符串 sql = "insert into transactions (`transid`) values('" + Text1.Text + "')" sql = sql & ";
是否可以从纯命令文本解析 sql 参数? 例如 //cmdtext = SELECT * FROM AdWorks.Countries WHERE id = @id SqlCommand sqlc =
我是一名优秀的程序员,十分优秀!