Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Stored procedures 雪花任务导致查询时区错误_Stored Procedures_Task_Snowflake Cloud Data Platform - Fatal编程技术网

Stored procedures 雪花任务导致查询时区错误

Stored procedures 雪花任务导致查询时区错误,stored-procedures,task,snowflake-cloud-data-platform,Stored Procedures,Task,Snowflake Cloud Data Platform,我正在一个存储过程中运行一个简单的insert查询,其中包含to_timeatamp\u ntz(“列值”)以及其他列。 当我使用snowflake用户界面运行它并使用我的帐户登录时,它可以正常工作。 当我使用visualstudio实例中的python脚本调用它时,它工作得很好。 当调度任务调用同一存储过程时,该存储过程失败。 我在想,这是否与用户的“系统”时区和我的时区有关 存储过程LOAD_Data()中的执行错误:未能强制转换变量 值“2019-11-27T13:42:03.221Z”到

我正在一个存储过程中运行一个简单的insert查询,其中包含
to_timeatamp\u ntz(“列值”)
以及其他列。 当我使用snowflake用户界面运行它并使用我的帐户登录时,它可以正常工作。 当我使用visualstudio实例中的python脚本调用它时,它工作得很好。 当调度任务调用同一存储过程时,该存储过程失败。 我在想,这是否与用户的“系统”时区和我的时区有关

存储过程LOAD_Data()中的执行错误:未能强制转换变量 值“2019-11-27T13:42:03.221Z”到时间戳 语句.execute,第24行第57位

我试图在任务和存储的进程中提供时区作为会话参数,但似乎没有解决这个问题。有什么想法吗?

我猜(因为您没有包含导致错误的SQL语句),您在创建
语句
对象时正在尝试绑定
日期
对象。那不行

您可以绑定的唯一参数是数字、字符串、
null
,以及只能从结果集(据我所知)获取的特殊的
SfDate
对象。大多数其他参数在绑定之前必须使用
mydate.toJSON()
JSON.stringify(myobj)
等转换为
string,例如:

var stmt = snowflake.createStatement(
   { sqlText: `SELECT :1::TIMESTAMP_LTZ NOW`, binds: [(new Date).toJSON()] }
);
Date
对象错误可能会产生误导,因为导致错误的
Date
对象可以转换并在错误消息中显示为字符串。

我发现问题: 我的任务是使用与此类似的复制粘贴效果:

CREATE TASK TASK_LOAD_an_sp
  WAREHOUSE = COMPUTE_WH
  TIMEZONE = 'US/Eastern'  
SCHEDULE = 'USING CRON  0/30 * * * * America/New_York'
  TIMESTAMP_INPUT_FORMAT = 'YYYY-MM-DD HH24'
AS
    Call LOAD_an_sp();

时间戳输入格式导致了这种情况

我用“插入测试时间戳(T1)选择到时间戳(NTZ('2019-11-27T13:42:03.221Z');”完成了一项任务,其中列是NTZ时间戳(9),并成功运行。我是不是错过了什么可以重述的东西?让我知道,如果你可以设置一个类似的非常简单的任务,看看它是否工作。我想知道它是否特定于参数或数据。由于您从
语句.execute()
调用中获得错误消息,因此包含生成错误的语句会很有用。您可以为存储的过程提供代码吗?因此,您从任务ddl中删除了
时间戳\u INPUT\u FORMAT
?我有同样的问题,我想当设置它时,所有有时间的数据都会被忽略,或者抛出一个错误。