Создание базы данных и схемы Oracle программно ADO.NET - PullRequest
4 голосов
/ 30 января 2012

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

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

1 Ответ

6 голосов
/ 30 января 2012

Я делал это раньше с 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 хранит свои файлы данных.

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

...