我有一个用 C# 开发的应用程序,它遵循这个工作流程:
- 读取 CSV 文件
- 创建临时表
- 使用 SqlBulkCopy 将 CSV 数据发送到临时表
- 调用存储过程合并真实表中的临时表
删除临时表
using (var dbConnection = new SqlConnection(_connectionString)) { dbConnection.Open(); using (var cmd = new SqlCommand("CREATE TABLE [#UpdatedData]([Path] [nvarchar](50))", dbConnection)) { cmd.ExecuteNonQuery(); } using (var bulkCopy = new SqlBulkCopy(dbConnection)) { bulkCopy.DestinationTableName = "[#UpdatedData]"; bulkCopy.WriteToServer(dt); } using (var cmd = new SqlCommand("usp_MergeData", dbConnection)) { cmd.CommandType = CommandType.StoredProcedure; cmd.ExecuteNonQuery(); } using (var cmd = new SqlCommand("DROP TABLE [#UpdatedData]", dbConnection)) { cmd.ExecuteNonQuery(); } }
我的问题是我在 C# 中创建临时表,我无法编写 SQL Server 存储过程,因为它找不到临时表。有什么解决方法吗?
我将 localdb 用于开发,将 SQL Azure 用于生产。