我有VS2005 .NET C#程序。我的理解是,VS2005只针对.NET FW的2.0版本。该程序使用批量复制对象。我相信这个对象的源DLL是Version 2 Framework系统文件夹中的System.Data.dll文件。升级到SQL Server 2008:升级使用BCP的VS2005 .NET程序
我的猜测是在使用BulkCopy对象时,System.Data.dll必须调用BCP.exe的SQL Server 2005版本。目前,我们的数据库服务器上有BCP.exe的2005和2008版本。很快,2005版本将被删除,我需要确保我的.NET程序将继续运行。
我的想法是使用VS2008将应用程序升级到3.5版本的框架,我验证它是在数据库服务器上。事实上,我看到FW的所有版本都有,包括1,1,2,0,3.5和4.0。我在想,如果我升级到3.5版本的FW,2008版本的BCP.exe将被使用。
我如何知道我使用的批量拷贝(BCP.exe)的哪个版本,以确保当我们的数据库服务器上只保留2008 BCP.exe时,程序能够继续工作?
是的,我在谈论SqlBulkCopy类。我假设你的意思是写BCP.exe,而不是dcp.exe?如果FW版本和SQL Server版本之间没有连接,f我的PC上有多个版本的SQL Server,我怎么知道VS2005程序使用的是哪个版本? – ChadD
要连接到SQL Server,您的应用程序使用连接字符串。在连接字符串中,您不仅指定服务器的名称,还指定服务器实例的名称。您可以在连接字符串中找到数据源属性。因此,“数据源= MYCOMPUTER \ INSTANCE_ON_SQL2005”和“数据源= MYCOMPUTER \ INSTANCE_ON_SQL2008”连接到同一台计算机上的SQL Server的不同实例。当然,他们可以有不同的版本。 –
如果你不相信所有说bcp.exe不相关的答案,这是超级简单的检查方法。只是临时将bcp.exe重命名为其他内容,并尝试运行您的应用程序。 –