gpt4 book ai didi

sql - 在不同的数据库服务器上选择 2 个表上的查询

转载 作者:行者123 更新时间:2023-12-04 22:54:16 28 4
gpt4 key购买 nike

我正在尝试通过在经典 ASP 中查询 2 个数据库 (Sybase) 来生成报告。
我创建了 2 个连接字符串:

connA for databaseA
connB for databaseB


两个数据库都存在于同一台服务器上(不知道这是否重要)
查询: q1 = SELECT column1 INTO #temp FROM databaseA..table1 WHERE xyz="A" q2 = SELECT columnA,columnB,...,columnZ FROM table2 a #temp b WHERE b.column1=a.columnB其次是:
response.Write(rstsql) <br>
set rstSQL = CreateObject("ADODB.Recordset")<br>
rstSQL.Open q1, connA<br>
rstSQL.Open q2, connB
当我尝试在浏览器中打开此页面时,我收到错误消息:

Microsoft OLE DB Provider for ODBC Drivers error '80040e37'

[DataDirect][ODBC Sybase Wire Protocol driver][SQL Server]#temp not found. Specify owner.objectname or use sp_help to check whether the object exists (sp_help may produce lots of output).


任何人都可以帮助我了解问题所在并帮助我解决它吗?
谢谢。

最佳答案

对于这两个查询,您似乎正在尝试插入#temp。 #temp 位于数据库之一(为了参数,databaseA)。因此,当您尝试从 databaseB 插入 #temp 时,它会报告它不存在。

尝试将其从更改为 #临时 从 到 到 数据库A.dbo.#temp 从两个陈述中。

另外,请确保连接字符串在其他数据库上具有权限,否则这将不起作用。

更新:与临时表超出范围有关-如果您有一个对两个数据库都具有权限的连接字符串,那么您可以将其用于两个查询(同时保持连接处于事件状态)。在查询其他DB中的表时,请务必使用[DBName].[Owner].[TableName]格式引用该表。

关于sql - 在不同的数据库服务器上选择 2 个表上的查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16447/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com