Avatar billede coolmike Nybegynder
26. juli 2005 - 11:13 Der er 10 kommentarer og
1 løsning

Kan ikke koble op til database

På en Small Business server 2003 har jeg installeret et program der skal scanne diverse dokumenter mm. Dette program bruger en MSSQL database og lokalt på serveren kører dette helt fint.

Nå jeg vil koble op fra en anden maskine sker der imidlertid ingenting (programmet har en lille viewer) og bruger jeg Excel for bare at se om der er forbindelse, sker der heller ikke noget.

Systemet er ret nyt og der er ikke alt er sat op helt standard. Jeg har testet på en terminalserver, en XP klient og en XP der ikke er med i domænet - alt med samme resultat.

Jeg er ret blank på SQL så jeg overser måske noget helt basalt. Dog har ham der har installeret scanner programmet meget stor SQL erfaring - dog ingen erfaring med netværk.

Er der nogen der kan give et tip - jeg er HELT blank her !

Mange tak
Avatar billede Stjannersen Praktikant
26. juli 2005 - 14:53 #1
Tjek om sql-serveren kører på en Windows XP med Service Pack 2. Hvis dette er tilfældet SKAL SQL-serveren være patchet til SP3a.
Du kan tjekke for service pack 3a ved at skrive "Select @@Version" i query analyzer. Hvis der står en dato før december 2002 i resultat, så har den ingen eller en gammel service pack på. Du kan læse om og hente SP3a her: http://www.eu.microsoft.com/sql/downloads/2000/sp3.asp
Avatar billede coolmike Nybegynder
26. juli 2005 - 15:14 #2
For lige at understrege hvor blank jeg er på SQL: Hvordan kører man query analyzer?

MSDE basen kører som sagt på en Windows 2003 Small Business server. Jeg fandt ud af at der var en "critical" update på windowsupdate men dette hjalp ikke. Derfor tror jeg at jeg kører den seneste version.
Jeg kobler op fra både en terminalserver og en XP men med samme problem. Fra Excel på terminalen får jeg følgende fejl:

Connection failed:
SQLState: '01000'
SQL Server Error: 2
[Microsoft][ODBC SQL Server Driver][Name Pipes]ConnectionOpen (CreateFile()).
Connection failed:
SQLState: '08001'
SQL Server Error: 6
[Microsoft][ODBC SQL Server Driver][Name Pipes]Specified SQL server not found.
Giver dette mening ?
Avatar billede Stjannersen Praktikant
26. juli 2005 - 15:30 #3
Jeg bliver egentlig bekræftet i min teori :-) Jeg vidste blot ikke at det var en MSDE - den udemærker sig ved at være gratis på bekostning af et absolut fraværende interface.
Gå ud i DOS-prompten og skriv:
----------------------
osql -E -Q "Select @@version"
------------------------
Svaret kan se ca. således ud:
------------------------
Microsoft SQL Server  2000 - 8.00.760 (Intel X86)
      Dec 17 2002 14:22:05
      Copyright (c) 1988-2003 Microsoft Corporation
      Developer Edition on Windows
      NT 5.1 (Build 2600: Service Pack 2)
-----------------------
Linien "8.00.760" fortæller at denne maskine har SP3a på. Er tallet lavere - hvilket jeg tror din maskine har - skal du installere en speciel SP3a.
Mine kunder bruger samme MSDE, så jeg vil henvise dig til den side vi bruger til at få dem opgraderet: http://www.winfinans.dk/support_artikler.asp?ProduktID=100&ArticleID=78 - læs siden nøje. Microsoft har ikke gjort sådan en opdatering interaktiv....

Problemet er at WinXP service pack 2 - på bedste formynderiske vis - lukker af for kommunikation med SQL/MSDE'en for udefrakommende klienter, hvis den finder at SQL-serveren er for usikker/upatchet.
Avatar billede coolmike Nybegynder
26. juli 2005 - 15:40 #4
Microsoft SQL Server  2000 - 8.00.760 (Intel X86)
Dec 17 2002 14:22:05
Copyright (c) 1988-2003 Microsoft Corporation
Desktop Engine on Windows NT
5.2 (Build 3790: )

Den ser god nok ud. Jeg har dog lidt på fornemmelsen at det KUNNE være SBS serveren der lukker af for kommunikationen. Jeg ved dog ikke hvad slags kommunikation jeg skal søge efter og evt. åbne for. Der er ikke firewall mellem klienter og server!
hmmmm


(1 row affected)
Avatar billede Stjannersen Praktikant
26. juli 2005 - 15:55 #5
Pokkers :-)
Det var ellers et gæt, som har reddet de fleste i din situation.
Når det fungerer fint, når du er på maskinen, skyldes det at man ikke kan kommunikere internt på en maskine via TCpip, hvorfor der anvendes named pipes.

Så mit næste skud er at opdatere MDAC'en på klienterne. Gå til http://msdn.microsoft.com/data/mdac/downloads/default.aspx - her kan du få opdateret MDAC'en, som er det sæt af protokoller der anvendes ved bl.a sql-server kommunkation. Vær opmærksom på at MDAC 2.8 Service Pack 1 IKKE virker på XP - du skal nuppe MDAC 2.8 uden service packs.

Du kan vælge at hente Component Checker utility'en, men umiddelbart vil jeg vurdere at det tager så kort tid at hente selve komponenter at det ikke kan betale sig at tjekke først - er MDAC'en i orden på maskinen er der ingen skade sket.
Avatar billede coolmike Nybegynder
26. juli 2005 - 16:23 #6
Har opdateret MDACen men kan ikke genstarte serveren lige nu.

Jeg har andre steder set noget med port 1433 som SQL skulle skulle "snakke" på.

Når jeg lige som denne fyr (http://www.tek-tips.com/viewthread.cfm?qid=1017492&page=7) kører netstat -an kan jeg ikke dinde port 1433 eller 34 for den sags skyld. Det har intet med XP sp2 da jeg hovedsageligt forsøger at koble op med en Windows 2000 terminalserver.
Siger det dig noget?
Avatar billede Stjannersen Praktikant
27. juli 2005 - 10:24 #7
Tjahh - det ser lidt ørkesløst ud. Har du fået genstartet maskinen??
Der skal naturligvis også opdateres MDAC på terminalserveren.
Avatar billede coolmike Nybegynder
27. juli 2005 - 13:20 #8
Nu har jeg endelig fået det testet igen.
Det hjalp ikke men fejlmeddelelsen har skiftet lidt:

Connection failed:
SQLState: '01000'
SQL Server Error: 2
[Microsoft][ODBC SQL Server Driver][DBNETLIB]ConnectionOpen (Connect()).
Connection failed:
SQLState: '08001'
SQL Server Error: 17
[Microsoft][ODBC SQL Server Driver][DBNETLIB]SQL server does not exist or acces is denied.
Avatar billede Stjannersen Praktikant
27. juli 2005 - 13:36 #9
Den første fejls [Microsoft][ODBC SQL Server Driver][Name Pipes]ConnectionOpen (CreateFile()) henviser til named pipes.
Den anden fejls [Microsoft][ODBC SQL Server Driver][DBNETLIB]ConnectionOpen (Connect()) henviser til dbnetlib, som er navnet på tcpip-biblioteket.
Er du sikker på det er fra den samme maskine??
Prøv på klienten at åbne Start|Kør... og skriv 'cliconfg' - kør dette program. Her skulle gerne stå to enablede protokoller - TCP/IP og named pipes. Marker TCP/IP og klik properties - her skulle gerne stå port 1433.
Kan du verificere dette?
På serveren kan du ligeledes starte programmet 'svrnetcn' og tjekke at der står det samme.
Med de to overstående har du tjekket at klient og server sender og lytter på de samme protokoller og på de samme porte.
Avatar billede coolmike Nybegynder
27. juli 2005 - 14:13 #10
Det er DÆLME godt kæmpet. Jeg havde haft fat i cliconfg på et tidspunkt men dette gav ikke noget resultat - ikke så mærkeligt når den skulle enables på serveren også. Tusind tak for hjælpen.
Avatar billede Stjannersen Praktikant
27. juli 2005 - 14:17 #11
God at klaveret kom til at spille.
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



IT-JOB