Ok, he fregado la tela, BOL, diversos foros y yo soy no más cercano a una respuesta ... es de esperar que gente fina puede echar una mano ...SQL Server SMO se queja de falta de DLL
Tenemos una docena de servidores SQL (unos 2k, algunos de 2005) en una red. Estoy usando objetos SMO en una aplicación .NET para obtener información estándar. Mi problema parece reducirse a una DLL faltante: Microsoft.SqlServer.BatchParser.dll. Sin embargo, esta DLL no viene con las otras DLL de SQL (Microsoft.SqlServer.ConnectionInfo.dll, Microsoft.SqlServer.Smo.dll, Microsoft.SqlServer.SmoEnum.dll, Microsoft.SqlServer.SqlEnum.dll, etc.) . También descargué el paquete de características SS2005 del sitio de Microsoft que incluye los objetos SMO, pero aún no tuve suerte.
El siguiente código funciona, a menos que elimine la línea que se comenta en la actualidad, en cuyo caso se produce el error a continuación:
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();
}
error: no puede cargar el archivo o ensamblado 'Microsoft.SqlServer.BatchParser , Versión = 9.0.242.0, Cultura = neutral, PublicKeyToken = 89845dcd8080cc91 'o una de sus dependencias. El sistema no puede encontrar el archivo especificado.
Nota, también he intentado esto desde SSIS usando VB.NET, el mismo comportamiento.
Cualquier pensamiento sería apreciado.
Gracias.
Gracias por la respuesta. Sin embargo, no sé específicamente dónde se encuentra el Caché de la Asamblea Global, he buscado todo el disco y ese dll no existe. También he vuelto a instalar el último framework (3.5 SP1). –
El GAC por lo general está en% windir% \ assembly – kristianp