webForumDet fria alternativet

Jobba mot SQL-server...

10 svar · 227 visningar · startad av percka

perckaMedlem sedan nov. 200025 inlägg
#1

Sitter och jobbar (nybörjare) i Enterprise manager här på min burk. Kopplar sedan upp mig mot vår serverpark och en SQL-server (7). Allt funkar till synes bra, ända tills data ska lagras i databasen? Har varit inne och ändrat t ex på 'permissions'...men det känns helt klart som om något annat strular? Koden är det nog inget fel på...ett enkelt gästboks-script som jag testar.

EX:
<%
Set db = Server.CreateObject("ADODB.Connection")
db.Open "DRIVER={SQL Server};UID=SA;PWD=*****;DATABASE=DB;SERVER=123.123.123.123"

SQL = "Insert Into Guestbook(Namn,Epost,Kommentar) VALUES ('" & Request.Form("Namn") & "', '" & Request.Form("Epost") &"', '" & Request.Form("Kommentar") &"');"
db.Execute(SQL)
%>

Söker nu lite tips vart man kan tänkas felsöka? Tänker i första hand på EM, eftersom det verkar vara något där som krånglar? En känsla jag har...

Databasen tror jag också ska vara rätt, med fält som 'namn', 'epost', 'kommentar' och ett uniqueidentifier som ID (räknare).

Tack på förhand...
Ska givetvis inte rulla tummar här nu utan letar t ex via F1-tangenten...*ler*...

@ndersMedlem sedan juni 200026 914 inlägg
#2

får du något felmeddelande?
kan du försöka förklara mer ingående hur det 'inte fungerar'?

------------------
<A HREF="http://cartman.nu" TARGET=_blank>
all your base are belong to us!</A>

perckaMedlem sedan nov. 200025 inlägg
#3

Nja, det dumma är ju att det inte blir något felmeddelande, förutom...

"Det uppstod ett problem med sidan du försöker nå och den kan inte visas.

HTTP 500 - Internt serverfel
Internet Explorer"

Servern (IIS) ska fungera som den ska och misstänker att eftersom det är första gången jag skapar databas i EM så är det något jag missat?

@ndersMedlem sedan juni 200026 914 inlägg
#4

ta bort vänliga/egna (verktyg->internetalternativ->avancerat) felmeddelanden i internet explorer och försök igen...

------------------
<A HREF="http://cartman.nu" TARGET=_blank>
all your base are belong to us!</A>

perckaMedlem sedan nov. 200025 inlägg
#5

..sedan så läggs det ju inte till något i databasen såklart =)

Ska titta mer på databasen här nu och felsöka grundligare, så jag kan svara på mer frågor?

perckaMedlem sedan nov. 200025 inlägg
#6

"Cannot insert the value NULL into column 'ID', table 'Trump.dbo.Guestbook'; column does not allow nulls. INSERT fails. "

Då var det typ det jag gissade på, att det var något strul med mitt unika ID för alla poster. Försökte nämligen manuellt lägga till post i EM och fick ett sådant felmeddelande.

Men ska inte fältet ID (Primärnyckel) var i formatet uniqueidentifier? I Access sedan läggs ju ett ID-nummer till automatiskt. Funkar inte det på samma sätt i SQL/EM?

Borde ju såklart själv fattat att jag skulle ta bort egna felmeddelanden =(
Men så inne på EM nu...*ler*...

@ndersMedlem sedan juni 200026 914 inlägg
#7

id-fältet borde vara en vanlig integer (heltal alltså), men du markerar 'identity' i designläget i em. seed är startvärde och increment är stegstorlek.

om du gör så så ska det funka! :)

------------------
<A HREF="http://cartman.nu" TARGET=_blank>
all your base are belong to us!</A>

perckaMedlem sedan nov. 200025 inlägg
#8

...låter rimligt, bara man kommer åt de där gråa fälten...*ler*...lite låst nämligen. Inloggad som SA och "äger" ju databasen...men DBO är ju också med på ett hörn =(

Letar efter "nyckeln"...

Behöver kanske flytta över ägarskapet från DBO, när det gäller tabellen?

perckaMedlem sedan nov. 200025 inlägg
#9

Har fortfarande inte kommit på hur man kommer åt att testa senaste tipset (vilket ska fungera, har jag hört)?

Fälten för att ange identity och ökningsgrad är alltså gråa...och borde inte jag som ägare till databas kunna ändra det? Ska jag kolla med vår serverpark-ansvarig eller finns svaret i Enterprise Manager och ägarskapet av databasen? Några options t ex i DBO-kontot som behöver justeras?

Fortsätter leta lite men tacksam för ledtrådar. F1 har nämligen sagt upp sig pga stress...*ler*...

@ndersMedlem sedan juni 200026 914 inlägg
#10

om inte sa's rättigheter för den aktuella databasen har förändrats så ska du få göra det.

det känns som att du borde kolla med den som är ansvarig för servern, och se om du kan få ett konto i sql-servern, som inte är strypt som sa-kontot verkar vara.

mvh,

------------------
<A HREF="http://cartman.nu" TARGET=_blank>
all your base are belong to us!</A>

perckaMedlem sedan nov. 200025 inlägg
#11

Hej!

Jo, verkar som jag får göra det...krypa till korset till vår admin "där borta"...*ler*..och kolla mer med rättigheterna.

Löste det tillfälligt dock med att slumpa fram ett ID och sedan "inserta" det som vanligt fält. Funkar bra, posterna skapas men efter första posten dök följande felmeddelande upp och man ser nu inte längre någon data i min test-gästbok?

"Microsoft OLE DB Provider for ODBC Drivers error '80020009'

Multiple-step OLE DB operation generated errors. Check each OLE DB status value, if available. No work was done.

/pertest/guestbook.asp, line 0 "

Något vanligt fel eller är det bara jag som nybörjare som klantat till det? Har ju pillat lite...*erkänner*...i databasen men inte så mycket att jag borde förstört?

Koden funkar alltså, poster läggs till...men läsningen strular?

<%
Set db = Server.CreateObject("ADODB.Connection")
db.Open "DRIVER={SQL Server};UID=SA;PWD=*****;DATABASE=Trump;SERVER=IP"

SQL = "SELECT * From Guestbook ;"
Set rs = db.Execute(SQL)
%>

(Har testa både utan och med ";")

Genererad på 373 ms · cache AV · v20260730165559-full.f96bc7eb