Есть ли у драйвера метод ExecuteOracleNonQuery
?Возможно, стоит попробовать это вместо ExecuteNonQuery
.
Если не повезет с этим ...
Я не уверен в этом, но мое подозрение, возможно, водитель не распознает ALTER TABLESPACE
.
Если это так, вы можете попробовать обернуть это в блок PLSQL и использовать EXECUTE IMMEDIATE
, что-то вроде:
private void button1_Click(object sender, EventArgs e)
{
string sqla = @"BEGIN EXECUTE IMMEDIATE 'alter tablespace " + label1.Text + " add datafile '" + textBox1.Text + "' size " + textBox2.Text +"M'; END;";
OracleConnection conn3 = new OracleConnection();
conn3.ConnectionString = connectform.connectionString;
conn3.Open();
OracleCommand cmd3 = new OracleCommand("sqla", conn3);
cmd3.CommandType = CommandType.Text;
cmd3.ExecuteNonQuery();
conn3.Close();
}
Это 'скрывает' ALTER TABLESPACE
оттам драйвер, вместо этого представляя блок PLSQL, с которым он должен счастливо справиться.