加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

使用C#将FoxPro表导入SQL – 一个表工作,一个表不工作

发布时间:2020-12-15 21:38:49 所属栏目:百科 来源:网络整理
导读:我正在使用一些方法从FoxPro表导入数据并将其写入SQL表.这只是企业级应用程序的一小部分,坦率地说,大部分都是在我的脑海中.我遇到问题的方法获取两个FoxPro表并将它们放在数据集中.第一个表没有问题,但第二个表一直空着.这是我的代码(代码后面的更多细节):
我正在使用一些方法从FoxPro表导入数据并将其写入SQL表.这只是企业级应用程序的一小部分,坦率地说,大部分都是在我的脑海中.我遇到问题的方法获取两个FoxPro表并将它们放在数据集中.第一个表没有问题,但第二个表一直空着.这是我的代码(代码后面的更多细节):

public DataSet GetFoxProDelinquencyData()
    {
        DataSet bothDlqTables = new DataSet();
        DataSet DlqData;
        string selectQuery = "SELECT * FROM MasterDlqTable";

        try
        {
            DlqData = _foxProServiceAccess.ExecuteFoxProDataSet(selectQuery,1);
        }
        catch (Exception exceptionToHandle)
        {
            throw ExceptionHelper.HandleFoxProException(exceptionToHandle,"Failed to get data from FoxPro");
        }

        DlqData.Tables[0].TableName = "Master";
        bothDlqTables.Tables.Add(DlqData.Tables[0].Copy());
        string delqnum = Convert.ToString(bothDlqTables.Tables[0].Rows[0]["delqnum"]);
        selectQuery = String.Format("SELECT * FROM rvdlqhst_txps WHERE delqnum = '{0}'",delqnum);

        try
        {
            DlqData = _foxProServiceAccess.ExecuteFoxProDataSet(selectQuery,"Failed to get data from FoxPro");
        }

        DlqData.Tables[0].TableName = "History";
        bothDlqTables.Tables.Add(DlqData.Tables[0].Copy());
        return bothDlqTables;
    }

因此,当我正在调试时,在结束返回之前查看两个DqqTable的内容,Master表是完美的,并且History表具有FoxPro等效的正确列,但它没有数据.与DlqData数据集相同. delqnum字符串包含000210,我们的dB人确认FoxPro表肯定包含具有该拖欠号的记录.当他跑

SELECT * FROM rvdlqhst_txps WHERE delqnum = '000210'

从数据库查看器中,他得到了结果.我已经尝试将SELECT语句硬编码为字符串而不是string.format命令,我仍然得到相同的空表.有什么建议?

更新:我在第一个查询时也遇到间歇性错误:

无法连接到net.tcp://rdsfoxproqa.alatax.com/FoxProService_Dist.连接尝试持续时间跨度为00:00:01.0625340. TCP错误代码10061:无法建立连接,因为目标计算机主动拒绝它172.19.0.105:808.

它经常发生,通常我可以等待30分钟左右,然后再试一次,查询工作正常.我不认为这是相关的,但我也不知道是什么导致它,并且会喜欢.

解决方法

如果DaveB的答案没有帮助:如果你完全删除了WHERE子句,那么你会得到一些数据吗?这可能有助于找到问题的原因.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读