c# - DbConnection.GetSchema ("Tables") 仅为一个数据库返回表

标签 c# ado.net

我尝试获取所有数据库的所有表名。 但是 GetSchema("Tables") 只返回一个数据库的名称。 这很奇怪,因为我没有使用任何限制,并且在许多具有读/写权限的数据库上拥有 dbowner。

获取所有表信息需要什么?

最佳答案

它只会返回当前上下文数据库中的表列表。 要获取所有表的列表,您需要遍历每个数据库。

我在我的一个开源项目中使用过它 - http://dbdoc.codeplex.com

你必须做这样的事情:

foreach (Microsoft.SqlServer.Management.Smo.Database db in server.Databases)
 foreach (Microsoft.SqlServer.Management.Smo.Table tbl in db.Tables)
                        tables.Add(tbl.Name);  // Temp variable

关于c# - DbConnection.GetSchema ("Tables") 仅为一个数据库返回表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7253481/

相关文章:

两个日期之间的 C# 时间段(以周为单位)

c# - 如何检测流中的图像格式

c# - 任务的执行在 C# 中使用 Task.WaitAll 挂起

c# - 如何在上下文菜单条中设置组合框的默认项目?

c# - 如何将 DataTable 序列化为 json 或 xml

c# - 使用带有 Entity Framework 的动态字段按子记录排序

.net - Visual Studio 2008 中的 ADO.Net 或 Entity Framework

c# - 有没有办法让LABEL CONTROL自动向左移动,使LABEL的文字不被截断?

c# - 如何在 ADO.NET Entity Framework 中加入

c# - 参数缓存如何提高 ADO.NET 中的性能?