0
我需要通過openrowset從MS SQL Server訪問Teradata數據庫。但我的腳本有8000多個字符(實際上幾乎是其中的兩倍)。下面是腳本示例:在openrowset中克服8000限制
select * from openrowset('MSDASQL','DWH'; 'login'; 'pass',
'select * FROM DATABASE.TABLE')
我儘量克服這個限制,通過把腳本分爲兩個部分,然後使用EXEC命令:
DECLARE
@strSQL1 varchar(8000),
@strSQL2 varchar(8000)
SELECT
@strSQL1 =
'select * from openrowset(''MSDASQL'',''DWH''; ''login''; ''pass'', ',
@strSQL2 =
'''select * FROM DATABASE.TABLE'')'
EXEC (@strSQL1 + @strSQL2)
但是,這並不工作,因爲還在SQL命令openrowset語句內部長度超過8000個字符。
我通常會在Teradata數據庫上創建視圖或存儲過程,然後啓動它,但我沒有權限執行此操作。
任何人都知道該怎麼做對嗎?我嘗試了幾乎所有東西
將邏輯拆分成2個'Exec's,然後在最後加入結果 – whytheq 2015-02-12 08:55:39