У меня есть основанный на NAnt script, который я запускаю на своем локальном ПК, который подключается к SQL Server 2008 Express, также работающий на моем локальном ПК, чтобы отбрасывать и воссоздавать базы данных с использованием файлов .sql - это работает отлично, здесь нет проблем.
Проблема возникает, когда я воссоздал одну и ту же настройку на другом ПК, я получил ошибку в своем NAnt script, сказав, что:
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, а получил его из этого URL-адреса. (По общему признанию, я только установил часть Native Client этого)
Несмотря на то, что это установлено на моем втором ПК, script все равно дает мне ту же ошибку. Любые предложения?