取消
顯示的結果
而不是尋找
你的意思是:

不能使用預處理語句與日期功能

雷克斯
新的貢獻者三世

我們是使用PHP和磚SQL的ODBC驅動程序不能運行一個查詢,用戶日期函數用準備好的語句。示例腳本/碼頭工人設置:

https://github.com/rlorenzo/databricks_php/blob/odbc_prepare_error/test_connection.php

例如,下麵的查詢在Python SQL司機:

選擇計數(1)、companyid company_name名稱、係列,從refactored_db investment_date。view_afd companyid不是在(從refactored_db選擇companyid。view_afd哪裏investment_date <日期(現在()間隔64天))和investment_date日期(現在()間隔64天)和日期(現在())GROUP BY companyid, company_name,係列,investment_date有計數(1)< = ?

但使用PHP和我們得到的ODBC驅動程序錯誤:

警告:odbc_prepare (): SQL錯誤:[辛巴][哈迪](80)語法或語義分析錯誤扔在服務器執行查詢。從服務器錯誤消息:org.apache.hive.service.cli。HiveSQLException:錯誤運行查詢:org.apache.spark.sql.catalyst.parser。拋出ParseException:不匹配輸入”?“期待{”(”、“{”、“應用”、“叫”、“修改”、“克隆”、“收集”、“包含”、“轉換”、“複製”、“COPY_OPTIO, SQL 37000在SQLPrepare / test_connection狀態。php在43行odbc_prepare錯誤(辛巴):【堅強】(80)語法或語義分析錯誤扔在服務器執行查詢。從服務器錯誤消息:org.apache.hive.service.cli。HiveSQLException:錯誤運行查詢:org.apache.spark.sql.catalyst.parser。拋出ParseException:不匹配輸入”?“期待{”(”、“{”、“應用”、“叫”、“修改”、“克隆”、“收集”、“包含”、“轉換”、“複製”、“COPY_OPTIO

這是一個已知的問題嗎?我們想使用預處理語句來防止SQL注入成為可能。然而,我們需要放棄似乎準備好的語句如果司機不完全支持它。

6個回答6

BilalAslamDbrx
尊敬的貢獻者二世
尊敬的貢獻者二世

真討厭。在這種情況下,重寫查詢太乏味,另一個選項是定義作為一個邏輯視圖的查詢和簡單地選擇和應用所需的參數。用這種方法查詢定義中不能包含任何參數;他們必須定義外部視圖。你給它一槍?

Kaniz
社區經理
社區經理

嗨@Rex洛倫佐,我們一直沒有收到你最後的回應@Bilal:我檢查,看看他的建議幫助你。否則,如果你有任何解決方案,請與社區分享,因為它可以幫助別人。

同時,請別忘了點擊“選擇最佳”按鈕時提供的信息幫助解決你的問題。

歡迎來到磚社區:讓學習、網絡和一起慶祝

加入我們的快速增長的數據專業人員和專家的80 k +社區成員,準備發現,幫助和合作而做出有意義的聯係。

點擊在這裏注冊今天,加入!

參與令人興奮的技術討論,加入一個組與你的同事和滿足我們的成員。

Baidu
map