• Нарық орнынан дүкенге дейін

  • -

  • Дүкеннен сауда желісіне дейін

  • -

  • Бөлшек саудадан өндіріске дейін

Бастапқы импорттаудан кейін дерекқор баяулайды: деректердегі, Excel файлындағы және импорт параметрлеріндегі қателер

Владимир Вытыщенко
Владимир Вытыщенко

Torgsoft компаниясының сауда автоматизациясы бойынша маманы

Жаңа сауда нүктесін іске қосу немесе жаңа есеп жүргізу бағдарламасына көшу әрдайым деректерді жаппай көшірумен қатар жүреді. Апталап қолмен енгізудің орнына, мыңдаған номенклатура позициясы Excel-ден импорттау арқылы бірнеше минутта жүктеледі. Алайда дәл осы кезеңде, алғашқы сатылымдар жасалмай тұрып-ақ, жүйе күтпеген жерден баяулап, қатып қалуы немесе түсініксіз қателерді көрсетуі мүмкін.

База бастапқы импорттан кейін баяулайды: деректердегі қателер

Дерекқордың стартта не себепті «істен шығатынын» және оларды түзету жолдарын қарастырайық.

1. Тегін SQL Express шектеулері: дерекқор неге толып қалады

Тегін SQL Express шектеулері

Бағдарламада деректерді сақтау үшін әдепкі бойынша Microsoft SQL Server Express тегін нұсқасы қолданылады. Ол шағын және орта бизнеске қолайлы, бірақ пайдаланушылар стартта жиі білмейтін қатаң техникалық шектеулері бар.

  • Деректер көлемінің шектеулері. SQL Server 2008, 2012, 2014, 2016 және 2017 Express редакциялары дерекқор өлшеміне қатаң шектеу қояды — ең көбі 10 ГБ. (Өте ескі SQL Server 2005 нұсқасында бұл шектеу небәрі 4 ГБ).

  • Жедел жад шектеулері: серверіңізде қанша жедел жад орнатылғанына қарамастан, тегін SQL Express ең көбі 1,4 ГБ жедел жадты пайдаланады.

Жаңа базамен жұмыстың басында тауарларды жаппай импорттау әдетте SQL-базаның толып қалуына әкелмейді. Әдепкі бойынша тауар фотосуреттері дерекқордың ішінде емес, файлдық жүйеде сақталады, сондықтан олар SQL-файлдың өлшемін тез ұлғайтпауы керек.

Егер база импорттан кейін бірден баяулай бастаса, ең алдымен SQL Server Express шегін емес, Excel файлының дұрыс дайындалғанын, импорт баптауларын және деректердегі ықтимал қателерді тексеру керек: артық бос жолдар, дұрыс емес форматтар, қайталанулар, сан немесе баға бойынша аномалды мәндер. Стартта базаның тұрақты жұмысына көбіне дәл осындай қателер әсер етеді.

Мәселені қалай шешуге болады:

  • Базаны сығу (Shrink) нақты деректер көлемін азайтпайды, ол тек база файлындағы пайдаланылмаған орынды босатуы мүмкін. Бұл импорт қателерін түзетпейді және деректердің өзін оңтайландырмайды.

  • Протоколдарды тазалау ұзақ уақыт жұмыс істеп, журналдарда көп жазба жинақтаған ескі базалар үшін көбірек өзекті. Жаңа базада бастапқы импорттан кейін протоколдар әдетте бос немесе дерлік бос болады.

  • Стартта фотосуреттерді базадан шығару да типтік шешім емес, өйткені тауар фотосуреттері әдепкі бойынша файлдық жүйеде сақталады. Дәл осы сақтау тәсілі ұсынылады. Фотосуреттерді тікелей дерекқорда сақтау — ескірген тәсіл, оны қолданбаған дұрыс.

Сондықтан бастапқы импорттан кейін баяулау байқалса, алдымен Excel файлын, импорт баптауларын, санның, бағалардың, штрихкодтардың, артикулдардың дұрыстығын және құжаттарда аномалды мәндердің жоқтығын тексеру керек.

2. «Arithmetic overflow» қатесі: штрихкод тұзағы

Тауарды бастапқы кіріске алу немесе түгендеу кезінде адам факторынан туындайтын ең қауіпті қателердің бірі — штрихкодты қате өріске кездейсоқ сканерлеу.

  Себебі. Пайдаланушы «Штрихкод» өрісінің орнына курсорды «Саны» немесе «Бағасы» өрісіне қойып, стандартты 13 таңбалы штрихкодты сканерлейді (мысалы, 2955650064811). Нәтижесінде бағдарлама тауарды бірнеше миллиард дана мөлшерінде тіркейді. Дерекқор стандартты деректер типтерінде (int) мұндай математикалық мәндерді өңдеуге арналмаған. Бұл критикалық қатеге әкеледі: Arithmetic overflow error converting expression to data type int (немесе numeric).

База үшін салдары:

  • Бағдарламаның өзіндік құнды қайта есептеуге немесе кезеңді жабуға кез келген әрекеті осы проблемалық тауарда толық тоқтап қалады.

  • Қозғалыс тарихы осындай аномалды тауар (мысалы, миллиардтық қалдықтар) айналым ведомостерін дұрыс қалыптастыруды мүмкін емес етеді.

 Шешім: санның орнына штрихкод сканерленген құжатты (кіріс жүкқұжатын немесе түгендеу ведомосін) тауып, дұрыс мәнді енгізу арқылы оны түзету қажет. 

Мұндай тауарды «Тауар қозғалысы» формасында өзіңіз таба аласыз. Ол үшін деректерді саны бойынша сұрыптау жеткілікті: аномалды үлкен мәндері бар позициялар бірден көрінеді. Содан кейін тиісті құжатты ашып, қате енгізілген санды немесе бағаны түзету керек.

3. Collation Conflict: сервердің тілдік стандарттары

SQL Server сәтті орнатылып, тауарлар импортталғаннан кейін кейде пайдаланушы түсініксіз мәселеге тап болады: тауарлар базада бар, бірақ «Қойма күйі» формасында сүзгі немесе іздеу қолданылғанда олар көрсетілмейді немесе бағдарлама қате береді.

 Себебі. Бұл мәселе Collation (сұрыптау параметрлері) ұғымымен байланысты — бұл SQL Server деңгейіндегі баптау, ол таңбаларды сұрыптау ережелерін және тілдік стандарттарды анықтайды (мысалы, Ukrainian_CI_AS немесе Cyrillic_General_CI_AS). Егер дерекқордың сұрыптау параметрлері бағдарламаның күткен баптауларына немесе сервердің өз баптауларына сәйкес келмесе, қақтығыс пайда болады.

 Шешім. Мәселе тек дерекқорды әкімшілендіру деңгейінде, нақты SQL Server немесе дерекқордың өзі үшін Collation баптауларын өзгерту арқылы шешіледі.

Сервердің тілдік стандарттары

4. Жаппай импорттан кейінгі оңтайландыру

Excel-ден мыңдаған тауарды жаппай импорттау процедурасы дұрыс тәсілді қажет етеді, әйтпесе база процестің өзінде-ақ қатып қалуы мүмкін:

  • Out of memory. Егер Excel құжатында пайдаланушы кездейсоқ бос жолдарды немесе бағандарды парақтың соңына дейін белгілесе, бағдарлама осы алып бос массивті өңдеуге тырысады, бұл жадтың жетіспеуі қатесіне әкеледі (Out of memory).

  • Бағаларды бекіту. Егер импорт кезінде «Сатып алу бағасының өзгерісін бекіту» баптауы қосылса, бағдарлама әр тауар бойынша алдыңғы бағаларды іздеп, салыстырады, бұл базаны жүктеу процесін айтарлықтай баяулатады.

 Импорттан кейінгі міндетті әрекет! Бос базаға бірден мыңдаған жаңа тауарды жүктеген кезде SQL Server бұл ақпаратты қалай жылдам іздеу керегін әлі білмейді. Оның ішкі «карталары» (индекстері) бос немесе өзекті емес. Егер бірден сатуды бастасаңыз, тауарды чекке қосу немесе қойманы ашу өте баяу орындалады.

«Индекстерді қалпына келтіру және қайта ұйымдастыру, статистиканы жаңарту» операциясы әдетте түнгі автоматты өзіндік құнды есептеу кезінде автоматты түрде орындалады, егер бұл механизм мәжбүрлі түрде өшірілмеген болса.

Тауарларды жаппай импорттаудан кейінгі оңтайландыру

Сондықтан бастапқы импорттан кейін бұл сервистік операцияны міндетті қадам ретінде қолмен іске қосудың қажеті жоқ. Алдымен автоматты өзіндік құнды есептеу қосылғанын және түнгі регламенттік операциялардың орындалатынын тексерген жөн. Бұл SQL Server-дегі іздеу құрылымын қайта компиляциялайды, содан кейін мыңдаған позициясы бар номенклатурамен жұмыс жылдам әрі тұрақты болады.


Програма обліку товару | Торгсофт



Facebook Instagram YouTube Twitter Google News Apple Podcast SounCloud

Түсініктеме қосу

Түсініктеме қосу
Пікіріңіз үшін рақмет! Ол модератор тексергеннен кейін жарияланады.
Ұқсас мақалалар