如何复制数据表到SQL Server

本文关键字:数据表 SQL Server 复制 何复制 | 更新日期: 2023-09-27 18:18:05

我需要复制一个数据表到一个新的SQL Server表。我没有任何模式但我知道数据表有哪些列(Year,Month,Day,MeanTemp,TotalPrecip,MaxGustSpeed)

从我的研究中,我发现我需要使用SqlBulkCopy,但不能使它工作。该项目是vs2010中的一个win应用程序。不知道这里有没有人能帮我。

Thanks a lot

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)

如何复制数据表到SQL Server

第一个问题是你的应用程序无法连接到数据库。可能的原因:

  1. 您没有启用TCP连接
  2. 您正在使用SQL Express(使用"server=.'SQLEXPRESS")
  3. 你的应用正在运行的身份没有权限连接
  4. 你正在运行一个命名实例(你的代码试图连接到默认实例)

可以使用Management Studio连接吗?

你得到的例外仅仅是因为你还不能连接到Visual Studio中的数据。你说你用的是VS 2010,我建议您在VS. 中创建并测试一个新的数据库连接

本msdn指南将帮助您在Visual Studio中连接到数据。SqlBulkCopy是一种将大数据从任何数据源复制到SQL Server的有效方法,顾名思义,它允许您从其他数据源批量加载MSSQL表。你发布的代码应该工作良好。

如果你使用SQL Express,连接字符串将是这样的:

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

默认instance name,是你的电脑名,我同意Rick先连接使用Management Studio