Minun alueeni
Apu
Anonymous
Entinen jäsen

Maksuaineiston muodostus antaa SQL-virheen

tekijä Anonymous

Yritetään muodostaa 10-versiossa maksuaineistoa ja tulee seuraavat virheet:

 

Ohjelma
OS (v10.0.289)

Moduli
GetRecordset

Tarkenne
SELECT iban,nimi,IIF(ISNULL(valitilios,'') = '', kptili, valitilios) FROM v_tilit

Käyttäjä

 

Virhetilanne
-2147217900

Selitys
Incorrect syntax near '='.

Ohjelma
OS (v10.0.289)

Moduli
clsCombo

Tarkenne
Alusta

Käyttäjä

 

Virhetilanne
91

Selitys
Object variable or With block variable not set

 

Onko jotain asetustietoja mitä voisi puuttua, koska ennen 10-versiota kaikki toimi hienosti ???

2 VASTAUSTA2
Anonymous
Entinen jäsen

tekijä Anonymous

Ongelma taitaa olla siinä, että SQL Server versio ei tunnista IIF (Inline If) funktiota kyselyissä... Eli pitäisi siis päivittää tietokanta uudempaan versioon.

 

Asennusohjelmat eivätkä tietokantaskriptit eivät herjanneet mitenkään 10-version asennuksen yhteydessä. Nyt jos joudutaan palauttamaan vanha versio ja eiliset kantakopiot, niin menee päivän työt hukkaan jne.

 

Vai onko olemassa jotain kikkaa (esim. skripti millä tuon virheen aiheuttavan kohdan saisi toimimaan aikaisemmalla tavalla esim. CASE syntaksilla) millä tämän voisi kiertää siksi aikaa, että saadaan uusi kantaversio päivitettyä?

Accepted solution
Marko Koivuniemi
ACTIVE CONTRIBUTOR *

Voi harmi paikka ja näin viikonlopun alla vielä. Tosiaan IIF on tullut sqlserveriin versiossa 2012. Testasin meidän vanhalla Nova-palvelimelle jossa on sqlserver 2008R2 ja siellähän tuo ei toiminut.  Mutta eikös tuon tietokantamoottorin päivityksen voisi tehdä (ainakin kokeilla jos joka tapauksessa menee asennuksesi) tehdä suoraan päälle ja antaa asennuksen päivittää kannata ja sitten varmuudeksi vielä Novan skriptit ajoon? Silloin Novassa tehdyt hommat eivät mene hukkaan. Meillä ainakin on sqlserverin päivitys tehty aikoinaan suoraan päälle ainakin 2012->2014.

Sinulla ei ole yhtään suosikkia valittuna.