Avatar billede dk_gryf Nybegynder
05. oktober 2004 - 18:05 Der er 13 kommentarer og
1 løsning

Hvordan ændrer jeg en database så den ikke skal sættes op i ODBC?

Hej
Jeg har en Access database som skal sættes op i ODBC, men det er jeg lidt træt af da der altid opstår problemer når udbyderen har foretaget ændringer. Hvordan kan jeg undgå dette fremover??

Mvh
Mogens
Avatar billede zantiago Nybegynder
05. oktober 2004 - 18:20 #1
Hvis det bare er opkaldet, kan du bruge dette:

<%
Conn = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("../database/database.mdb") & ""
%>
Avatar billede dk_gryf Nybegynder
05. oktober 2004 - 18:27 #2
Du har sikkert ret, men nu er jeg ikke helt hjemme i dette og er i tvivl om hvor jeg skal sætte den linie ind.

Min datastore.asp ser således ud:
<%
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = dsn & "DBQ=d:\kunder\station2\data\users00.mdb"
set rs = server.createObject("ADODB.recordset")
facing = "Century Gothic, Georgia, Verdana, Times New Roman, Arial"
%>

Jeg går ud fra, at det må være her der skal gøres et eller andet?
Mvh
Mogens
Avatar billede zantiago Nybegynder
05. oktober 2004 - 18:33 #3
datastore.asp
-------------------------------------------------------------------------------------
<%
Conn = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("../database/database.mdb") & ""
facing = "Century Gothic, Georgia, Verdana, Times New Roman, Arial"
%>
-------------------------------------------------------------------------------------

Din fil: (her er det min nyhed.asp
-------------------------------------------------------------------------------------
<%
Set rs_nyhed = Server.CreateObject("ADODB.RecordSet")
rs_nyhed.open "Select * from [nyheder] WHERE id =" & request("id") , Conn
%>
-------------------------------------------------------------------------------------
Avatar billede dk_gryf Nybegynder
05. oktober 2004 - 19:47 #4
Jeg får følgende besked efter ændringen:
ADODB.Recordset error '800a0bb9'

Arguments are of the wrong type, are out of acceptable range, or are in conflict with one another.

/main.asp, line 104

Linie 104 i main.asp ser således ud:
SQL = SQL & " Order By datex desc, timex desc"
set loss = server.createObject("ADODB.Recordset")
dette er linie 104 :  loss.Open SQL, dsn, 3
If Not (loss.BOF Or loss.EOF) Then
const Sidebredde = 18
Avatar billede zantiago Nybegynder
05. oktober 2004 - 19:49 #5
Det er fordi du kalder stadig din dsn.

Prøv at vis mig dig script, så skal jeg nok tilpasse det til mit opkald :o)
Avatar billede dk_gryf Nybegynder
05. oktober 2004 - 20:16 #6
Jamen det er jo en anden fil så hvad skal jeg så skrive her?
Avatar billede dk_gryf Nybegynder
06. oktober 2004 - 01:41 #7
<%
    SQL = "SELECT * FROM Loss where language_id=1 AND found = false"
SQL = SQL & " and Typenr='BT'"
SQL = SQL & " and not (Category=200"
SQL = SQL & " or Category=205"
SQL = SQL & " or Category=1900"
SQL = SQL & " or Category=2010)"
SQL = SQL & " Order By datex desc, timex desc"
set loss = server.createObject("ADODB.Recordset")
loss.Open SQL, dsn, 3
If Not (loss.BOF Or loss.EOF) Then
const Sidebredde = 18
  loss.PageSize = 6
  intRecCount = loss.pageSize
  Do While Not loss.EOF And intRecCount > 0
if len(loss("title")) > SideBredde-1 then
prik = "..."
else
prik = ""
end if
response.write "<a href=readdet.asp?ident=" & loss("ident") & " class='main'>-" &left(loss("title"),sidebredde) & prik &"</a><br>"
  intRecCount = intRecCount - 1
loss.MoveNext
  Loop
end if
loss.Close
Set loss = Nothing %></font></p>
    </td>
    <td width="183" valign="top" height="22"><p align="left"><b><a
    href="readrec.asp?Type=B%F8bne+d&amp;Fra=forste&amp;Overskrift=Main&amp;frad=bort"
    class="main"><font color="#333399" size="2">X</font></a><font size="1" color="#333399"><br>
      </font>
    </b><font size="1" color="#333399"><%
    SQL = "SELECT * FROM Loss where language_id=1 AND found = false"
SQL = SQL & " and Typenr='BD'"
SQL = SQL & " Order By datex desc, timex desc"
set loss = server.createObject("ADODB.Recordset")
loss.Open SQL, dsn, 3
If Not (loss.BOF Or loss.EOF) Then
  loss.PageSize = 6
  intRecCount = loss.pageSize
  Do While Not loss.EOF And intRecCount > 0
if len(loss("title")) > SideBredde-1 then
prik = "..."
else
prik = ""
end if
response.write "<a href=readdet.asp?ident=" & loss("ident") & " class='main'>-" &left(loss("title"),sidebredde) & prik &"</a><br>"
  intRecCount = intRecCount - 1
loss.MoveNext
  Loop
end if
loss.Close
Set loss = Nothing %></font></td>
    <td width="183" valign="top" height="22"><p align="left"><b><a
    href="rr.asp?Type=B+t" class="main"><font color="#333399" size="2">X</font></a><font size="1" color="#333399"><br>
      </font>
    </b><font size="1" color="#333399"><%
    SQL = "SELECT * FROM Loss where language_id=1 AND found = false"
SQL = SQL & " and Typenr='BT'"
SQL = SQL & " and (Category=200"
SQL = SQL & " or Category=205"
SQL = SQL & " or Category=1900"
SQL = SQL & " or Category=2010)"
SQL = SQL & " Order By datex desc, timex desc"
set loss = server.createObject("ADODB.Recordset")
loss.Open SQL, dsn, 3
If Not (loss.BOF Or loss.EOF) Then
  loss.PageSize = 6
  intRecCount = loss.pageSize
  Do While Not loss.EOF And intRecCount > 0
if len(loss("title")) > SideBredde-1 then
prik = "..."
else
prik = ""
end if
response.write "<a href=readdet.asp?ident=" & loss("ident") & " class='main'>-" &left(loss("title"),sidebredde) & prik &"</a><br>"
  intRecCount = intRecCount - 1
loss.MoveNext
  Loop
end if
loss.Close
Set loss = Nothing %></font></td>
    <td rowspan="2" valign="top" height="61" width="183"><p align="left"><b><a
    href="readrec.asp?Type=G+v&amp;Fra=forste&amp;Overskrift=Main&amp;frav=ja"
    class="main"><font color="#333399" size="2">x</font></a></b><font size="1" color="#333399"><br><%
    SQL = "SELECT * FROM Loss where language_id=1 AND found = false"
SQL = SQL & " and Typenr='Gv'"
SQL = SQL & " Order By datex desc, timex desc"
set loss = server.createObject("ADODB.Recordset")
loss.Open SQL, dsn, 3
If Not (loss.BOF Or loss.EOF) Then
  loss.PageSize = 8
  intRecCount = loss.pageSize
  Do While Not loss.EOF And intRecCount > 0
if len(loss("title")) > SideBredde-1 then
prik = "..."
else
prik = ""
end if
response.write "<a href=readdet.asp?ident=" & loss("ident") & " class='main'>-" &left(loss("title"),sidebredde) & prik &"</a><br>"
  intRecCount = intRecCount - 1
loss.MoveNext
  Loop
end if
loss.Close
Set loss = Nothing %></font></td>
  </tr>





  <tr>
    <td width="183" valign="top" align="center" height="33" bgcolor="#CCCCFF">
    <p align="left"><b><a
    href="readrec.asp?Type=F+t&amp;Fra=forste&amp;Overskrift=Main" class="main"><font color="#333399" size="2">x</font></a></b><font size="1" color="#333399"><br>
<%
    SQL = "SELECT * FROM Loss where language_id=1 AND found = false"
SQL = SQL & " and Typenr='Ft'"
SQL = SQL & " and not (Category=200"
SQL = SQL & " or Category=205"
SQL = SQL & " or Category=1900"
SQL = SQL & " or Category=2010)"
SQL = SQL & " Order By datex desc, timex desc"
set loss = server.createObject("ADODB.Recordset")
loss.Open SQL, dsn, 3
If Not (loss.BOF Or loss.EOF) Then
  loss.PageSize = 6
  intRecCount = loss.pageSize
  Do While Not loss.EOF And intRecCount > 0
if len(loss("title")) > SideBredde-1 then
prik = "..."
else
prik = ""
end if
response.write "<a href=readdet.asp?ident=" & loss("ident") & " class='main'>-" &left(loss("title"),sidebredde) & prik &"</a><br>"
  intRecCount = intRecCount - 1
loss.MoveNext
  Loop
end if
loss.Close
Set loss = Nothing %>    </font></p>
    </td>
    <td width="183" valign="top" height="33" bgcolor="#CCCCFF"><p align="left"><b><a
    href="readrec.asp?Type=FD&amp;Fra=forste&amp;Overskrift=Main&amp;frad=f"
    class="main"><font color="#333399" size="2">x</font></a></b><font size="1" color="#333399"><br>
<%
    SQL = "SELECT * FROM Loss where language_id=1 AND found = false"
SQL = SQL & " and Typenr='FD'"
SQL = SQL & " Order By datex desc, timex desc"
set loss = server.createObject("ADODB.Recordset")
loss.Open SQL, dsn, 3
If Not (loss.BOF Or loss.EOF) Then
  loss.PageSize = 6
  intRecCount = loss.pageSize
  Do While Not loss.EOF And intRecCount > 0
if len(loss("title")) > SideBredde-1 then
prik = "..."
else
prik = ""
end if
response.write "<a href=readdet.asp?ident=" & loss("ident") & " class='main'>-" &left(loss("title"),sidebredde) & prik &"</a><br>"
  intRecCount = intRecCount - 1
loss.MoveNext
  Loop
end if
loss.Close
Set loss = Nothing %>    </font></td>
    <td width="183" valign="top" height="33" bgcolor="#CCCCFF"><p align="left"><b><a href="rr.asp?type=FT"
    class="main"><font color="#333399" size="2">x</font></a><font size="1" color="#333399"><br>
      </font>
    </b><font size="1" color="#333399"><%
    SQL = "SELECT * FROM Loss where language_id=1 AND found = false"
SQL = SQL & " and Typenr='FT'"
SQL = SQL & " and (Category=200"
SQL = SQL & " or Category=205"
SQL = SQL & " or Category=1900"
SQL = SQL & " or Category=2010)"
SQL = SQL & " Order By datex desc, timex desc"
set loss = server.createObject("ADODB.Recordset")
loss.Open SQL, dsn, 3
If Not (loss.BOF Or loss.EOF) Then
  loss.PageSize = 6
  intRecCount = loss.pageSize
  Do While Not loss.EOF And intRecCount > 0
if len(loss("title")) > SideBredde-1 then
prik = "..."
else
prik = ""
end if
response.write "<a href=readdet.asp?ident=" & loss("ident") & " class='main'>-" &left(loss("title"),sidebredde) & prik &"</a><br>"
  intRecCount = intRecCount - 1
loss.MoveNext
  Loop
end if
loss.Close
Set loss = Nothing %>
Avatar billede zantiago Nybegynder
06. oktober 2004 - 01:49 #8
wow - det var meget :o)

Hvis jeg nu viser dig det her i det første script, så kan du måske selv rette det i resten af dem.


-------------------------------------------------------------------------------------
<%
Set rs = Server.CreateObject("ADODB.RecordSet")
rs.open "SELECT * FROM Loss where language_id=1 AND found = false and Typenr='BT' and not (Category=200 or Category=205 or Category=1900 or Category=2010) Order By datex desc, timex desc", Conn, 3
%>
-------------------------------------------------------------------------------------

Det er bare en måde at gøre det på!

Ellers skal du:
-------------------------------------------------------------------------------------
<%
SQL = "SELECT * FROM Loss where language_id=1 AND found = false"
SQL = SQL & " and Typenr='FT'"
SQL = SQL & " and (Category=200"
SQL = SQL & " or Category=205"
SQL = SQL & " or Category=1900"
SQL = SQL & " or Category=2010)"
SQL = SQL & " Order By datex desc, timex desc"
set loss = server.createObject("ADODB.Recordset")
loss.Open SQL, Conn, 3
%>
-------------------------------------------------------------------------------------

Håber det hjælper!

//Z
Avatar billede zantiago Nybegynder
06. oktober 2004 - 01:53 #9
Eller:

Din datastore:
-------------------------------------------------------------------------------------
<%
  database = "d:\kunder\station2\data\users00.mdb"
  Set dbConn = Server.CreateObject("ADODB.Connection")
  DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & database
  dbConn.Open DSN
%>
-------------------------------------------------------------------------------------


Selve filen:
-------------------------------------------------------------------------------------
<%
SQL = "SELECT * FROM Loss where language_id=1 AND found = false"
SQL = SQL & " and Typenr='FT'"
SQL = SQL & " and (Category=200"
SQL = SQL & " or Category=205"
SQL = SQL & " or Category=1900"
SQL = SQL & " or Category=2010)"
SQL = SQL & " Order By datex desc, timex desc"
Set RS = dbConn.Execute(SQL)
%>
-------------------------------------------------------------------------------------
Avatar billede zantiago Nybegynder
06. oktober 2004 - 01:55 #10
Nu skal jeg lige forstå dig ret...

Skal du ændre noget på serveren hvis de laver noget om i deres script?

For det sidste eksempel jeg kommer med, ligner jo nemlig dit...

Prøv lige at forklare problemet igen, så skal jeg fortælle dig hvilken en af dem du skal bruge :o)

//Z
Avatar billede dk_gryf Nybegynder
06. oktober 2004 - 17:41 #11
Nu er jeg ikke helt med på hvad du mener med: Skal du ændre noget på serveren hvis de laver noget om i deres script?
Årsagen er at jeg er lidt træt af, hele tiden at skulle bede min udbyder om, at sørge for, at min DSN er sat op i deres ODBC og ønskede derfor at blive uanhængig af dette.
Allerhelst ville jeg have databasen konverteret om til MySQL, men det tør jeg ikke selv at gå igang med da jeg selv har forstand på dette, for kunne jeg det ville jeg skifte udbyder med det samme.
Jeg går ud fra at du ved at det er www.station-2.dk som det drejer sig om.
Mogens
Avatar billede zantiago Nybegynder
06. oktober 2004 - 23:54 #12
Med det script som jeg har givet dig, skal du ikke have en DSN på serveren.

Med hensyn til mysql, skal du ikke være ked af at beholde access, da den er langt mere bugervenlig, og hurtig nok til dit projekt er jeg sikker på.
Avatar billede dk_gryf Nybegynder
07. oktober 2004 - 17:10 #13
Nu skal jeg lige have udbyderen til, at genoprette skriverettigheder før jeg kan gøre mere for jeg går ud fra, at det er årsagen til, at jeg får følgende fejl:
Microsoft OLE DB Provider for ODBC Drivers error '80004005'

[Microsoft][ODBC Microsoft Access Driver]General error Unable to open registry key 'Temporary (volatile) Jet DSN for process 0x55c Thread 0x160 DBC 0xe77b28c Jet'.

/main.asp, line 104

Jeg har foreløbig skrevet til dem i 2 dage uden at der er sket noget.
Mogens
Avatar billede zantiago Nybegynder
08. oktober 2004 - 12:26 #14
ok - kan jeg anbefale www.unoeuro.com eller www.wannafind.dk, der er servicen i top :o)
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
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

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