存储过程适用于本地主机,但不适用于生产服务器

时间:2017-03-19 22:48:02

标签: asp.net sql-server

我目前正在开发基于ASP.net的车队管理应用程序。应用程序获取每日汇率并允许用户根据汇率进行交易。交易有两种 1.当地货币(汇率= 1) 2.美元

我已经从数据库中的表中编写了一个简单的选择查询读取汇率值。当我使用本地主机访问它时,此查询有效,但当我尝试使用已部署的应用程序访问它时,它无法正常工作

SQL查询

SELECT id_exchange_rate, Exchange_rate
FROM NVP_ExchangeRate
WHERE CAST(Exchange_Rate_date as date)=CAST(@date_today as date)
    AND Manual_rate IS NULL

它包含在以下块中

if (currency_actual == "USD")
{
}

这两个条件中的任何一个都失败了。 有人可以帮我这个吗? 此外,相同的应用程序部署在2个QA服务器中。它在两个QA服务器中都有效。

1 个答案:

答案 0 :(得分:0)

只是认为我会为我的问题添加答案。

在第一个查询中,我从应用程序(C#中的DateTime.Now)获取当前日期的值,然后将此日期传递给我的SQL查询。我的应用程序服务器位于印度。但是,我的数据库服务器位于墨西哥。

因此,当我在印度服务器上使用DateTime.Now时,它将返回当前印度日期。当我选择这个日期并转到在墨西哥(比印度晚12个小时)的数据库查询时,日期不匹配,因为墨西哥比我们晚了将近一天。

此问题的根本原因可能是由于我的编程不佳。