我正在尝试检查临时表是否存在,如果存在,请使用 pyodbc 将其放入 SQL Server 中。该查询在管理工作室中有效,但在 python 中我得到了错误
以前的 SQL 不是查询
cnxn = pyodbc.connect('APP=MyApp;DRIVER={SQL Server Native Client 10.0};SERVER=powerapp6-WRON;DATABASE=ICP;DSN=myserver;Trusted_Connection=yes')
cursor = cnxn.cursor()
cnxn.commit()
for mc in range(0,3,1):
speardata = (""" if object_id('tempdb..#tempCSID') is not null
begin
drop table #tempCSID
end
create table #tempCSID (csid int)
insert into #tempCSID (csid)
select top 500 [CSID]
from [ICP].[dbo].[CSID]
order by newid()
SELECT [ICP].[dbo].[CSunit_L].[CSID] ,[Nitrogen] ,[Incorp0] ,[Incorp200] ,[yield] ,[xdays] ,[accum_rain] ,[avg_maxt]
,[avg_mint] ,[accum_radn] ,[xgdays] ,[accum_g_rain] ,[avg_g_maxt] ,[avg_g_mint] ,[accum_g_radn] ,[effrain_g] ,[xshdays]
,[accum_sh_rain] ,[avg_sh_maxt] ,[avg_sh_mint] ,[accum_sh_radn] ,[effrain_sh]
FROM [ICP].[dbo].[CSunit_L]
inner join #tempCSID
on [ICP].[dbo].[CSunit_L].[CSID] = #tempCSID.csid and [ICP].[dbo].[CSunit_L].[Nitrogen] < 201
""")
ndata = np.array(cursor.execute(speardata).fetchall() )
我想知道这是否与前两行中的 cnxn 设置有关,因为它们tempdb
与数据库位于不同的位置ICP
?