如何将数据表复制到SQL Server?

时间:2011-12-18 04:59:39

标签: c# asp.net sql-server

我需要将数据表复制到新的SQL Server表中。我没有任何架构,但我知道数据表有哪些列(Year,Month,Day,MeanTemp,TotalPrecip,MaxGustSpeed

从我的研究中我发现我需要使用SqlBulkCopy但是无法使其工作。 该项目是VS 2010中的一个胜利应用程序。想知道这里是否有人可以帮助我。

非常感谢

ps:这是我在这里的第一篇文章,不确定我是否包含了足够的细节,请告诉我是否还需要提及其他任何内容。我也是初学者,所以如果你能以一种易于理解的方式帮助我

这就是我的尝试:

string connectionString = "server=localhost;database=CPSdata;Trusted_Connection=True";

//Open a connection with destination database;
using (SqlConnection connection = new SqlConnection(connectionString))
{
   connection.Open();

   using (SqlBulkCopy bulkcopy = new SqlBulkCopy(connection))
   {
      bulkcopy.DestinationTableName = "dbo.climateRawDataTable";

      try
      {
         bulkcopy.WriteToServer(dt);
      }
      catch (Exception ex)
      {
      }

      connection.Close();
   }
}

我得到的错误是:

  

类型'System.Data.SqlClient.SqlException'的未处理异常   发生在System.Data.dll

中      

其他信息:与网络相关或特定于实例的错误   在建立与SQL Server的连接时发生。服务器是   没找到或无法访问。验证实例名称是否为   正确并且SQL Server配置为允许远程连接。   (提供者:命名管道提供者,错误:40 - 无法打开   连接到SQL Server)

1 个答案:

答案 0 :(得分:0)

您获得的例外仅仅是因为您无法连接到Visual Studio中的数据。你说你在使用VS 2010, 我建议您在VS中创建并测试新的数据库连接

这个msdn指南将帮助您Connecting to Data in Visual StudioSqlBulkCopy是将大数据从任何数据源复制到SQL Server的有效方法,如名称所示,允许您从其他来源批量加载MSSQL表。您发布的代码应该可以正常工作。

如果您使用的是SQL Express,则连接字符串将类似于:

SqlConnection con = new SqlConnection(@"Data Source="InstanceName"\SQLEXPRESS;Initial Catalog=CPSdata;Integrated Security=True");

默认情况下,instance name是您的计算机名称,我同意Rick首先使用Management Studio进行连接。