Хорошо, я просмотрел Интернет, BOL, различные форумы, и я не приблизился к ответу ... надеюсь, вы, прекрасные люди, можете протянуть руку помощи ...
У нас есть около дюжины SQL-серверов (около 2k, около 2005 г.) в сети. Я использую объекты SMO в приложении .NET, чтобы получить некоторую стандартную информацию. Моя проблема, похоже, сводится к отсутствующей DLL - Microsoft.SqlServer.BatchParser.dll. Однако эта DLL не поставлялась с другими библиотеками SQL (Microsoft.SqlServer.ConnectionInfo.dll, Microsoft.SqlServer.Smo.dll, Microsoft.SqlServer.SmoEnum.dll, Microsoft.SqlServer.SqlEnum.dll и т. Д.) . Я также загрузил пакет функций SS2005 с сайта Microsoft, который включает объекты SMO, но все равно не повезло.
Следующий код работает, если я не раскомментирую строку, которая в настоящее время прокомментирована, и в этом случае я получаю следующую ошибку:
protected void btnArchive_Click(object sender, EventArgs e)
{
ServerConnection conn = new ServerConnection("my_server");
conn.LoginSecure = false;
conn.Login = "my_login";
conn.Password = "my_password";
Server s = new Server(conn);
Database d = s.Databases["my_database"];
//Table tbl = d.Tables["my_table"];
Response.Write(s.Name + " " + s.Information.RootDirectory + " " + d.CreateDate.ToShortDateString());
conn.Disconnect();
}
Ошибка: не удалось загрузить файл или сборку Microsoft.SqlServer.BatchParser, Version = 9.0.242.0, Culture = нейтральный, PublicKeyToken = 89845dcd8080cc91 или одну из их зависимостей. Система не может найти указанный файл.
Обратите внимание, я также пробовал это из SSIS с использованием VB.NET, такое же поведение.
Любые мысли будут оценены.
Спасибо.