Avatar billede eksperten1 Nybegynder
19. november 2007 - 21:13 Der er 14 kommentarer og
2 løsninger

ADODB connection eller alternativ, til MS SQL / Navision

Jeg skal hente data ud af en MS SQL_SERVER 2000 som skal JSON encodes, eller endnu bedre, bruges i AMFPHP.

Mit problem er, at der anvendes en eller anden vandvittig collation på tabellerne som alle er oprettet igennem Navision.

Jeg har f.eks. tabeller der hedder (hold nu fast) [DK idé-nyt as$Price Runner] - det er jo helt hen i vejret, apostroffer og jeg skal give dig skal jeg.

Nå men jeg har naturligvis forsøgt med mssql_query uden held, har forsøgt med "$conn = new COM ("ADODB.Connection")" uden held, alle fejler/snubler over de latterlige tabelnavne.

Hvad har jeg af alternativer ?? Jeg SKAL hive data ud og det er udelukket at ændre på SQL Serveren, der er pt. over 35.000 tabeller så det er ikke noget man lige piller ved.

Eksempler, FAQer o.s.v. belønnes, allerhelst eksempler.

BTW så er jeg rimelig ny ud i PHP, kommer fra ASP (hvor det irriterende nok bare virker! Det er bare så røv langsomt)

Tak for hjælpen :-)
Avatar billede anri Novice
20. november 2007 - 17:10 #1
Er det en engangs forteelse eller hænger du på de navne?
Avatar billede anri Novice
20. november 2007 - 17:46 #2
Sorry..  Jeg kunne jo bare læse hvad du skriver.

Altså det burde være muligt at omdøbe alle tabellerne, hvis du har mulighed for det.
Denne SQL læser alle tabeller :
select name, user_name(uid) from sysobjects where type='U' and name like 'DK idé-nyt as$%'

På denne måde kan du også rename alle tabellerne men du skal lige slå opdatering af systemtabeller til først :

-----------
sp_configure 'allow updates',1
go
reconfigure with override
go
Avatar billede eksperten1 Nybegynder
20. november 2007 - 18:18 #3
Desværre er det 100% umuligt at foretage ændringer på sql serveren. Den er backend for Navision for koncernen i 4 lande 8-12 virksomheder. Så nej der kan ikke ændres på det.

Hvad er der af alternativer ??

Men tak for det ;-)
Avatar billede anri Novice
20. november 2007 - 18:57 #4
Men skulle du hente data løbende eller er det blot en ting du gør en gang for alle?
Avatar billede eksperten1 Nybegynder
20. november 2007 - 19:10 #5
De skal hentes løbende - skal bruge AMFPHP eller JSON_encode for at bruge data fra sql serveren i en Flex2 applikation.

I bund og grund ville det være fedt om man "bare" kunne bruge mssql_query og så ellers derudaf. Men på grund af en eller anden idiot der oprindeligt satte den server op, så gemmes data i et vandvittigt format, og man kalder tabeller for tåbelige ting med apostroffer, mellemrum, specialtegn og jeg ved ikke hvad. Det er vist primært fordi at det er Navision der opretter tabeller o.s.v.

thx
Mark
Avatar billede arne_v Ekspert
20. november 2007 - 19:10 #6
Hvis man omdoeber tabellerne saa vil Navion stoppe med at virke, saa det er ikke en
god loesning.

Var det en mulighed at lave views paa SQLServeren som mappede queries til paene navne ?
Avatar billede arne_v Ekspert
20. november 2007 - 19:15 #7
Naar du har foesoegt med mssql_xxxx har det saa vaeret med MS lib eller med FreeTDS ?
Avatar billede eksperten1 Nybegynder
20. november 2007 - 19:57 #8
arne_v : Jeg har ikke andet end helt basale rettigheder og der er som sagt MANGE tabeller - så at sidde og mappe dem vil næppe være muligt, men det bliver den sidste nødløsning. I realiteten bruges kun 8-10 stks pr regnskab så måske måske...

Hvordan ved jeg om det er MS lib eller FreeTDS ?? Det er på en Win 2003 Server, så jeg tror da det er MS lib. Kan jeg bruge FreeTDS på MS ?
Avatar billede eksperten1 Nybegynder
20. november 2007 - 19:58 #9
ja ok det er til *nix så det hjælper mig ikke.
Avatar billede anri Novice
21. november 2007 - 07:31 #10
Skal det være 100% live data, eller kan du replikere dem om natten?
Avatar billede eksperten1 Nybegynder
21. november 2007 - 08:21 #11
100% LIVE - det er hele essensen i systemet at det er live data.
Avatar billede anri Novice
21. november 2007 - 09:33 #12
Så går jeg ud fra at der ikke bliver ændret i selve tabel-strukturen.
Jeg kunne forestille mig at man oprettede et view med et simpelt navn, til hver sin tabel.

Jeg har en idé om at di kan bruge cursors til at automatisk at oprette disse views.
Hvis du kan vente lidt, kan jeg godt brygge et eksempel sammen til dig i aften.
Avatar billede eksperten1 Nybegynder
21. november 2007 - 09:46 #13
arne_v forslog det samme igår aftes - jeg er ved at undersøge det pt. Det er sådan at jeg ikke har andet end select adgang til serveren, så det vil være Navision konsulenten der kommer til at foretage disse ændringer.

Tak for indsatsen :-)

Smid et svar begge to, så deler jeg sol og vind lige.
Avatar billede anri Novice
21. november 2007 - 10:35 #14
Det skal du få..  Og vend endelig tilbage hvis du skal have en hånd med de cursors..  Det har jeg brugt før med succes..
Avatar billede arne_v Ekspert
21. november 2007 - 19:17 #15
ok
Avatar billede eksperten1 Nybegynder
22. november 2007 - 07:54 #16
Tak for det gutter :-)
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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