Я создал библиотеку com, с помощью которой я могу обнаружить SQLVolumes, используя пространство имен SMo в VS2005.
Теперь я хочу использовать эту библиотеку com в VS2003 для обнаружения того же sqlvolumes на другом компьютере, где установлен vs2003.
Могу ли я использовать это так? Я создал COM, используя версию VS2005, и теперь я хочу использовать его в VS2003, возможно ли это?
Я прошу вас, люди, не отмечать это как дубликат, потому что мне нужен эффективный ответ.
using System;
using System.Data.SqlClient;
using Microsoft.Win32;
using Microsoft.SqlServer.Management.Smo;
using Microsoft.SqlServer.Management.Common;
using System.Data;
public interface ICalculator
{
void Show();
};
namespace ManagedDLL
{
public class ManagedClass : ICalculator
{
public void Show()
{
Console.WriteLine("from managed class");
Console.WriteLine("c# "); Console.WriteLine("c#");
DataTable dt = new DataTable();
string srvname,filepath;
//evaluates local instances of SQLSERVER
dt = SmoApplication.EnumAvailableSqlServers(true);
Console.WriteLine("Local Instances are \n");
foreach (DataRow dr in dt.Rows)
Console.WriteLine(dr["Name"]);
foreach (DataRow dr in dt.Rows)
{
srvname = (string)dr["name"];
Console.WriteLine("\nConnecting to Server " + srvname + "\n\nDiscovering Volumes...\n\nDiscovering Sql2005 Volumes for the Host " + srvname.ToLower() + "\n");
Console.WriteLine("\nHostName : " + srvname.ToLower() + "\n");
Server srv = new Server(srvname);
Console.WriteLine(" Server Name \n" + srv.Name);
foreach( Database db in srv.Databases)
{
filepath = db.PrimaryFilePath;
Console.WriteLine("File Path : " + filepath + "\\" + db.Name + ".mdf \n");
Console.WriteLine("File Path : " + filepath + "\\" + db.Name + ".ldf \n");
}
}//foreach
}
}
}
Я создал библиотеку com для этого класса, и мне нужно использовать эту библиотеку com в vs2003, и еще одна вещь - это пространство имен smo.
Приведенный выше код не поддерживается .net f / w 1.1. Как я могу это сделать?
При использовании я получаю следующую ошибку:
Необработанное исключение в 0x7c812a6b в Comssss.exe: исключение Microsoft C ++: _com_error @ 0x0012fcbc.