如何验证OdbcConnection是否为只读
本文关键字:OdbcConnection 是否 只读 验证 何验证 | 更新日期: 2023-09-27 17:50:14
我有一个开放的OdbcConnection,我试图使用OdbcCommand写入数据库,我想在插入数据之前验证数据库是否为只读。
我可以使用try and catch,但我希望有更好的解决方案。
提前感谢。
OdbcConnection con = new OdbcConnection("DSN=SERVER1;UID=User;PWD=User");
try
{
con.Open();
OdbcCommand cmd = con.CreateCommand();
cmd.CommandText = "INSERT INTO table1 (NAME, AGE) VALUES ('Test', 100)";
cmd.ExecuteNonQuery();
}
catch(Exception e)
{
Console.WriteLine(e.Message);
}
finally
{
con.Close()
}
数据库为只读时的输出:
ERROR [HY000] Database ERROR 10013: Transaction is read-only
对于sql server,可以使用:信息存储在sys.databases.
SELECT name, is_read_only
FROM sys.databases
WHERE name = 'MyDBNAme'
GO
——当数据库设置为只读模式时,在is_read_only返回1。