Хорошо, я просмотрел веб-сайт, 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 = neutral, PublicKeyToken = 89845dcd8080cc91" или одну из его зависимостей. Система не может найти указанный файл.
Заметьте, я также пробовал это из SSIS, используя VB.NET, такое же поведение.
Любые мысли будут оценены.
Спасибо.