Avatar billede thomase Nybegynder
28. december 2000 - 18:10 Der er 5 kommentarer og
3 løsninger

MS SQL connect - et let spørgsmål!

Jeg er begynder både med hensyn til ASP og databaser, og ønsker derfor en steb-by-step løsning på mit problem.

Jeg har adgang til en win2000 server med MS SQL 7.0 installeret. Hvordan forbinder jeg til denne med ASP? Jeg har oprettet en database der hedder STM.

Avatar billede thomase Nybegynder
28. december 2000 - 18:11 #1
Når jeg skriver forbinder mener jeg naturligvis at forbinde til databasen fra ASP-side der ligger på serveren.
Avatar billede thomase Nybegynder
28. december 2000 - 18:15 #2
Jeg har prøvet følgende:

<html>
<head>
<title></title>
</head>
<body bgcolor=\"#FFFFFF\">
<%
Dim Conn, Rs, sql, dns
Set Conn = Server.CreateObject(\"ADODB.connection\")
Set Rs = Server.CreateObject(\"ADODB.connection\")
dns = \"PROVIDER=MSDASQL;DRIVER={SQL SERVER};SERVER=127.0.0.1;UID=sa;PWD=;DATABASE=STM;\"
sql = \"CREATE TABLE nyheder (
            dato varchar(15),
            nyhed varchar(1000));\"
Conn.open dns
Set Rs = Conn.execute(sql)
while NOT Rs.eof
    response.write rs(0)&\"<br>\"
wend
Set Rs = nothing
Set Conn = nothing
Conn.close
%>
</body>
</html>

og får følgende fejl:

Error Type:
Microsoft VBScript compilation (0x800A0409)
Unterminated string constant
/createnyheder.asp, line 11, column 29
Avatar billede stigc Nybegynder
28. december 2000 - 18:18 #3
prøv med:

    set conn    = Server.CreateObject(\"ADODB.Connection\")
    conn.open \"DRIVER=SQL Server;SERVER=localhost;UID=lottoole;APP=Microsoft Development Environment;\" &_
          \"WSID=;DATABASE=;Network=DBMSSOCN;Address=127.0.0.1,1433;User Id=;PASSWORD=;\"


Avatar billede stigc Nybegynder
28. december 2000 - 18:19 #4
set conn    = Server.CreateObject(\"ADODB.Connection\")
    conn.open \"DRIVER=SQL Server;SERVER=localhost;UID=lottoole;APP=Microsoft Development Environment;\" &_
          \"WSID=;DATABASE=;Network=DBMSSOCN;Address=127.0.0.1;User Id=;PASSWORD=;\"
Avatar billede thomase Nybegynder
28. december 2000 - 18:24 #5
>>stigc

step by step please

Jeg skal lige have det i den store sammenhæng, jeg ved ikke hvor jeg skal bytte det ud i forhold til det øverste kode. Hvilke felter skal jeg selv udfylde? Er der ikke en default user i MS SQL der hedder \"sa\" uden password?
Avatar billede smurfen Nybegynder
28. december 2000 - 19:25 #6
Det er ikke i din connection problemet er..

Det er i linie 11:
sql = \"CREATE TABLE nyheder (

der fejler..

ret til dette:

sql = \"CREATE TABLE nyheder (dato varchar(15), nyhed varchar(1000));\"

altså, ingen linebreaks..

hvis du for overskuelighedensskyld skal bruge linebreaks så brug

strSQL = \"SELECT * FROM tblWhatever\" &_
\"WHERE hat = true AND userName = narkorumpe\" &_
\" ORDER by emailadress\"

..
hvis du forstår hvad jeg mener..

prøv at ændre din sql til at være en enkelt linie og så prøv igen.
Avatar billede jper Nybegynder
28. december 2000 - 22:20 #7
Der er flere ting som er forkerte
Start med at oprette en tabel i din database som hedder nyheder.

Du laver to connection objekter Conn og Rs men jeg går ud fra at Rs skal indeholde et recordset derfor skal
Linie 3 rettes fra
Set Rs = Server.CreateObject(\"ADODB.connection\")
til
Set Rs = Server.CreateObject(\"ADODB.recordset\")

Din dns som er connection til db\'en ved jeg ikke om virker men jeg ville rette:
linie 4 fra
dns = \"PROVIDER=MSDASQL;DRIVER={SQL SERVER};SERVER=127.0.0.1;UID=sa;PWD=;DATABASE=STM;\"
til
dns = \"Provider=SQLOLEDB;Initial Catalog=STM;Data Source=127.0.0.1;uid=sa;pwd=\"

Linie 5 er ikke så heldig hver gang sciptet bliver kørt opretter du en tabel med navnet nyheder, det skulle nok være en post i stedet for derfor skal du nok rette:
linie 5 fra
sql = \"CREATE TABLE nyheder (dato varchar(15), nyhed varchar(1000));\"
til
sql = \"INSERT INTO nyheder (data, nyhed) VALUES (\'\" & en værdi & \"\', \'\" & en anden værdi & \"\')\"

Linie 6 er ok

Linie 7 skal rettes for at gemme en nyhed skal du rette:
Linie 7 fra
Set Rs = Conn.execute(sql)
til
Conn.execute (sql)

Hvad der derefter skal ske er lidt uklart for mig kan du ikke prøve at skrive lidt om hvad der skal ske, når data er gemt?
Avatar billede sbarnney Nybegynder
02. januar 2001 - 10:49 #8
1. Først opretter du en database.

Database = STM
Tabel = t_stm

Id / int / / v i allow nulls - v i identify
Tekst / nvchar
Dato / datetime

Server Roles vinges af I system admin…..
Database Access vinges af I STM.


2. Du opretter en databasebruger.

I Sercurity opretter du en bruger der kan hede STM med password STMSTM. Brugeren gøres til Master på database STM.


3. Du opretter en ODBC driver.

Du skal oprette en ODBC I System-DSNtil Database STM med SQL login bruger = STM password = STMSTM.
ODBC’en kalder du stmDNS.


4. Du laver en ASP side.

Der kalder du med denne side databasen.

<html>
<head>
    <title></title>
</head>
<%
Set Conn = Server.CreateObject(\"ADODB.Connection\")
Set rs = Server.CreateObject(\"ADODB.Recordset\")
Conn.Open \"stmDSN\", \"stm\", \"stmstm\"

strSQL = \"SELECT * FROM t_stm\"

  rs.Open  strSQL, Conn   
%>
<table> 
  <tr>
    <td>ID</td>
    <td>TEKST</td>
    <td>DATO</td>
  </tr>
<%
DO WHILE NOT rs.EOF
%>
  <tr>
    <td><%=rs(\"id\")%></td>
    <td><%=rs(\"tekst\")%></td>
    <td><%=rs(\"dato\")%></td>
<%
    rs.MoveNext
  LOOP

rs.Close
conn.Close
%>
  </tr>
</table>
</body>

Så skulle du være kørende.
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
Kurser inden for grundlæggende programmering

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