我想從aspnet(c#)中刪除數據庫。但它給了我一個錯誤:有一些聯繫。 如果我刪除所有連接:Drop Postgresql數據庫
SELECT pg_terminate_backend (pg_stat_activity.pid) FROM pg_stat_activity
WHERE pg_stat_activity.pid <> pg_backend_pid() and pg_stat_activity.datname = 'databsename';
它給了我另一個錯誤:連接輸。
這就像是我執行上面的句子,它正在關閉我所有的連接。
我使用npgsql作爲連接器。
這裏我的代碼: 按鈕中的代碼:
NpgsqlConnection _connPgComienzo = new NpgsqlConnection("my_connection_to_other_DDBB_in_the_same_server;");
try
{
_connPgComienzo.Open();
FileInfo file1 = new FileInfo(Server.MapPath("desconectar.sql"));
string script_crear_bbdd = file1.OpenText().ReadToEnd();
var m_createdb_cmd1 = new NpgsqlCommand(script_crear_bbdd, _connPgComienzo);
m_createdb_cmd1.ExecuteNonQuery();
_connPgComienzo.Close();
_connPgComienzo.Open();
FileInfo file2 = new FileInfo(Server.MapPath("drop_bbdd.sql"));
string script_crear_bbdd2 = file2.OpenText().ReadToEnd();
var m_createdb_cmd2 = new NpgsqlCommand(script_crear_bbdd2, _connPgComienzo);
m_createdb_cmd2.ExecuteNonQuery();
_connPgComienzo.Close();
}
catch (Exception ex)
{
}
desconectar.slq:
SELECT pg_terminate_backend (pg_stat_activity.pid) FROM pg_stat_activity
WHERE pid <> pg_backend_pid() AND pg_stat_activity.datname = 'theDDBBIWantToDrop';
drop_bbdd.sql:
DROP DATABASE theDDBBIWantToDrop;
http://stackoverflow.com/questions/17449420/postgresql-unable-to-drop-database- because -of-some-auto-connections-to-db?rq = 1 – Endrju
它不適用於我。 而我不想阻止連接,我想突然刪除數據庫。 我編輯說,是的,它在postgresql客戶端(maestro),但不工作在C# – Za7pi
向我們顯示的代碼不工作。編輯你的問題並粘貼它。 – Endrju