SQL SERVER 和ACCESS 查询表名

SQL SERVER

查看所有表名:
select    name    from    sysobjects    where    type='U'

查询表的所有字段名:
Select name from syscolumns Where ID=OBJECT_ID('表名')

select * from information_schema.tables
select * from information_schema.views
select * from information_schema.columns

ACCESS

查看所有表名:
select    name    from    MSysObjects    where    type=1    and    flags=0

   MSysObjects是系统对象,默认情况是隐藏的。通过工具、选项、视图、显示、系统对象可以使之显示出来。  

当我读取ACCESS里的系统表MSysObjects时,出现:不能读取记录;在 'MSysObjects' 上没有读取数据权限。的提示,语句是:select name from MSysObjects where type=1 and flags=0,而这个语句是可以直接在ACCESS查询器里使用的,不知为何,网游一翻,找到解决方法,不过还好,按这样的设置后以后这个数据库就可以读取这个表了。

操作过程:

默认的情况是admin对MSysObjects没有任何权限!包括查询

打开您的ACCESS数据库,然后

工具 -> 选项 -> 视图 -> 隐藏对象、系统对象
前面的勾选上。

工具 -> 安全 -> 用户与组的权限 
在对象名称中选定 MSysObjects ,然后权限中设置其权限就可以直接读取了。

你可能感兴趣的:(sql,server,Access,查询表名)