Siden Servicepack 1 til klassisk C5 2012 kom på gaden har databasekompatibilitetsdokument indeholdt en note 11, der siger:
- [11] Microsoft SQL Server 2005 is not supported on Windows 8 and Windows Server 2012 and later. Please see http://support.microsoft.com/kb/2681562 for more information.
…og det er jo meget godt. Men hvordan udmønter det sig i praksis?
Ja, får du mystiske fejl fra C5 under opstart – som fx:
- sp_cursorfetch: The cursor identifier value provided (x) is not valid
- Could not find prepared statement with handle x
- Regnskabet “dat” eksisterer ikke
…ja så er du rendt ind i den her.
“Fejlen” skyldes at den “SQL Driver” der leveres med Windows 8.1 IKKE fungerer med SQL Server 2005 – så det er sådan set ikke C5s skyld.
Den hurtigste løsning er at hente en ældre SQL driver – fx “Microsoft® ODBC Driver 11 for SQL Server® – Windows” fra adressen http://www.microsoft.com/en-us/download/details.aspx?id=36434.
Bemærk dog at der ligger både en 32 bits (x86) og en 64 bits (x64) driver – og da C5 er et 32 bits program, er det 32 bits driveren du skal bruge.
Det er dog ikke helt nok – for C5 defaulter til at bruge den i Windows indbyggede SQL-driver, så du skal lige have følgende i C5.ini (eller nok nærmere på din genvej til C5, så du ikke forstyrrer andre, ældre Windows’er i din installation): “-z@driver={ODBC Driver 11 for SQL Server}”. Se evt. dette indlæg om hvad den gør.
Får du stadig fejlen derefter?
Prøv lige engang mere uden Tuborg-parenteserne – dvs. “-z@driver=ODBC Driver 11 for SQL Server”. Der er desværre i skrivende stund lidt forskellige meninger om hvorvidt de skal være der :-).
Bemærk at:
- Det er ikke kun Windows 8.1 der har dette problem med manglende SQL 2005 driver – Windows Server 2012 R2 har samme problem
- Microsoft XAL helt sikker lider af samme fejl – der dog formentligt kan løses på samme måde