Tôi có tập lệnh dựa trên NAnt mà tôi chạy trên máy tính cục bộ kết nối với SQL Server 2008 Express cũng chạy trên máy tính cục bộ của mình để thả và tạo lại cơ sở dữ liệu. sql tập tin - điều này hoạt động tốt, không có vấn đề ở đây.Nhà cung cấp 'SQLNCLI' không được đăng ký trên máy cục bộ
vấn đề này được đưa ra khi tôi đã tái tạo cùng thiết lập trên máy tính khác, tôi nhận được lỗi trong kịch bản Nant của tôi nói rằng:
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()
Tôi đã tìm kiếm trên mạng và đã phát hiện ra rằng trong một diễn đàn nó đã được đề xuất rằng tôi cần cài đặt Microsoft SQL Server Native Client và got it from this URL. (Phải thừa nhận rằng, tôi chỉ cài đặt phần Native Client)
Mặc dù cài đặt này được cài đặt trên PC thứ hai của tôi, tập lệnh vẫn cho tôi lỗi tương tự. Bất kỳ đề xuất?
Đã hoạt động ... Bạn đã thử khởi động lại máy chưa? –
Bất kỳ lý do cụ thể nào tại sao bạn sử dụng nhà cung cấp OleDB từ .Net? Sử dụng nhà cung cấp SqlClient, nó không yêu cầu bất kỳ trình điều khiển được cài đặt, tất cả mọi thứ tàu với. –
Ông có thể chỉ muốn sự linh hoạt của văn bản cho một cái gì đó khác hơn là SQL Server nếu cần thiết. – SqlRyan