Программное создание базы данных и схемы Oracle ADO.NET

Как я могу программно создать базу данных оракула в ADO.NET и схему для нее с идентификатором пользователя + паролем, чтобы я мог просто перейти к моему нелюбимому инструменту инструмент разработчика sql oracle, где я просто создаю соединение, вводя:

  • имя строки подключения
  • Идентификатор пользователя (схема)
  • пароль

person Pascal    schedule 29.01.2012    source источник


Ответы (1)


Я делал это с SQL раньше, но никогда не пробовал с ADO.NET...

string connectionString = "...";
string oracleDataPath = "C:\\PATH_TO_ORADATA\\";

string username = "NEW_USER";
string password = "NEW_PWD";
string schema = "NEW_SCHEMA";

using (OracleConnection conn = new OracleConnection(connectionString))
{
    conn.Open();
    OracleCommand cmd = conn.CreateCommand();
    cmd.CommandText = "CREATE TABLESPACE \"" + schema + "\" DATAFILE '" + oracleDataPath + schema + ".DBF' SIZE 10M AUTOEXTEND ON NEXT 1M";
    cmd.ExecuteNonQuery();
    cmd.CommandText = "CREATE USER \"" + username + "\" IDENTIFIED BY \"" + password + "\" DEFAULT TABLESPACE \"" + schema + "\" TEMPORARY TABLESPACE TEMP";
    cmd.ExecuteNonQuery();
    cmd.CommandText = "GRANT CONNECT TO \"" + username + "\"";
    cmd.ExecuteNonQuery();
    cmd.CommandText = "ALTER USER \"" + username + "\" QUOTA UNLIMITED ON \"" + schema + "\"";
    cmd.ExecuteNonQuery();
}

Используйте учетную запись ADMIN/DBA в строке подключения.
Задайте для oracleDataPath путь, по которому Oracle хранит свои файлы данных.

Дайте мне знать, если это сработает :-)

person Evan Garofalo    schedule 29.01.2012