C# 如何将数据表复制到SQL Server?
我需要将数据表复制到新的SQL Server表中。我没有任何模式,但我知道数据表有哪些列(C# 如何将数据表复制到SQL Server?,c#,asp.net,sql-server,C#,Asp.net,Sql Server,我需要将数据表复制到新的SQL Server表中。我没有任何模式,但我知道数据表有哪些列(Year、Month、Day、MeanTemp、TotalPrecip、MaxGustSpeed) 从我的研究中,我发现我需要使用SqlBulkCopy,但无法使其工作。 该项目是VS2010中的一个win应用程序。不知道这里是否有人能帮我 非常感谢 ps:这是我在这里的第一篇文章,不确定我是否包含了足够的细节,请告诉我还有什么需要提及的。我也是一个初学者,所以如果你能以一种简单易懂的方式帮助我 这就是我所
Year、Month、Day、MeanTemp、TotalPrecip、MaxGustSpeed
)
从我的研究中,我发现我需要使用SqlBulkCopy
,但无法使其工作。
该项目是VS2010中的一个win应用程序。不知道这里是否有人能帮我
非常感谢
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的连接)
第一个问题是你的应用程序无法连接到数据库。可能的原因:
您可以使用Management Studio进行连接吗?您遇到的异常仅仅是因为您还不能连接到Visual Studio中的数据。你说你用的是VS 2010, 我建议您在VS中创建并测试一个新的数据库连接 本msdn指南将在以下方面帮助您。这是一种将大数据从任何数据源复制到SQL Server的有效方法,正如其名称所说,它允许您从其他数据源批量加载MSSQL表。你发布的代码应该可以正常工作 如果您使用的是SQL Express,则连接字符串如下所示:
SqlConnection con = new SqlConnection(@"Data Source="InstanceName"\SQLEXPRESS;Initial Catalog=CPSdata;Integrated Security=True");
默认情况下,
实例名
是您的计算机名,我同意Rick先使用Management Studio进行连接。您说过您无法使其工作。您可以分享您尝试的内容以及遇到的问题/错误吗?@Febe Welcome.see[.谢谢Shree Khanal.我会查出来的。bryanmac我更新了问题并添加了代码:)你是在开发SQL Server Express吗?它是sqlexpress,但我把它移到了SQL Server 2008,但还是一样的问题谢谢RickNZ。我在使用sqlexpress时尝试将它移到sql2008(而不是添加Server=localhost\sqlserver),但仍然得到相同的错误。关于TCP连接,我不知道如何检查它。对于权限,我尝试更改权限(安全->登录->sqlserver2008->映射->dbowener selected),但仍然没有成功。关于命名实例,我记得在安装时,我必须添加一个命名实例。但我记不起名称。我如何理解它的名称?您可以从SQL Server Configuration Manager启用TCP连接。选择左侧的SQL Server网络配置,双击您的实例on在右侧,然后右键单击TCP/IP并选择启用,然后重新启动SQL Server。您还可以从Configuration Manager中看到所有已安装的实例。仅连接到“localhost”与连接到默认实例(称为MSSQLSERVER)相同。对于任何其他实例(包括SQL Express),则需要在conn字符串的“服务器”部分显式包含其名称,如“localhost\YourInstanceName”。