2016-11-15 8 views
0

я получаю следующее сообщение об ошибке:Входная строка не была в правильном формате в WQL запросе

[WMI Event Watcher Task] Error: An error occurred with the following error message: "Input string was not in a correct format.".

Когда я Execute WQL Query:

SELECT * FROM __InstanceCreationEvent WITHIN 10 
WHERE TargetInstance ISA 'CIM_DataFile' AND TargetInstance.Name ='C:\\Users\Mohammed\\Desktop\\Test\\ETL\\ssis-basic-control-flow-tasks\\file_to_watch.txt' 

Я пытаюсь посмотреть файл, как это :

enter image description here

ответ

0
//Removes local network printer based 
    //on full unc path returns true if successful 
    //otherwise false 

    public static bool RemoveUnc(string printUncPath) 
    { 
     ManagementScope oManagementScope = new ManagementScope(ManagementPath.DefaultPath); 
     oManagementScope.Connect(); 

     SelectQuery oSelectQuery = new SelectQuery(); 
     oSelectQuery.QueryString = @"SELECT * FROM Win32_Printer WHERE Name = '" + 
      printUncPath.Replace("\\", "\\\\") + "'"; 

     ManagementObjectSearcher oObjectSearcher = 
      new ManagementObjectSearcher(oManagementScope, oSelectQuery); 

     ManagementObjectCollection oObjectCollection = oObjectSearcher.Get(); 

     if (oObjectCollection.Count != 0) 
     { 
      foreach (ManagementObject oItem in oObjectCollection) 
      { 
       oItem.Delete(); 
       return true; 
      } 
     } 
     return false; 
    } 

Я предполагаю, что это строка, которая включает в себя косые черты, вызывающие эту ошибку. Ниже приведен пример использования принтера для удаления принтера с локальной рабочей станции. Названия имен принтеров включают формат «\\ printserver \ printerShare». Обратите внимание на printUncPath.Replace ("\\", "\\\\"). Подумайте, это решит вашу проблему. Довольно уверен, что вам нужно бежать дважды.