Já to řeším tak, že mam v projectu script, který obsahuje třeba vytvoření database. Tento script projedu a poskladám si jednotlivé příkazy. Na konec příkazy pošlu přes OdbcCommand.ExecutenoQuery. Nevim jestli je to nejlepší řešení, ale funguje. Pozor některé věci se musí ošetřit.
private void CreateKBase()
{
StringBuilder sbCreateTrigger = new StringBuilder();
String Path = AppDomain.CurrentDomain.BaseDirectory + @"Database";
string sline = string.Empty;
int iValue = 0;
ArrayList Files = new ArrayList();
try
{
Files.AddRange(System.IO.Directory.GetFiles(Path));
foreach (string sfile in Files)
{
StreamReader sr = new StreamReader(sfile);
sbCreateTrigger = new StringBuilder();
iValue = 0;
while (sr.EndOfStream == false)
{
sline = sr.ReadLine();
if (sline == "GO" && sline.Length > 0)
UDA.ExecuteCommand(sbCreateTrigger.ToString());
else if (sline != "GO")
sbCreateTrigger.Append(" " + sline);
if (sline == "GO")
sbCreateTrigger = new StringBuilder();
}
}
}
catch (Exception ex)
{
throw new Exception(ex.Message);
}
}
|