程序在XP下没问题,在win7下提示错误!
 //获得指定数据库内表的列表
        public void GetTablesList_SMO(string strServerName,string strUser,string strPwd,string strDataBase)
        {
            TableList.Items.Clear();
            SQLDMO.SQLServer server = new SQLDMO.SQLServerClass();
            //server.LoginSecure = true;//以Windows身份验证方式登录,去掉改行则必须以用户名和密码登录
            server.Connect(strServerName, strUser, strPwd);
            for (int i = 0; i < server.Databases.Count; i++)
            {
                if (server.Databases.Item(i + 1, "dbo").Name == strDataBase)
                {
                    SQLDMO._Database db = server.Databases.Item(i + 1, "dbo");
                    //获得所有表名称
                    for (int j = 0; j < db.Tables.Count; j++)
                    {
                        TableList.Items.Add(db.Tables.Item(j + 1, "dbo").Name);
                    }
                }
            }