关于标题问题...
Access 传递查询能否查看使用 ADO 和/或 SSMS 创建的 SQL Server 上的全局临时表?
...我的测试表明答案是“是”。这是我所做的:
重新启动 SQL Server 机器后,我以管理员身份登录到 Windows,然后通过 SSMS(Windows 身份验证)在本地登录到 SQL Server。在 SSMS 中,我运行了脚本...
USE [Accounting]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE ##gord(
[ID] [int] IDENTITY(1,1) NOT NULL,
[Name] [nvarchar](50) NULL,
CONSTRAINT [PK_Products] PRIMARY KEY CLUSTERED
(
[ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
...创建全局临时表,然后我运行脚本...
INSERT INTO ##gord ([Name]) VALUES ('bar')
...给它排。然后,在 SSMS 仍在运行的情况下,我启动了 Access 并运行了传递查询......
SELECT * FROM ##gord
...它从全局临时表中返回了该行。只要 SSMS 正在运行,我就可以继续运行直通查询,但是一旦我关闭 SSMS,下一次尝试运行 Access 直通查询就会导致
ODBC--调用失败
[Microsoft][ODBC SQL Server Driver][SQL Server]无效的对象名称“##gord”。(#208)
在 SSMS 和 Access 会话中,我以管理员身份(服务器角色:sysadmin)连接到 SQL Server,所以我想知道您是否可能有 SQL Server 权限问题,阻止其他会话看到全局临时表.