我有一个基于 NAnt 的脚本,我在连接到 SQL Server 2008 Express 的本地 PC 上运行,该脚本也在我的本地 PC 上运行,以使用 .sql 文件删除和重新创建数据库 - 这工作正常,在这里没问题。
当我在另一台 PC 上重新创建相同的设置时,问题就出现了,我的 NAnt 脚本中出现以下错误:
System.InvalidOperationException: The 'SQLNCLI' provider is not registered on the local machine.
at System.Data.OleDb.OleDbServicesWrapper.GetDataSource(OleDbConnectionString constr, DataSourceWrapper& datasrcWrapper)
at System.Data.OleDb.OleDbConnectionInternal..ctor(OleDbConnectionString constr, OleDbConnection connection)
at System.Data.OleDb.OleDbConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningObject)
at System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbConnection owningConnection, DbConnectionPoolGroup poolGroup)
at System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection)
at System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory)
at System.Data.OleDb.OleDbConnection.Open()
at NAnt.Contrib.Util.SqlHelper..ctor(String connectionString, Boolean useTransaction)
at NAnt.Contrib.Tasks.SqlTask.ExecuteTask()
at NAnt.Core.Task.Execute()
at NAnt.Core.Target.Execute()
at NAnt.Core.Project.Execute(String targetName, Boolean forceDependencies)
at NAnt.Core.Project.Execute()
at NAnt.Core.Project.Run()
我在网上搜索,发现在一个论坛上有人建议我需要安装 Microsoft SQL Server Native Client,并从这个 URL 获得它。(不可否认,我只安装了本机客户端部分)
尽管它安装在我的第二台 PC 上,但脚本仍然给我同样的错误。有什么建议么?