Профилировщик SQL Server — не удалось загрузить pfclnt.dll

Прежде всего, я начинающий программист .NET, и я застрял в попытке решить проблему с помощью специального трассировщика SQL Profiler, подобного описанному здесь - http://www.codeproject.com/Articles/20173/MS-SQL-Server-Profiler-with-NET

Итак, я использую TraceServer(http://technet.microsoft.com/en-us/library/Microsoft.SqlServer.Management.Trace.TraceServer.aspx) в класс InitializeAsReader, и он немедленно выдает мне

"Failed to initialize object as reader."

с внутренним исключением -

"Could not load file or assembly 'file:///c:\\Program Files (x86)\\Microsoft SQL Server\\100\\Tools\\Binn\\pfclnt.dll' or one of its dependencies. The system cannot find the file specified.""

Интересно, что это происходит только тогда, когда я пытаюсь подключиться к SQL Profiler 2012, и у меня нет проблем с 2008R2. Также я заметил, что pfclnt.dll присутствует в "C:\Program Files (x86)\Microsoft SQL Server\110\Tools\Binn", а не в папке, упомянутой в трассировке.

Есть ли способ попросить его загрузить его из нужного места? Почему он изначально смотрит не в то место?


person aathif    schedule 26.05.2014    source источник


Ответы (1)


Хорошо, я понял, что в моем проекте были ссылки на сборки SQL Server 2008, особенно на эту - C:\Program Files (x86)\Microsoft SQL Server\100\SDK\Assemblies\Microsoft.SqlServer.ConnectionInfoExtended.dll. Я удалил эти ссылки и добавил ссылки на библиотеки 2012 года, присутствующие в C:\Program Files (x86)\Microsoft SQL Server\110\SDK\Assemblies, и теперь все работает!

Этот вопрос - имена файлов SQL Server и версии помог мне понять странные имена папок который SQL-сервер использует для разделения версий.

person aathif    schedule 28.05.2014