簡體   English   中英

SQL 查詢適用於 EA,但不適用於 API 上的 C#

[英]SQL query works in EA but doesn't work with C# on the API

我創建了一個 C# 腳本,該腳本使用來自 excel 的數據構建一個 sql 查詢,然后查詢 EA 存儲庫。

sqlquery_part1A = "select obj.object_id from (t_object obj inner join t_connector j on (obj.Object_ID=j.end_Object_ID)) inner join t_object endobj on (j.start_Object_ID=endobj.Object_ID) where obj.alias = '" + adu_alias.Replace("'", "''") + "' and endobj.Name = '" + datastream + "' and obj.Name = '" + adu_name + "'";
int element_count = repository.GetElementSet(sqlquery_part1A, 2).Count;

查詢工作正常,除非來自 excel 的字段之一有斷線。 例如

"global_sla_l2p_nrt.*\.nc(|\.gz)$ (Product: L2P-SLA NRT), 

global_swh_l2p_nrt.*\.nc(|\.gz)$ (Product: L2P-SWH NRT), 

global_sla_l2p_stc.*\.nc(|\.gz)$ (Product: L2P-SLA STC)"

發生這種情況時,腳本在存儲庫中找不到任何條目。 但是,如果我對 EA 進行完全相同的查詢,它會返回一個條目。

下面是一個查詢示例:

select obj.object_id from (t_object obj inner join t_connector j on (obj.Object_ID=j.end_Object_ID)) inner join t_object endobj on (j.start_Object_ID=endobj.Object_ID) where obj.alias = 'global_sla_l2p_nrt.*\.nc(|\.gz)$ (Product: L2P-SLA NRT), 

global_swh_l2p_nrt.*\.nc(|\.gz)$ (Product: L2P-SWH NRT), 

global_sla_l2p_stc.*\.nc(|\.gz)$ (Product: L2P-SLA STC)' and endobj.Name = 'DIS-ING.FTP' and obj.Name = 'L2P  Service products'

任何人都可以幫忙嗎?

我的解決方案是用 Environment.NewLine 替換斷線:

sqlquery_part1A = sqlquery_part1A.Replace("\n", Environment.NewLine);

暫無
暫無

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

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