oracle.ManageddataAccess抛出ORA-00928:插入数据时缺少SELECT关键字

时间:2017-08-30 12:27:21

标签: c# oracle oracle-manageddataaccess

我正在连接到远程Oracle数据库并使用for x in [1,2,3]: print(42)执行更新和插入。我能够将数据更新到它,但是当我尝试插入它时会引发Oracle.ManageddataAccess.dll异常,但我只是想插入它。

ORA-00928: missing SELECT keyword

它看起来像

string cmdQuery = string.Format(@"insert into HKSTF087.FUELCHARGES ( [QTM_ID] ,[TITLECODE] ,[FUELCHARGERATE] ,[ISSPECIALRATE] ,[EFFECTIVEFROMDATE] ,[EFFECTIVETHRUDATE] ,[CREATEDBY] ,[CREATEDDATE] ,[UPDATEDBY] ,[UPDATEDDATE]) values ({0}, '{1}', {2}, {3}, TO_DATE('{4:MM/dd/yyyy HH:mm:ss}', 'mm/dd/yyyy hh24:mi:ss'), '{5}', '{6}', TO_DATE('{7:MM/dd/yyyy HH:mm:ss}', 'mm/dd/yyyy hh24:mi:ss'), {8}, {9})", mtcRate.QTM_ID, mtcRate.TITLECODE, newDefaultFuelRate, 0, providedEffectiveFromDate, "2099-12-31 00:00:00.0000000", "system", DateTime.Now, "null", "null");

当点击insert into HKSTF087.FUELCHARGES ( [QTM_ID] ,[TITLECODE] ,[FUELCHARGERATE] ,[ISSPECIALRATE] ,[EFFECTIVEFROMDATE] ,[EFFECTIVETHRUDATE] ,[CREATEDBY] ,[CREATEDDATE] ,[UPDATEDBY] ,[UPDATEDDATE]) values (19874, 'AARC', 19.1, 0, TO_DATE('08/15/2017 00:00:00', 'mm/dd/yyyy hh24:mi:ss'), '2099-12-31 00:00:00.0000000', 'system', TO_DATE('08/30/2017 17:25:05', 'mm/dd/yyyy hh24:mi:ss'), null, null) 时会抛出ExecuteNonQuery()例外。

这里是使用SQL Server从链接服务插入Oracle DB的查询

ORA-00928: missing SELECT keyword

1 个答案:

答案 0 :(得分:0)

  

它看起来像

insert into HKSTF087.FUELCHARGES

与您的完整示例不同。

insert INTO MTCT..HKSTF087.FUELCHARGES

同样getdate()不是oracle上的已知函数,但在使用链接服务器时这可能不是问题。我不确定那个

正如评论中提到的那样,oracle需要""而不是[]

[QTM_ID] ,[TITLECODE]应为"QTM_ID" ,"TITLECODE"