在数据读取器中,我调用了一个
INSERT
查询大约 30 次。
在特定的 SQL Server 表上,没有插入任何内容。它只是崩溃并超时了。
如果我在一个新表上执行相同的代码(与前一个表完全相同的规范),它会起作用。
如果我只在一行上执行
INSERT
,它在第一个有问题的表中也能正常工作。
该表大约有 30000 行。
到目前为止,我怀疑问题出在特定的表上,因为代码与“新”表一起工作。
我试图重建表索引,但它没有改变任何东西。
谢谢你的帮助。
代码(
FAULTYTABLE
有一个自动索引-是身份):
Dim SqlDataSource1 As New SqlDataSource
SqlDataSource1.ConnectionString = ConfigurationManager.ConnectionStrings("bdConnectionString1").ConnectionString
SqlDataSource1.DataSourceMode = SqlDataSourceMode.DataReader
SqlDataSource1.SelectCommand = "SELECT indexid FROM MYTABLE"
SqlDataSource1.InsertCommand = "INSERT INTO FAULTYTABLE (indexid) VALUES (@indexid)"
SqlDataSource1.InsertParameters.Add(New Parameter("indexid", Data.DbType.Int32))
Dim reader As System.Data.SqlClient.SqlDataReader = DirectCast(SqlDataSource1.[Select](DataSourceSelectArguments.Empty), System.Data.SqlClient.SqlDataReader)
While reader.Read()
SqlDataSource1.InsertParameters("indexid").DefaultValue = reader("indexid").ToString
SqlDataSource1.Insert()
End While
reader.Close()