C# 如何增加SQL connectionstring的连接超时?
现在我想读取包含大数据的文件并插入到SQL表中。问题是SQL连接超时时间只有30秒。 我想将SQL连接的超时时间增加到大约2或3分钟 我该怎么做。。请帮忙。 我正在将数据从csv文件上载到SQL dbC# 如何增加SQL connectionstring的连接超时?,c#,mysql,sql,sql-server,C#,Mysql,Sql,Sql Server,现在我想读取包含大数据的文件并插入到SQL表中。问题是SQL连接超时时间只有30秒。 我想将SQL连接的超时时间增加到大约2或3分钟 我该怎么做。。请帮忙。 我正在将数据从csv文件上载到SQL db 谢谢。您可以增加SqlBulkCopy.BulkCopyTimeout属性。默认为30秒。您还可以增加SELECT命令的OleDbCommand.CommandTimeout private void button5_Click(object sender, EventArgs e) {
谢谢。您可以增加
SqlBulkCopy.BulkCopyTimeout
属性。默认为30秒。您还可以增加SELECT命令的OleDbCommand.CommandTimeout
private void button5_Click(object sender, EventArgs e)
{
string filepath = textBox2.Text;
string connectionString_i = string.Format(@"Provider=Microsoft.Jet.OleDb.4.0; Data Source={0};Extended Properties=""Text;HDR=YES;FMT=Delimited""",
Path.GetDirectoryName(filepath));
using (OleDbConnection connection_i = new OleDbConnection(connectionString_i))
{
connection_i.Open();
OleDbCommand command = new OleDbCommand("Select * FROM [" + Path.GetFileName(filepath) +"]", connection_i);
using (OleDbDataReader dr = command.ExecuteReader())
{
string sqlConnectionString = MyConString;
using (SqlBulkCopy bulkCopy = new SqlBulkCopy(sqlConnectionString))
{
SqlBulkCopy bulkInsert = new SqlBulkCopy(sqlConnectionString);
bulkInsert.DestinationTableName = "Table in SQL DB";
bulkInsert.WriteToServer(dr);
MessageBox.Show("Upload to DB Successful!");
}
}
connection_i.Close();
}
}
您可以增加
SqlBulkCopy.BulkCopyTimeout
属性。默认为30秒。您还可以增加SELECT命令的OleDbCommand.CommandTimeout
private void button5_Click(object sender, EventArgs e)
{
string filepath = textBox2.Text;
string connectionString_i = string.Format(@"Provider=Microsoft.Jet.OleDb.4.0; Data Source={0};Extended Properties=""Text;HDR=YES;FMT=Delimited""",
Path.GetDirectoryName(filepath));
using (OleDbConnection connection_i = new OleDbConnection(connectionString_i))
{
connection_i.Open();
OleDbCommand command = new OleDbCommand("Select * FROM [" + Path.GetFileName(filepath) +"]", connection_i);
using (OleDbDataReader dr = command.ExecuteReader())
{
string sqlConnectionString = MyConString;
using (SqlBulkCopy bulkCopy = new SqlBulkCopy(sqlConnectionString))
{
SqlBulkCopy bulkInsert = new SqlBulkCopy(sqlConnectionString);
bulkInsert.DestinationTableName = "Table in SQL DB";
bulkInsert.WriteToServer(dr);
MessageBox.Show("Upload to DB Successful!");
}
}
connection_i.Close();
}
}
除了在连接字符串中设置连接超时外,还有一个基于实际SqlCommand的超时。因此,连接超时可能为3分钟,但如果SqlCommand的默认超时为30秒,则命令将首先超时。除了在连接字符串中设置连接超时外,可能还需要设置两个,还有一个基于实际SqlCommand的超时。因此,连接超时可能为3分钟,但如果SqlCommand的默认超时为30秒,则命令将首先超时。您可能想同时设置这两个这似乎不是因为需要更多的时间,但连接本身有问题。尝试在执行批量命令之前关闭读卡器。您使用的是MySQL还是MS SQL Server?(不要给未涉及的产品贴标签。)这似乎不是因为需要更多的时间,但连接本身有问题。尝试在执行批量命令之前关闭读卡器。您使用的是MySQL还是MS SQL Server?(不要给未涉及的产品贴标签。)