簡體   English   中英

Azure邏輯應用程序SQL連接器

[英]Azure Logic App Sql Connector

我正在使用從SQL Server Db中提取CDC數據的Logic App。 我正在使用“獲取行”操作,但是當我嘗試使用“ 過濾查詢”參數時出現了問題。

  • code eq '793' (有效)
  • __$operation eq '2' (無效)
  • @{string('__$operation')} eq '2' (無效)

我認為問題可能出在“ $”字符上。

錯誤信息

{  
  "status": 400,  
  "message": "Syntax error at position 12 in '__$operation eq '2'' "  
}

有人可以幫幫我嗎!

我正在使用“獲取行”操作,但是當我嘗試使用“過濾查詢”參數時出現了問題。

我認為問題可能出在“ $”字符上。

根據我的測試,如果字段/列包含$ (或__ ),並在Filter Query中使用該字段,則效果很好。

在此處輸入圖片說明

但是,如果我將該字段定義為__$operation與開始__$ ,這將導致同樣的問題,當我在篩選查詢中使用它。 因此,如果可能,您可以嘗試修改SQL數據庫中的列名稱。

根據OData Normative$是保留字符,您應該在URI形成之前對其進行百分比編碼。 不幸的是,我嘗試了百分比編碼,但仍然出現語法錯誤,似乎在“過濾查詢”中是不允許的。 在此處輸入圖片說明


這是解決方案,在Logic App中,您不能在Filter Query中使用% ,因此不能在$使用%24 ,而應使用_x0024_ 。我現在可以成功獲取結果:

在此處輸入圖片說明

請注意,開頭有三個_ 如果字段/列名稱中還有其他特殊字符,則可以使用此模式。 例如,如果字段名稱是“ Display NameDisplay Name ,且中間使用空格字符,則在“ Filter Query”(過濾查詢)中,您需要將其轉換為Display_0x0020_Name

有關此編碼的更多詳細信息,請參閱對XML元素和屬性名稱以及ID值進行編碼和解碼。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM