ローカルPC上で実行するNAntベースのスクリプトを使用して、ローカルPC上でSQL Server 2008 Expressに接続し、データベースを削除し再作成します。 SQLファイル - これは問題なく動作します。'SQLNCLI'プロバイダーがローカルマシンに登録されていません
問題は、私は別の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とgot it from this URLをインストールする必要があることが示唆されました。 (確かに、私はこれのネイティブクライアント部分のみをインストールしました)
これは私の2番目のPCにインストールされていますが、スクリプトでも私に同じエラーが表示されます。助言がありますか?
すみませんでした...マシンを再起動しましたか? –
.NetからOleDBプロバイダを使用する特別な理由は何ですか? SqlClientプロバイダを使用します。ドライバをインストールする必要はありません。すべてが.netに付属しています。 –
彼は、必要に応じてSQL Server以外のものに書き込む柔軟性を望むかもしれません。 – SqlRyan