Вот конец SQL, что касается создания выходного файла, это довольно просто, так что я оставлю этот код на ваше усмотрение. Существуют и другие варианты выполнения запроса, в зависимости от того, что вам нужно в вашей реализации.
edit Можете ли вы быть более конкретным в том, что вы ищете? Я добавлю код для создания журнала, я полагаю, и выписать все.
edit 2 Для файла accdb вам нужно будет использовать соединение OleDB, а не соединение SQL, как показано на этой диаграмме. Я отредактировал приведенный ниже код для работы с файлом accdb. Я не настолько знаком с этим, поэтому не могу обещать, что он будет работать на 100%, но единственными проблемами должен быть синтаксис. Кстати, ни один из входов не подвергается дезинфекции, и может быть лучше параметризовать входы, но так как это звучит так, как будто вы выполняете это самостоятельно, в этом нет необходимости. Если это отвечает на ваши вопросы, пожалуйста, отметьте как принятый :)
using System.Data.OleDB;
using System.IO;
static int Main(string[] args)
{
//Make a list to hold your params
List<string> paramList = new List<string>();
//Populate the list based on args
for (int i = 0; i < args.Length(); i++)
{
paramList.Add(args[i]);
}
//Create a new oledb connection
string path = "c:\\yourfilepath\\file.accdb";
OleDbConnection myConnection =
new SqlConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source='" +
path + "';");
myConnection.Open();
//Run the stored proc on each param and output result to file
using (System.IO.StreamWriter file = new System.IO.StreamWriter(@"filepath\filename"))
{
foreach (string param in paramList)
{
//myCommand.CommandText is the query you want to run against your database
//i.e. the stored proc
OleDbCommand myCommand = myConnection.CreateCommand();
myCommand.CommandText = "stored_proc " + param;
OleDbDataReader myReader = myCommand.ExecuteReader();
if (myReader.HasRows)
{
file.WriteLine("pass: " + param);
}
else
{
file.WriteLine("fail: " + param);
}
myReader.Close();
}
}
myConnection.Close();
}