Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/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
Asp.net 数据集中丢失时区_Asp.net_Oracle11g - Fatal编程技术网

Asp.net 数据集中丢失时区

Asp.net 数据集中丢失时区,asp.net,oracle11g,Asp.net,Oracle11g,我有一个数据库表,其中包含几个带有时区字段的时间戳。我从这个表中选择记录并将它们放入数据集中。当我试图访问日期/时间字段时,我似乎丢失了时区信息。 我尝试在adapter.Fill()之前添加以下内容: 但这会导致所有字段都使用Oracle数据类型,而不仅仅是日期/时间字段。例如,我不能再将.ToInt32(dr[“SomeIntField”])转换为OracleDecimal,因为它现在是OracleDecimal。 是否有任何方法可以将时区信息从我的表中获取到数据集中,而不会弄乱所有其他字段

我有一个数据库表,其中包含几个带有时区字段的时间戳。我从这个表中选择记录并将它们放入数据集中。当我试图访问日期/时间字段时,我似乎丢失了时区信息。 我尝试在adapter.Fill()之前添加以下内容:

但这会导致所有字段都使用Oracle数据类型,而不仅仅是日期/时间字段。例如,我不能再将.ToInt32(dr[“SomeIntField”])转换为OracleDecimal,因为它现在是OracleDecimal。
是否有任何方法可以将时区信息从我的表中获取到数据集中,而不会弄乱所有其他字段?

我将ReturnProviderSpecificTypes替换为以下内容:

adapter.SafeMapping.Add("*", typeof(string));
adapter.Fill(ds);
这会将数据转换为字符串类型(仅选项为sting和byte[])。它似乎保留了我的时区格式,我可以使用:

dtzTime = new OracleTimeStampTZ(dr["MY_DBTable_Column_with_TZ"].ToString());
我将日期存储在美国/东部、美国/太平洋等时区,因此上述返回: 2013年2月26日14:49:46.169030000美元/山区

dtzTime = new OracleTimeStampTZ(dr["MY_DBTable_Column_with_TZ"].ToString());