00001 #pragma once 00002 00003 class ODBQCmdEngine 00004 { 00005 private: 00007 AppSecInc::Xml::XmlDocument _xmlresults; 00009 MSXML2::IXMLDOMNodePtr _xmlresults_rootnode; 00011 std::wstring output; 00012 public: 00014 TCLAP::CmdLine _cmd; 00016 TCLAP::SwitchArg _nologo; 00018 TCLAP::SwitchArg _nosql; 00020 TCLAP::SwitchArg _noresults; 00022 TCLAP::ValueArg<std::wstring> _connectionstring; 00024 TCLAP::ValueArg<std::wstring> _database; 00026 TCLAP::MultiArg<std::wstring> _sql; 00028 TCLAP::MultiArg<std::wstring> _file; 00030 TCLAP::ValueArg<std::wstring> _type; 00032 TCLAP::ValueArg<std::wstring> _delimiter; 00034 TCLAP::ValueArg<std::wstring> _outputfile; 00036 TCLAP::MultiArg<std::wstring> _datafile; 00038 TCLAP::SwitchArg _flatten; 00040 TCLAP::SwitchArg _rawoutput; 00041 public: 00042 ODBQCmdEngine(int argc, wchar_t * argv[]); 00044 void Execute(); 00045 private: 00047 std::wstring GetConnectionString(); 00049 void ExecuteSql(const std::wstring& query); 00051 void ExecuteFile(const std::wstring& file); 00053 void Execute(AppSecInc::Databases::ODBC::OdbcParser& parser); 00055 void InsertDataFile(const std::wstring& file); 00056 };
© Application Security Inc. - All Rights Reserved | http://msiext.codeplex.com |