Avatar billede it-studerende Nybegynder
17. juli 2005 - 18:30 Der er 79 kommentarer og
1 løsning

problemer med at connecte MS SQL 2000 server med asp.

Jeg er lige blevet færdig med den del af min hjemmeside hvor brugere skal kunne oprette sig, og er lige igang med at teste det, men det lader til at der er nogle problemer med det.

Da jeg installeret SQL-serveren på min WEB-server satte jeg den til at bruge "Windows Integrated Authentication". Jeg går så ud fra at jeg skal bruge den konto som jeg logger på WEB-serveren med, altså brugernavn: Admin og password: XXXXXXX

Ud af det får jeg denne fejl:

Microsoft OLE DB Provider for ODBC Drivers error '80040e4d'

[Microsoft][ODBC SQL Server Driver][SQL Server]Login failed for user 'Admin'. Reason: Not associated with a trusted SQL Server connection.

/forbindelse.asp, line 3

Min forbindelse.asp ser sådan her ud:

<%
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open "Driver={SQL Server};" & _
"Server=local;" & _
"Database=hilsoe;" & _
"Uid=Admin;" & _
"Pwd=XXXXXXX;"
objConn.Close
Set objConn = Nothing
%>

Jeg vil meget gerne have det til at virker, har selv rodet med det i en uge nu.
Avatar billede arne_v Ekspert
17. juli 2005 - 19:21 #1
prøv med den her connection string:

"Provider=SQLOLEDB;Data Source=DINPC;Initial Catalog=hilsoe;Integrated Security=SSPI;"
Avatar billede it-studerende Nybegynder
17. juli 2005 - 19:22 #2
istedet for hvad?
Avatar billede arne_v Ekspert
17. juli 2005 - 19:25 #3
som argument til objConn.Open
Avatar billede arne_v Ekspert
17. juli 2005 - 19:25 #4
DINPC skal erstattes med navnet på din PC
Avatar billede it-studerende Nybegynder
17. juli 2005 - 19:26 #5
ok så alt det her ("Driver={SQL Server};" & _ "Server=local;" & _ "Database=hilsoe;" & _ "Uid=Admin;" & _ "Pwd=XXXXXXX;")

skal skiftes ud med det her ("Provider=SQLOLEDB;Data Source=DINPC;Initial Catalog=hilsoe;Integrated Security=SSPI;")
Avatar billede arne_v Ekspert
17. juli 2005 - 19:28 #6
ja
Avatar billede it-studerende Nybegynder
17. juli 2005 - 19:30 #7
så for jeg så denne her fejl

---------

Microsoft OLE DB Provider for SQL Server error '80004005'

[DBNETLIB][ConnectionOpen (Connect()).]SQL Server does not exist or access denied.

/forbindelse.asp, line 3
Avatar billede arne_v Ekspert
17. juli 2005 - 19:32 #8
Lyder som om du ikke her erstattet DINPC med det rigtige
Avatar billede it-studerende Nybegynder
17. juli 2005 - 19:34 #9
ok den ser sådan her ud nu

<%
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open "Provider=SQLOLEDB;Data Source=DINPC;Initial Catalog=hilsoe;Integrated Security=SSPI;"
objConn.Close
Set objConn = Nothing
%>
Avatar billede arne_v Ekspert
17. juli 2005 - 19:36 #10
DINPC skal erstattes med navnet på din PC
Avatar billede it-studerende Nybegynder
17. juli 2005 - 19:37 #11
hehe ja det fandt jeg lige ud af, nu kommer denne her fejl

Microsoft OLE DB Provider for SQL Server error '80040e4d'

Login failed for user 'HILSOEWEB1\IUSR_HILSOEWEB1'.

/forbindelse.asp, line 3
Avatar billede arne_v Ekspert
17. juli 2005 - 19:39 #12
Det betyder at dit ASP script kører under brugernavn IUSR_HILSOEWEB1

Så enten skal du oprette IUSR_HILSOEWEB1 som login i server og user i databasen - eller
så skal du have dit script til at køre under en anden konto
Avatar billede arne_v Ekspert
17. juli 2005 - 19:40 #13
jeg skal måske lige forklare:

Windows Integrated Authentication = man angiver ikke brugernavn/password i connection
men der bruges det windows brugernavn den der connecter er logget på med
Avatar billede it-studerende Nybegynder
17. juli 2005 - 19:45 #14
jeg har oprettet en bruger "Admin" med en kode XXXXXX
Avatar billede arne_v Ekspert
17. juli 2005 - 19:50 #15
der skal altid oprettes båd elogin og user

hvis du kun har installeret med integrated security kan du ikke bruge en brugernavn
som ikke eksisterer som windows brugernavn til noget som helst
Avatar billede it-studerende Nybegynder
17. juli 2005 - 19:51 #16
ok, det kan være vi lige skal gå opsætningen igennem
Avatar billede it-studerende Nybegynder
17. juli 2005 - 19:55 #17
under security --> Authentication er "SQL server and Windows" makeret
Avatar billede arne_v Ekspert
17. juli 2005 - 20:06 #18
OK så kører du i mixed mode
Avatar billede it-studerende Nybegynder
17. juli 2005 - 20:07 #19
er det godt eller skidt?
Avatar billede arne_v Ekspert
17. juli 2005 - 20:08 #20
så kan du brøve at connecte med admin:

Provider=SQLOLEDB;Data Source=DINPC;Initial Catalog=hilsoe;User Id=admin;Password=XXXXX
Avatar billede it-studerende Nybegynder
17. juli 2005 - 20:16 #21
det får jeg denne fejl ud af

Microsoft OLE DB Provider for SQL Server error '80004005'

[DBNETLIB][ConnectionOpen (Connect()).]SQL Server does not exist or access denied.

/forbindelse.asp, line 3

jeg mener jeg kan huske koden, men er der mulighed for at jeg kan ændre den så vi er sikre på den er rigtig?
Avatar billede arne_v Ekspert
17. juli 2005 - 20:19 #22
og du har igen rettet DINPC til det rigtige ?
Avatar billede it-studerende Nybegynder
17. juli 2005 - 20:23 #23
hehe næ
Avatar billede it-studerende Nybegynder
17. juli 2005 - 20:24 #24
ok nu ligner det noget jeg får denne fejl

Microsoft VBScript runtime error '800a01a8'

Object required: 'rs'

/register.asp, line 24

det vil sige jeg har forbindelse.
Avatar billede arne_v Ekspert
17. juli 2005 - 20:27 #25
jeg

hvad har du i linie 24 ?
Avatar billede arne_v Ekspert
17. juli 2005 - 20:27 #26
linie 19-25 ?
Avatar billede it-studerende Nybegynder
17. juli 2005 - 20:29 #27
det her er linje 22 - 28

if adganskode=gentagadgangskode then  'hvis den ene er lig med den anden, så gør dette :
    sql="INSERT INTO adresse(brugernavn,adgangskode,gentagadgangskode,fornavn,mellemnavn,efternavn,fdato,adresse,postnummer,by,land,email,telefon,mobil,kompagni,deling,gruppe) VALUES('"&now()&","&brugernavn&"','"&adgangskode&"','"&gentagadgangskode&"','"&fornavn&"','"&mellemnavn&"','"&efternavn&"','"&fdato&"','"&adresse&"','"&postnummer&"','"&byen&"','"&land&"','"&email&"','"&telefon&"','"&mobil&"','"&kompagni&"','"&deling&"','"&gruppe&"')"
    set record=rs.execute(sql)
response.write "Adgangskoderne blev indtastet ens, og du er nu oprettet."
else ' ellers
response.write "Adgangskoderne blev ikke indtastet ens, du blev oprettet."
end if ' afslut IF sætning
Avatar billede arne_v Ekspert
17. juli 2005 - 20:31 #28
skal det ikke være

objConn.execute

?
Avatar billede it-studerende Nybegynder
17. juli 2005 - 20:32 #29
det ved jeg ikke, men jeg kan da prøve
Avatar billede it-studerende Nybegynder
17. juli 2005 - 20:33 #30
så kommer det her

Microsoft VBScript compilation error '800a03f3'

Expected '='

/register.asp, line 24

set objConn.execute(sql)
------------------------^
Avatar billede arne_v Ekspert
17. juli 2005 - 20:43 #31
set record = objConn.execute(sql)
Avatar billede it-studerende Nybegynder
17. juli 2005 - 20:45 #32
så kommer denne her

Microsoft VBScript runtime error '800a01a8'

Object required: 'objConn'

/register.asp, line 24
Avatar billede arne_v Ekspert
17. juli 2005 - 20:49 #33
øh

den har du vel lavet med

Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open "..."

jævnfør oprindelige spørgsmål
Avatar billede it-studerende Nybegynder
17. juli 2005 - 20:53 #34
det ved jeg ikke, jeg er endnu ikke så skarp til ASP og MS SQL, men skal jeg rette mere et sted???
Avatar billede arne_v Ekspert
17. juli 2005 - 20:56 #35
kan du poste hele koden ?
Avatar billede it-studerende Nybegynder
17. juli 2005 - 20:58 #36
koden fra register.asp?
Avatar billede arne_v Ekspert
17. juli 2005 - 21:00 #37
ja
Avatar billede it-studerende Nybegynder
17. juli 2005 - 21:00 #38
<!--#include file="forbindelse.asp" -->

<%
brugernavn=request.form("brugernavn")
adgangskode=request.form("adgangskode")
gentagadgangskode=request.form("gentagadgangskode")
fornavn=request.form("fornavn")
mellemnavn=request.form("mellemnavn")
efternavn=request.form("efternavn")
fdato=request.form("faar")&right("0"&request.form("fmaaned"),2)&right("0"&request.form("fdag"),2)
adresse=request.form("adresse")
postnummer=request.form("postnummer")
by=request.form("byen")
land=request.form("land")
email=request.form("email")
telefon=request.form("telefon")
mobil=request.form("mobil")
kompagni=request.form("kompagni")
deling=request.form("deling")
gruppe=request.form("gruppe")

if adganskode=gentagadgangskode then  'hvis den ene er lig med den anden, så gør dette :
    sql="INSERT INTO adresse(brugernavn,adgangskode,gentagadgangskode,fornavn,mellemnavn,efternavn,fdato,adresse,postnummer,by,land,email,telefon,mobil,kompagni,deling,gruppe) VALUES('"&now()&","&brugernavn&"','"&adgangskode&"','"&gentagadgangskode&"','"&fornavn&"','"&mellemnavn&"','"&efternavn&"','"&fdato&"','"&adresse&"','"&postnummer&"','"&byen&"','"&land&"','"&email&"','"&telefon&"','"&mobil&"','"&kompagni&"','"&deling&"','"&gruppe&"')"
    set record = objConn.execute(sql)
response.write "Adgangskoderne blev indtastet ens, og du er nu oprettet."
else ' ellers
response.write "Adgangskoderne blev ikke indtastet ens, du blev oprettet."
end if ' afslut IF sætning
%>
Avatar billede arne_v Ekspert
17. juli 2005 - 21:02 #39
og forbindelse.asp ?
Avatar billede it-studerende Nybegynder
17. juli 2005 - 21:02 #40
kommer her

<%
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open "Provider=SQLOLEDB;Data Source=HILSOEWEB1;Initial Catalog=hilsoe;User Id=Admin;Password=02Hilsoesql04;"
objConn.Close
Set objConn = Nothing
%>
Avatar billede arne_v Ekspert
17. juli 2005 - 21:03 #41
set record = objConn.execute(sql)

må kun skulle være

objConn.execute(sql)

da der ikke returneres et record set
Avatar billede arne_v Ekspert
17. juli 2005 - 21:05 #42
objConn.Close
Set objConn = Nothing

skal fjernes fra forbindelse.asp

og enten ligges sidst i register.asp eller i en luk.asp som inkluderes
sidst i register.asp
Avatar billede it-studerende Nybegynder
17. juli 2005 - 21:08 #43
så kommer denne her fejl

Microsoft OLE DB Provider for SQL Server error '80040e14'

Incorrect syntax near the keyword 'by'.

/register.asp, line 24
Avatar billede arne_v Ekspert
17. juli 2005 - 21:09 #44
by er et keyword i SQL
Avatar billede arne_v Ekspert
17. juli 2005 - 21:10 #45
bedste råd: omdøb det felt til noget andet

dirty hack: prøv og angiv det som [by]
Avatar billede it-studerende Nybegynder
17. juli 2005 - 21:10 #46
så jeg skal kalde det noget andet?
Avatar billede it-studerende Nybegynder
17. juli 2005 - 21:15 #47
ok nu er der forbindelse, men men men, der er noget andet galt nu, selv om jeg skriver koderne rigtigt så kommer beskeden, adgangskoderne blev ikke skrevet ens, du blev ikke opretttet?????????????
Avatar billede it-studerende Nybegynder
17. juli 2005 - 21:17 #48
den har jeg vidst selv lige rettet
Avatar billede it-studerende Nybegynder
17. juli 2005 - 21:18 #49
næ det har jeg ikke, der manglede et "g" i adgangskode, men nu får jeg så den med by igen

Microsoft OLE DB Provider for SQL Server error '80040e14'

Invalid column name 'by'.

/register.asp, line 24
Avatar billede arne_v Ekspert
17. juli 2005 - 21:21 #50
har du rettet

  sql="INSERT INTO adresse(brugernavn,adgangskode,gentagadgangskode,fornavn,mellemnavn,efternavn,fdato,adresse,postnummer,by,land,email,telefon,mobil,kompagni,deling,gruppe) VALUES('"&now()&","&brugernavn&"','"&adgangskode&"','"&gentagadgangskode&"','"&fornavn&"','"&mellemnavn&"','"&efternavn&"','"&fdato&"','"&adresse&"','"&postnummer&"','"&byen&"','"&land&"','"&email&"','"&telefon&"','"&mobil&"','"&kompagni&"','"&deling&"','"&gruppe&"')"

til det nye navn for by (eller til [by]) ?
Avatar billede it-studerende Nybegynder
17. juli 2005 - 21:21 #51
ARG DER ER SGU DA OGSÅ HELE TIDEN NOGET NYT GALT!!!!!!!!

har rettet det med byen, men nu er der ikke en ny fejl

Microsoft OLE DB Provider for SQL Server error '80040e09'

INSERT permission denied on object 'adresse', database 'hilsoe', owner 'Admin'.

/register.asp, line 24
Avatar billede arne_v Ekspert
17. juli 2005 - 21:23 #52
så skal du ind og give det brugernavn du connecter med adgang til at lave insert
på tabel adresse
Avatar billede it-studerende Nybegynder
17. juli 2005 - 21:26 #53
det er der osse, når jeg går ind under brugeren er der V ved alt undtagen exec vælger jeg at kigge under columns er der ingen V, er det rigtigt???
Avatar billede it-studerende Nybegynder
17. juli 2005 - 21:30 #54
så for pokker så virker det sgu, TUSIND TAK FOR HJÆLPEN.

Lig et svar og du skal få dine velfortjente point.
Avatar billede arne_v Ekspert
17. juli 2005 - 21:31 #55
svar
Avatar billede it-studerende Nybegynder
17. juli 2005 - 21:31 #56
måske jeg kan få dig til at kigge på min table?
Avatar billede arne_v Ekspert
17. juli 2005 - 21:33 #57
jo da
Avatar billede it-studerende Nybegynder
17. juli 2005 - 21:35 #58
men der ville det være letteste hvis jeg kunne sende dig et screen shoot.
Avatar billede arne_v Ekspert
17. juli 2005 - 21:36 #59
arne_v@mail.danbbs.dk
Avatar billede it-studerende Nybegynder
17. juli 2005 - 21:44 #60
er det en MSN??
Avatar billede arne_v Ekspert
17. juli 2005 - 21:46 #61
nej - en email adresse !
Avatar billede it-studerende Nybegynder
17. juli 2005 - 21:47 #62
ok, jeg har lige sendt en mail med to gif'er
Avatar billede arne_v Ekspert
17. juli 2005 - 21:57 #63
sql="INSERT INTO adresse(brugernavn,adgangskode,gentagadgangskode,fornavn,mellemnavn,efternavn,fdato,adresse,postnummer,by,land,email,telefon,mobil,kompagni,deling,gruppe) VALUES('"&now()&","&brugernavn&"','"&adgangskode&"','"&gentagadgangskode&"','"&fornavn&"','"&mellemnavn&"','"&efternavn&"','"&fdato&"','"&adresse&"','"&postnummer&"','"&byen&"','"&land&"','"&email&"','"&telefon&"','"&mobil&"','"&kompagni&"','"&deling&"','"&gruppe&"')"

skal nok være

sql="INSERT INTO adresse(oprettet,brugernavn,adgangskode,gentagadgangskode,fornavn,mellemnavn,
efternavn,fdato,adresse,postnummer,by,land,email,telefon,mobil,kompagni,deling,gruppe)
VALUES("&now()&",'"&brugernavn&"','"&adgangskode&"','"&gentagadgangskode&"','"&
fornavn&"','"&mellemnavn&"','"&efternavn&"','"&fdato&"','"&adresse&"','"&
postnummer&"','"&byen&"','"&land&"','"&email&"','"&telefon&"','"&mobil&"','"&
kompagni&"','"&deling&"','"&gruppe&"')"
Avatar billede arne_v Ekspert
17. juli 2005 - 21:58 #64
jeg har tilføjet oprettet til felt listen

jeg har flyttet en '
Avatar billede arne_v Ekspert
17. juli 2005 - 21:58 #65
jeg ville nok iøvrigt ikke gemme gentagadgangskode
Avatar billede it-studerende Nybegynder
17. juli 2005 - 22:00 #66
ok, vil det ikke blive et problem hvis der skal ændres en adgangskode?
Avatar billede it-studerende Nybegynder
17. juli 2005 - 22:03 #67
og hvad med design af tabelen_
Avatar billede arne_v Ekspert
17. juli 2005 - 22:14 #68
du gemmer vel kun hvis adgangskode og gentagadgangskode er ens og så har du vel ikke
brug for begge
Avatar billede it-studerende Nybegynder
17. juli 2005 - 22:16 #69
ok nu har jeg prøvet den rettelse du kom med og det kom der følgende ud af

Microsoft OLE DB Provider for SQL Server error '80040e14'

Line 1: Incorrect syntax near '22'.

/register.asp, line 24

???
Avatar billede arne_v Ekspert
17. juli 2005 - 22:18 #70
det er nok now() og korrekt tidsformat som driller lidt
Avatar billede arne_v Ekspert
17. juli 2005 - 22:19 #71
prøv:

sql="INSERT INTO adresse(oprettet,brugernavn,adgangskode,gentagadgangskode,fornavn,mellemnavn,
efternavn,fdato,adresse,postnummer,by,land,email,telefon,mobil,kompagni,deling,gruppe)
VALUES(GETDATE(),'"&brugernavn&"','"&adgangskode&"','"&gentagadgangskode&"','"&
fornavn&"','"&mellemnavn&"','"&efternavn&"','"&fdato&"','"&adresse&"','"&
postnummer&"','"&byen&"','"&land&"','"&email&"','"&telefon&"','"&mobil&"','"&
kompagni&"','"&deling&"','"&gruppe&"')"
Avatar billede it-studerende Nybegynder
17. juli 2005 - 22:30 #72
ok nu kommer datoen det rigtige sted, men tabellen viser stadig ikke den adgangskode brugeren har valgt.
Avatar billede it-studerende Nybegynder
17. juli 2005 - 22:32 #73
ok nu har jeg så fået gjord at det kun er adgangskode der bliver gemt, men der er stadig et problem, fødselsdag bliver ikke gemt korrekt.
Avatar billede arne_v Ekspert
17. juli 2005 - 22:33 #74
virker de her:

adgangskode=request.form("adgangskode")
gentagadgangskode=request.form("gentagadgangskode")


som de skal ?
Avatar billede it-studerende Nybegynder
17. juli 2005 - 22:34 #75
hvad tænker du på?
Avatar billede it-studerende Nybegynder
17. juli 2005 - 22:37 #76
synes du design af tabellen er okay,her tænker jeg på data typer og længden af dem?
Avatar billede arne_v Ekspert
17. juli 2005 - 22:40 #77
kommer adgangskode og gentagadgangskode til at inde det rigtige
Avatar billede arne_v Ekspert
17. juli 2005 - 22:40 #78
generelle tabel kommentarer sendt per email
Avatar billede it-studerende Nybegynder
17. juli 2005 - 22:42 #79
ja efter jeg sletttede dentagadgangskode så det kuner adgangskode der bliver gemt så kommer den rigtigt ind.
Avatar billede it-studerende Nybegynder
17. juli 2005 - 22:44 #80
nå efter jeg har rettet fdato til at være datetime så kommer denne her fejl

Microsoft OLE DB Provider for SQL Server error '80040e07'

Syntax error converting datetime from character string.

/register.asp, line 24
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