检索数据库架构
我想知道,如何检索 Sql 数据库架构信息,例如表、列及其表之间的关系等。我知道如果我在主数据库和目标数据库上执行不同的特定查询,这是可能的。但是有没有有效的方法来检索数据库的模式?
提前致谢。
I want to know, how can I retrieve Sql-Database schema informations such as Tables, Columns and Their relation between Tables and etc. I know it's possible if I execute different particular queries on Master Database and the targeted Database. But Is there any efficient way to retrieve schema of database ?
Thanks in advance.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
看看 codeplex 上的这个项目:
http://dbschemareader.codeplex.com/releases/view/71696
Take a look at this project on codeplex:
http://dbschemareader.codeplex.com/releases/view/71696
您可以通过
GetSchema
获取数据库元数据Connection
类的方法。You can obtain the database metadata via
GetSchema
method ofConnection
class.尝试遵循这些文章。
http://support.microsoft.com/kb/309681/en
http://support.microsoft.com/kb/310107/en
问候
try to follow those articles.
http://support.microsoft.com/kb/309681/en
http://support.microsoft.com/kb/310107/en
Regards
使用
SqlConnection
类的GetSchema
方法:DataTable t = _conn.GetSchema("Tables")
;有关详细信息,请阅读 MSDN 文章检索数据库架构信息 (ADO.NET)。。
Use the
GetSchema
method of theSqlConnection
class:DataTable t = _conn.GetSchema("Tables")
;For more info read the MSDN article Retrieving Database Schema Information (ADO.NET)..
GetSchema 和 Schema 集合
每个 .NET Framework 托管提供程序中的 Connection 类都实现 GetSchema 方法,该方法用于检索有关当前连接的数据库的架构信息,并且从 GetSchema 方法返回的架构信息采用以下形式:数据表。 GetSchema 方法是一个重载方法,它提供可选参数来指定要返回的架构集合,并限制返回的信息量。
http://msdn.microsoft.com/en-我们/library/ms254934(v=vs.110).aspx
GetSchema and Schema Collections
The Connection classes in each of the .NET Framework managed providers implement a GetSchema method which is used to retrieve schema information about the database that is currently connected, and the schema information returned from the GetSchema method comes in the form of a DataTable. The GetSchema method is an overloaded method that provides optional parameters for specifying the schema collection to return, and restricting the amount of information returned.
http://msdn.microsoft.com/en-us/library/ms254934(v=vs.110).aspx