我对SqlConnection的ChangeDatabase(string databaseName)
感到有些困惑。
我认为,如果数据库名称不在同一模式中,则它们不必是唯一的,例如,我可以使用dbo.DatabaseName和hr.DatabaseName。
尽管我看到的ChangeDatabase
的每个示例仅使用数据库名称...,但只是懒惰,实际上我可以通过使用提供全名
"[dbo].DatabaseName"
作为参数?还是还有其他东西?
答案 0 :(得分:0)
在Microsoft SQL Server中,数据库未按您认为的方式与架构关联。
如果要查看它们之间的父子关系,我会说数据库是父级。
在数据库中,可以存在多个架构。创建它们之后,您可以定义表和其他数据库对象(甚至用户),这些表和其他数据库对象是您在数据库级定义的架构之一的一部分。
因此,ChangeDatabase方法除了在T-SQL中执行“ USE {DBNAME}”语句外什么都不做。