Yleiset virhekoodit ja niiden ratkaisut

Sisällysluettelo


Pervasiven virhekoodit

Pervasiven virhekoodit on selitetty ohjelman mukana tulevassa dokumentaatiossa. Ne kannattaa katsoa sieltä. Netistä ne löytyvät mm. täältä  Tässä alla on vain "avattu" muutamia yleisiä. 

Versioihin ei kannata tuijottaa tiukasti. Uudempaan helpiin on voitu laajentaa selvitystä ja taas toistaalta uudemmassa versiossa ei tule välttämättä kaikkia samoja virheitä kuin vanhemmissa.

Alle on muutamia käytännön vihjeitä joita on havaittu ja jotka eivät helpistä suoraan selviä.

Pervasiven log löytyy pvsw.log:sta. Se oli ennen \windows\ kansiossa, nyttemmin 10 versiosta ylöspäin muualla. Xp:ssä C:\Documents and Settings\All Users\Application Data\Pervasive Software\PSQL\logs ja win7:ssa c:\programdata\pervasive software\psql\logs

Status 2

Tiedosto / levy rikki. Yritä pelastaa tiedosto bcleanilla tai rebuildilla.
Tiedostojen korjaus.

Virhe voi ilmetä esim. seuraavanlaisena virheilmoituksena:

Status 6

Invalid index. Yleensä jos tämä tulee ihan normaalissa toiminossa ilman, että mitään päivitystä tms. on tehty, se on oire verkkoyhteyden pätkimisestä. Tähän voi liittyä pervasiven sessio virheilmoitus. Tämä on havaittu myös jos "yhtä-äkkiä" clientin kello muuttuu merkittävästi.

Status 18

Oi voi. Levytila täynnä. Siivoa sitä. Mikäli tätä tulee levytilan siivouksen jälkeen, tulee ko. tiedoston josta herja tulee käyttäjäsessiot lopetaa psq:n monitorilla. Case levytila loppuu

Status 22

Tätä tulee lähinnä dos-ohjelmissa. Jos olet päivittänyt uusimmat versiot, ilmoita virheestä skj:lle.

Status 46

Tarkista ensinnäkin tiedostojen kirjoitusoikeudet ko käyttäjällä.

Mikäli kirjoitusoikeudet ovat kunnossa, voi tämä johtua siitä, että tiedostoformaatti on niin vanha, että tietokannassa on tuki ainoastaan tiedoston lukemiselle - ei kirjoittamiselle.
Aja rebuild kaikille tiedostoille (tai vähintään niille, jotka ovat vanhaa versiota).

Status 84

The record or page is locked.

Tarkoittaa sitä, että yksi tietue tai tietokantasivu on lukittu. Esimerkiksi silloin, kun yksi tuote on muokkaustilassa työasemalla ja toinen työasema yrittää ottaa ko. tietueen/tuotteen omaan muokkaukseensa.

Korjaantuu poistamalla lukko sen aiheuttaneelta työasemalta. Myös tietokannan uudelleenkäynnistys poistaa lukot.

Status 85

File is locked. Tiedosto on toisen ohjelma käytössä ja lukittuna. Voi olla esim. virustorjunta. Jos virhe tulee dos ohjelmien käsittelyssä kannattaa tarkastaa onko windows\system32\config.nt:ssä rivi device=btrdrv.sys Koska ilman sitä dos ei näe pervasivea ja vanhan btrieve käynnistys onnistuu.

Server psql: Voi tulla myös esim. palvelimen uudelleen käynnistyksen jälkeen. Pervasive palvelimella ei ole ehtinyt käynnistyä ja innokas kassa/työasema menee omalla wg:llä kiinni tiedostoihin. Tämän paljastaa pvsw.loc tiedosto files palvelimen kansiossa. Tätä tiedostohan ei server versio tee. Työasemilta kaikki winskj ohjelmat kiinni ja *.loc pitäisi kadota.
Mikäli palvelimella on wg ohjelma voi toimi näennäisen oikeasti. Tai sitten voi tulla status 116 (kuvattu alempana)

Status 88

"The application encountered an incompatible mode error" kertoo, ettei tiedostoa voida laittaa varmuuskopiotilaan. Tiedosto on siis avattu joko exclusiivisesti tai se on kokoajan käytössä jossain muualla.

Toimenpiteet:

  1. skjendbu c:\winskj\files
  2. for %i in (c:\winskj\files*.dat) do butil –stat %i
  3. Mikäli aiemmat kohdat epäonnistuivat -> Pervasiven uudelleen käynnistys ja aiempien kohtien toisto

Status 94

Tämä on permission error eli jonkinlainen oikeus ongelma, mutta seuraavat asiat kannattaa tarkastaa myös:

  • Pervasive on 9 tai 10 ja tiedosto on 5.x formaatissa. 5.x formaattia ei voi 9:llä ja 10:llä muuta kuin lukea.
  • Workgroup ympäristössä pvsw.loc tiedostossa serverillä oleva unc polku on estetty. Esim. levyjako on alunperin saliittu \\palvelin\d$\winskj\files mutta myöhemmin c$ on poistettu jaosta tilalle tullut jotain muuta.
  • Tiedosto on varattu esim. jotkin varmuuskopio-ohjelmat tekevät sitä.
  • Rajoitettujen käyttöoikeuksien ympäristössä jos pervasive on palveluna voi olla että, local systemillä ei olekkaan oikeuksia ko tiedostoihin, tällöin palvelun voi vaihtaa toiselle käyttäjätunnukselle tai antaa local systemille oikeudet yrityskansioon.
  • Testaa kopiomialla tiedosto joka tuottaa virheen. Jos tulee virhe, tiedostojärjestelmässä on jokin virhe.


Status 103

Yritetään tehdä päivitysoperaatiota taulu ulkopuolelle. Käytännössä tilanne tulee vastaan kun DDF tiedostot eivät vastaa taulua. Esim varmuuskopiosta kopiotu edellisen version pienempi taulu. Ota yhteyttä SKJ:n tuotantoon, ongelma ratkaisemiseksi, selvitä päivityshistoria tms.

Tulossa helmikuu 2034 skjdbupdate:n validate komento joka voi tarkastaa ym ongelmat. Manuaalsiesti voi tarkastaa esim seuraavasti (yksinkertaistettu, ei huomioi vaihtelevan mittaisia tietuita). Kuvitellaan että tuote taulu on se joka antaa virheen.

  • aja butil -stat files\tuote.dat (files= polku tietokantahakemistoon) - katso mitä lukee rivillä Record Size
  • aja sql select max(xe$offset+xe$size) from x$file, x$field where xe$file=xf$id and xf$NAME='TUOTE'
    • Output pitäisi olla sama kuin  Record Size. ero kertoo monta tavua taulusta puuttuu.



Status 116

"The file is owned by another Microkernel engine acting as a Gateway".

Tämä virhe tulee siitä, että työasema ei saa yhteyttä tietokantapalvelimeen. Tarkista ensin, että kone saa yhteyden palvelimeen (esim ping-komennolla). Tämän jälkeen tarkista, että se saa yhteyden palvelimen Pervasiveen, TCP-portteihin 3351 (btrieve) ja 1583 (sql) (telnet palvelimen_nimi 3351). Syynä yhteyden epäonnistumiseen voi olla palomuuri, väärät ip-osoiteasetukset (hosts-tiedostoon määritelty kiinteästi nimi/väärä-ip -kombinaatio) tms.

Testaa varmuuden vuoksi yhteyttä IP:llä (eli jos tietokantamääritykset ovat nyt esimerkiksi \\PALVELIN\WINSKJ\FILES niin muuta se muotoon \\192.168.0.10\WINSKJ\FILES - jossa 192.168.0.10 olisi PALVELIN -koneen ip-osoite).

Yleensä työryhmäversio kannattaa asentaa palvelimelle palveluksi, jotta se on aina päällä ja gateway lukita palvelimelle. Jos näin ei ole kuitenkaan tehty saattaa jokin kassa toimia palvelimena tälle koneelle. Tällöin tyypillisesti vain yksi kone kerrallaan pääsee kiinni ko. tietokantaan. Tarkasta pvsw.loc:n sisältö ja katso, että siinä ei viitata muuhun koneeseen kuin palvelimeen. Tarvittaessa korjaa tilanne editoimalla tiedostoa tai käytä gateway locatoria.
Tätä virhettä on myös tullut tilanteissa, jossa jossain koneessa onkin asennettu Btrieve 6.15 pervasiven jälkeen.

Status 161

Tämä koodi kertoo että Pervasiven lisenssi ei ole kunnossa. Tarkista, että sinulla on tarvittavat lisenssit olemassa ja asennettu. Mikäli virhe tulee 1 kk asennuksen jälkeen olet unohtanut lisensoida tietokannan. Jos tätä tulee silloin tällöin, käyttäjämäärä ylittyy tilapäisesti. Työryhmässähän se on palvelin + 4 (8.x ja 9.x).

Lisenssit lasketaan siten, että jokainen oma verkkoprotokolla / verkko-osoite ottaa yhden lisenssin. Jokainen etätyöpöytä ottaa yhden lisenssin. Pervasiven monitorilla näkyy verkko-osoite, josta tullaan esim. Ip osoite, Local tai local$X. Local$X tarkoittaa etätyöpöytäyhteyttä (X = 1... n).

Kyseessä ollessa v10 ja lisenssien määrä on sama kuin todellisten käyttäjien määrä, voi satunnaisen lisenssimäärän "ylityksen" ratkaista päivitys versioon 10.30 (http://tiedosto.skj.fi/SKJUSB/Pervasive/v10/PSQL-Workgroup-10.30.022.000-win.x86.exe).

kts. Laiteympäristön muuttuminen ja Pervasive

Status 170 ja 171

"Database login required" tms . yleensä SKJ:n kanssa ei ns. tietokanta loginia voi/saa käyttää. Eli kysymys on levyoikeuksista. Tietyissä ympäristöissä kannatta ottaa Pervasiven Workgroup / Pervasiven Client palvelu pois päältä työasemasta, koska tällöin työaseman pervasive toimii paikallisen syteemin oikeuksilla ja sillä ei saata olla oikeuksia palvelimelle. Status 171 viittaa siihen, että käyttäjä on määritelty, mutta salasana on väärin.

 Jos ongelma ilmenee PSQL 13 Client asennuksella

Ongelma voi johtua ohjelmiston asennusmuodosta. Kun ohjelmisto asennetaan palveluna tämä tällöin asentaa myös ohjelmiston komponentit, joita käytetään mikäli palvelu ei ole päällä tai se on kytketty pois päältä.

> Testaa käynnistää SKJ taustaohjelmisto kun palvelu on sammutettu.

Tämä tällöin käynnistää automaattisesti sovellusversion PSQL enginestä.


Status 204

"Table not defined in dictionary" erittäin todennäköisesti ddf:n päivitys epäonnistunut päivityksessä.

Status 2307

Tämä liittyy dbnames.cfg tiedoston käsittelyyn. Ko. tiedoston sijainti löytyy regeditillä HKEY_LOCAL_MACHINE\SOFTWARE\Pervasive Software\Database Names\Version XX\Settings alta. Katso että pvsw.loc viittaa ko. koneeseen.
Jos ei auta, katso pervasiven ohjeita. 

Ilmenee myös jos 32 bittiselle enginelle on annettu muistia >= 4000 MB 

Status 3012

"Local engine is not accessible to the MicroKernel router" Tarkoittaa siis sitä, että paikalliseen kantaan ei saada yhteyttä. Tämä voi johtua siitä että a) koneessa ei ole workgrouppia b) palomuurit säätää välissä c) workgroup local engine on pcc:stä otettu pois (configure microkernel route). Eräässä tapauksessa havaittiin ongelma lopulta javan asennukessa. Tietokanta oli päällä, mutta siihen ei saatu mitään yhteyttä. Javan poistaminen ja pervasiven uudelleen asennus auttoi.

Tätä virhettä voi myös tulla Vista-ympäristössä, kun UAC on käytössä ja Pervasive (v9) WGE ei ole asetettu palveluksi.
Tähän auttaa Pervasiven määritteleminen palveluksi, lisäohjeita WinSKJ Asennus.

Status 3020

Error occured while loading the MicroKernel. Mikäli tämä tulee v10 pervasivella tiedostojen selailu->tiedostohuollot -> tiedostojen uudelleen luonti -> korjaus toiminnossa, varmistakaa että vanha (2005) drm.dll ei ole winskj kansiossa tai missään polussa ennen pervasiven bin kansiossa olevaa drm.dll:ää

Status 7011

Esimerkiksi Windows 8-ympäristöissä tietokantaa luotaessa voi tulla tämä virhe.

Tämän pystyy kiertämään seuraavasti:

  1. Lopeta Pervasive Workgroup Engine
  2. Käynnistä Engine "Run as Administrator" -toiminnolla
  3. Luo tietokanta

Status 7004

Mikäli SKJDB tjms näyttää 7004, eikä muilta koneilta pääse kantaan kiinni, tulee palvelinkoneelle ajaa chkdsk /f.

ym voi olla kyllä jo vanhentunut ohje. (tehty v8 aikana). Jos SKJDB näyttää client koneelta 7004 se on ihan ok, jos sinne ei ole tehty yhtään Engine interface kantaa. 7004 dokumentointi on 

This error can be returned in the following situations:

  • You do not have the necessary permissions to perform the operation.
  • The engine on the target machine is not started.

Virhe tulee myös jos WGE-ympäristössä on system cache määritelty yli 4095Mb (WGE on 32bit rajoituksilla ja eikä tue +4GB muistimäppäyksiä)

Status 7329

Pervasiven lisenssihallinta ei saa yhteyttä pervasiven lisenssipalveluun. Pervasiven dokumentaatio tässä
[Huomatkaa lisäksi että joissain isoissa ympäristöissä voi olla myös ns. sisältösuodattimia, jotka blokkaavat yhteyden.

Status 7224

User lacks the appropriate rights to authorize or deauthorize a key
Likely cause:

Running PSQL Workgroup without Windows Administrator access. Solution: Close Workgroup Engine and restart w3dbsmgr.exe using the "Run as administrator: option. Or, uninstall Workgroup and reinstall it to run as a service.

Invalid operation code

Ko. virheilmoitusta on havaittu tietyissä ympäristöissä, jossa tietokantapalvelimena on v9 Workgroup ja asiakaskoneessa v10 workgroup.
Korjaantuu vaihtamalla v10 v9:ksi. Tietokannan version vaihdoksen jälkeen tietokantamääritykset (aliakset) tulee muodostaa uudelleen.

w3dbav78.dll tiedostoa ei voi ladata

29.4.2009 jälkeen tuleet WinSKJ-ohjelmat, pervasive 10.x voi tuottaa tämän virheen. Tällöin pitää poistaa drm.dll winskj-kansiosta. Tämä koskee nimen omaan vain 10.X asennuksia, aiemmilla versioilla drm.dll ei tullut pervasiven mukana.

The chunk offset is too big(Btrieve Error 103)

Kts. Status 103 yläpuolelta


Taustaohjelman yleiset virheet

No such table or object

Jos ohjelma toimii osittain, esim. tuotteisiin pääsee, mutta esim. tiedostojen selailu -> export ilmoittaa sql virheilmoituksen "No such table or object" voi syynä olla ddf:n vioittuminen. Kopioi ddf:t ko. version tiedostoista tai päivitä ohjelma.

Connection attempt timed out

Mikäli otsikossa mainittu virhe ilmoitus tulee SQL kyselystä esim. skjsql kanta "select count(*) from tuote", mutta WinSKJ:n perusoperaatiot toimivat ja palomuurit ja pervasiven protokolla on ok, kannattaa tarkastaa, että koneiden työryhmänimet ovat samat.

Disconnect error; Transaction rolled back.

Tämä tuli \windows\syswow64\odbcad32.exe:n kanssa testatessa yhteyttä kantaa ympäristössä jossa palvelin koneella oli 11.10 ja client työasemalla 11.30. Päivitetty palvelin uusimpaan versioon ja lähti toimimaan.


Unifaun- ja SmartShip -virheet

Unifaun- ja SmartShip -virheillä tarkoitetaan tilanteita, joissa myyntitilausta koetetaan toimittaa, siinä on ollut valittuna Unifaun-toimitustapa ja mahdollisen noutopistevalinnan asiakastietojen tarkistamisen jälkeen tietojen kuittauksesta tulee virheilmoitus. Nämä virheilmoitukset palautuvat kuljetusyhtiön päästä ja ovat siten useimmiten englanniksi.

Party_CustNo

Virheilmoitukset, joissa field-kohdassa lukee "Party_CustNo" ja message-kohdassa "maximum length (6) exceeded" tai "value changed" tai "illegal value" viittaa siihen, että käytetyn toimitustavan Unifaun-asetuksiin Kuljetusyhtiön asiakasnumero (CustNo) -kenttään on asetettu vääränlainen arvo. Asiakasnumeron pituus vaihtelee kuljetusyhtiön mukaan. Esim. Postin tapauksessa asiakasnumeron maksimipituus on 6 numeroa.

Unauthorized

Kun tulee virheilmoitus, jossa "Unifaun-lähetyksen rekisteröinnissä tapahtui sauraavat virheet:" -tekstin jälkeen ei ole mitään tekstiä, niin virheen lähteelle on muutamia vaihtoehtoja:

  • Kuljetusyhtiön integraatio on saatettu tilata väärällä Developer-Id:llä. Oikea developer-Id on 0050006282
  • Unifaunilta on saatettu tilata väärä integraatiotyyppi. Oikea tyyppi on apiconnect.
  • API-avain toimitustavan asetuksissa saattaa olla väärin. Tarkista, että tunnukset vastaavat kuljetusyhtiöltä saatua API-avainta.

Address_Email

Virheilmoitukset, joissa field-kohdassa lukee "Address_Email" ja message-kohdassa lukee "illegal value", viittaavat siihen, että tilauksen asiakkaan sähköpostiosoite on virheellinen. Siitä saattaa puuttua esim. @-merkki tms.

Tuntematon noutopiste-ID '0'. Vaihda noutopiste

Jos tilausta toimitettaessa Unifaun-toimitustavalla tulee tilanne, jossa asiakas ei ole valinnut noutopistettä eikä sitä pysty valitsemaan toimituksen yhteydessä, niin taustaohjelma tulee päivittää. Ongelmaan on korjaus vuoden 2018 maaliskuun versiossa.

Address_City

Virheilmoitukset, joissa field-kohdassa lukee "Address_City" ja message-kohdassa lukee "mandatory value missing", viittaavat siihen, että lähettäjän osoite on puutteellinen. Lähettäjän eli kauppiaan osoite määritellään taustaohjelman pääikkunan kautta Tiedosto → Asetukset Perustiedot → Osoite ja Postinro & tmp -kohtiin.