Avatar billede jakl2 Nybegynder
28. september 2011 - 08:46 Der er 2 kommentarer og
1 løsning

Problem mellem MSSQL, OPENQUERY og MySQL

Hej

Jeg skal starte med at sige at jeg absolut ikke har erfaring med hverken MSSQL eller OPENQUERY, men dem som udvikler vores løsning (Data udveksling mellem C5 og online MySQL server) har stort set givet fortabt.

Derfor håber jeg nu på at kunne hente noget hjælp her inde.

Vores løsning har virket, men efter i mandags gjorde den det ikke længere.

Det går ud på at der skubbes en masse data fra MSSQL serveren op på MySQL serveren, alle vores varer og deres data.

I mandags blev serveren online opdateret (Intet der har med MySQL blev opdateret), men anden software.

For at indsnævre fejlen har vi lavet en meget simpel query, som kun indeholder det felt vi har problemer med.

Det er en float(6,3) felt.

Det underlige:
1. Indeholder feltet products_weight 0, så må vi godt update det.
2. Indeholder feltet products_weight 0.100 (Eller et andet tal under 1), så må vi ikke update og får en fejl.
3. Indeholder feltet products_weight 0 og vi updater til 0.100, så sker der ingen fejl, men vi kan ikke update næste gang.

Det vil altså sige at problemet er at vi ikke kan update products_weight hvis tallet der står i det i forvejen er under 1, men ikke 0.

Fejlbeskden vi får er følgende:

(1 row(s) affected)
OLE DB provider "MSDASQL" for linked server "XXXXXXX_DRIFT" returned message "Row cannot be located for updating. Some values may have been changed since it was last read.".
Msg 7343, Level 16, State 4, Line 5
The OLE DB provider "MSDASQL" for linked server "XXXXXXX_DRIFT" could not UPDATE table "[MSDASQL]". The rowset was using optimistic concurrency and the value of a column has been changed after the containing row was last fetched or resynchronized.



Den query vi tester på er:

UPDATE OPENQUERY(XXXXXXX_DRIFT, 'SELECT * FROM products') SET products_weight = CAST('0' AS DECIMAL(6,3)), bdc_update = (SELECT DATEDIFF(s, '19700101', GETDATE())) FROM INVENTABLE WHERE Products_id = @vareid

Er der nogen der har nogle forslag, links til gode indlæg eller lige ved hvad der er galt, så høre jeg MEGET gerne fra jer.
Avatar billede majbom Novice
28. september 2011 - 12:29 #1
den update-query du viser, er det en i selv har bikset sammen? synes den ser noget spøjs ud...
Avatar billede jakl2 Nybegynder
28. september 2011 - 12:33 #2
Det er en vores udbyder har lavet. Jeg loggede på serveren og kopirede den direkte derfra og her ind.

Med min kendskab til MySql synes jeg også den ser underlig ud, men jeg har bare taget forgivet at det måske er sådan de ser ud når man skal få MSSql og MySql til at arbejde sammen.
Avatar billede jakl2 Nybegynder
16. november 2011 - 09:39 #3
Lukker vi har skiftet udbyder og fået det hele programmeret forfra.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester