VBA-加快从VBA向SQL上传数据的速度

时间:2018-11-27 20:47:00

标签: excel vba

我正在使用一个宏,该宏每天都将数据写入SQL表。问题是通常我要上传超过30万行,而Macro的运行速度非常慢(超过60分钟)。无论如何,有什么办法可以加快这个过程?在代码的下面,这正是Macro大部分时间所花费的地方:

protected override void OnCreate(Bundle savedInstanceState)
    {
        base.OnCreate(savedInstanceState);
        // Set our view from the "main" layout resource
        SetContentView(Resource.Layout.activity_main);
        var circleView = FindViewById<MyCustomView>(Resource.Id.circleView);
        ValueAnimator valueAnimator = ValueAnimator.OfInt(0, 0);
        valueAnimator.SetDuration(2000);
        valueAnimator.AddUpdateListener(new AnimatorUpdateListener(this, circleView));
        valueAnimator.Start();

    }

    private class AnimatorUpdateListener : Java.Lang.Object, ValueAnimator.IAnimatorUpdateListener
    {
        private MainActivity mainActivity;
        private MyCustomView circleView;

        public AnimatorUpdateListener(MainActivity mainActivity, MyCustomView circleView)
        {
            this.mainActivity = mainActivity;
            this.circleView = circleView;
        }

        void ValueAnimator.IAnimatorUpdateListener.OnAnimationUpdate(ValueAnimator animation)
        {

            circleView.setValue((int)animation.AnimatedValue);
        }
    }

1 个答案:

答案 0 :(得分:1)

问题在于此循环将数据逐行发送到服务器,并为每个服务器运行查询。您需要将整个内容作为一个记录集发送,并通过一个查询将其插入。
由于您没有提供您所拥有的SQL DB类型,因此我只能对Microsoft SQL Server提出一个建议:首先将记录集导出到.csv文件,然后运行“ BULK INSERT”而不是运行“ INSERT INTO”查询