Connessione database

redmilion

Nuovo Utente
16 Feb 2005
29
0
0
Buongiorno, non sono esperto di asp ed ho un problema di connessione al database che, per sicurezza, ho spostato da una cartella interna alla directory principale (wwwroot) ad una esterna (db).

attualmente la connessione è questa
sConn="DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & server.MapPath("/mdb-database/commerciale.mdb")

ma dovrei trasformarlo in qualcosa del genere che in altre pagine e per altri database funziona
sConn="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Domains\sandanielehomepage.it\db\commerciale.mdb;"

ma non so come fare, ho provato e mi viene restituito errore.

Posto tutto il codice del file globals.asp
<%
function Connection()

Dim cn,sConn
set cn = server.CreateObject("ADODB.connection")

sConn="DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & server.MapPath("/mdb-database/commerciale.mdb")
'sConn="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Domains\sandanielehomepage.it\db\commerciale.mdb;"
cn.Open sConn

set Connection= cn
set cn = nothing

end function




function GetDomConfig()
Dim dom

Set dom = Server.CreateObject("MSXML.DomDocument")
dom.async = false
if dom.load(server.MapPath("Config.xml")) then
Set GetDomConfig = dom
else
Response.Write "Errore durante il caricamento del file di configurazione"
Set GetDomConfig = nothing
end if

Set dom = nothing
end function

function OpenConnection(domConfig)
Dim cn

Set cn = Server.CreateObject("ADODB.Connection")
cn.Open GetConnectionString(domConfig)

Set OpenConnection = cn
Set cn = nothing
end function

function GetConnectionString(domConfig)
GetConnectionString = domConfig.selectSingleNode("/Config/Connections/Connection[@ID=/Config/Connections/@IDCurrentConnection]/@Conn").text
end function

' function GetConnectionString(domConfig)
' Dim IDCurrentConnection
' Dim nodConnections
' Dim nodConnection
'
' Set nodConnections = domConfig.selectSingleNode("/Config/Connections")
' IDCurrentConnection = nodConnections.selectSingleNode("@IDCurrentConnection").text
'
' Set nodConnection = nodConnections.selectSingleNode("Connection[@ID=" & IDCurrentConnection & "]")
'
' GetConnectionString = nodConnection.selectSingleNode("@Conn").text
'
' Set nodConnections = nothing
' Set nodConnection = nothing
' end function


function getParamAsInt(sParamName, iDefaultValue)
if not isEmpty(Request.QueryString(sParamName)) then
getParamAsInt = cint(Request.QueryString(sParamName))
else
if not isEmpty(Request.Form(sParamName)) then
getParamAsInt = cint(Request.Form(sParamName))
else
getParamAsInt = cint(iDefaultValue)
end if
end if
end function
function getParamAsString(sParamName, sDefaultValue)
if not isEmpty(Request.QueryString(sParamName)) then
getParamAsString = cstr(Request.QueryString(sParamName))
else
if not isEmpty(Request.Form(sParamName)) then
getParamAsString = cstr(Request.Form(sParamName))
else
getParamAsString = cstr(sDefaultValue)
end if
end if
end function

function getSessionVariableAsInt(sVariableName, iDefaultValue)
if not isEmpty(Session(sVariableName)) then
getSessionVariableAsInt = cint(Session(sVariableName))
else
getSessionVariableAsInt = cint(iDefaultValue)
end if
end function

function setSessionVariableAsInt(sVariableName, iValue)
Session(sVariableName) = cint(iValue)
end function
function getIDTipoUtente(IDUtente,cn)

Dim rs,sSql

set rs=server.CreateObject("ADODB.recordset")

sSql="SELECT IDTipoUtente FROM tblUtentisuAziende WHERE IDUtentesuAzienda ="& IDUtente

rs.open sSql,cn
if not rs.eof then
IDTipoUtente=rs.fields("IDTipoUtente").value
else
IDTipoUtente= -1
end if

getIDTipoUtente = IDTipoUtente

rs.close
set rs= nothing
end function
function Contaaziende(idcat)
Dim rs, ssql,recaz
set rs=server.CreateObject("ADODB.recordset")
ssql="select IDcategoriasuAziende from tblAziende where IDcategoriasuaziende=" & idcat
rs.CursorLocation = 3
rs.CursorType = 1
rs.LockType = 3
rs.open ssql,cn,3,3
recaz=rs.recordcount
rs.close
Contaaziende=recaz
set rs= nothing
end function



%>


L'errore che viene restituito lo si vede su questa pagina http://www.sandanielehomepage.it/aziende/azienda_del_sandanielese.asp?IDAction=1&IDazienda=61

Potete aiutarmi?
 

lukeonweb

Utente Attivo
5 Mar 2003
5.176
10
38
43
Napoli
www.lucaruggiero.it
L'errore non sembra essere di connessione ma alla riga 35 del file azienda_del_sandanielese.asp.

Cosa c'è scritto a quella riga?

Pare l'errore classico di una query che nn riesce ad andare a buon fine.

Fammi sapere!
 

redmilion

Nuovo Utente
16 Feb 2005
29
0
0
Il codice della pagina incriminata è il seguente

<!--#include virtual="/aziende/include/globals.asp"-->

<%

Dim IDAction,cn,IDazienda
IDAction=GetParamAsInt("IDaction",-1)
set cn=Connection()
IDazienda=GetParamASInt("IDazienda",0)

select case IDAction

case 1: VisualizzaAnteprimaAzienda cn,IDAzienda
end select

set cn= nothing

%>
<% function VisualizzaAnteprimaAzienda(cn,IDazienda)

Dim IDTipoUtenteSuAzienda,rs,ssql,sNome,sEmail,sCategoria,sOrari,IDProdotti,sDesc,banner,sReferente,foto,sDesc1,sIndirizzo,sWeb,logo,sTelefono,sFax,IDbanner,sSql1,ssql2,ssql3,IDcategoria,IDprodottosuaziende,sDesc2
set rs= server.CreateObject("ADODb.recordset") 'iskilled????
sSql = " select tblAziende.*, tblUtentisuAziende.IDTipoUtenteSuAzienda "&_
" from tblAziende, tblUtentisuAziende "&_
" where tblAziende.IDUtente = tblUtentisuAziende.IDUtentesuAzienda AND iskilledaz=false and " &_
" IDazienda=" & IDazienda & ""
rs.open ssql,cn
if not rs.eof then

dim r, co, res
set co = connection()
set r= server.CreateObject("ADODb.recordset")
r.Open "SELECT * FROM tblAziende WHERE IDAzienda=" & IDazienda & "", co, 1, 3


res = rs("Visite") + 1 <<< RIGA 35
r("Visite") = res

r.Update
r.Close
Set r = Nothing
co.Close
Set co = Nothing

sNome=rs.fields("NomeAz").value
sIndirizzo=rs.fields("Indirizzoaz").value
IDTipoUtenteSuAzienda=rs.fields("IDTipoUtenteSuAzienda").value

if IDTipoUtenteSuAzienda = 5 then
Response.Redirect("/aziende/ricercaaziende.asp?IDaction=1&IDazienda="&IDazienda)
Response.End()
end if
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title><%= snome %>&nbsp;<%= sIndirizzo %> - Azienda del Network HOMEPAGE</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language="JavaScript" type="text/JavaScript">
<!--
function MM_findObj(n, d) { //v4.01
var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[n];
for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers.document);
if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function YY_checkform() { //v4.66
//copyright (c)1998,2002 Yaromat.com
var args = YY_checkform.arguments; var myDot=true; var myV=''; var myErr='';var addErr=false;var myReq;
for (var i=1; i<args.length;i=i+4){
if (args[i+1].charAt(0)=='#'){myReq=true; args[i+1]=args[i+1].substring(1);}else{myReq=false}
var myObj = MM_findObj(args.replace(/\[\d+\]/ig,""));
myV=myObj.value;
if (myObj.type=='text'||myObj.type=='password'||myObj.type=='hidden'){
if (myReq&&myObj.value.length==0){addErr=true}
if ((myV.length>0)&&(args[i+2]==1)){ //fromto
var myMa=args[i+1].split('_');if(isNaN(myV)||myV<myMa[0]/1||myV > myMa[1]/1){addErr=true}
} else if ((myV.length>0)&&(args[i+2]==2)){
var rx=new RegExp("^[\\w\.=-][email protected][\\w\\.-]+\\.[a-z]{2,4}$");if(!rx.test(myV))addErr=true;
} else if ((myV.length>0)&&(args[i+2]==3)){ // date
var myMa=args[i+1].split("#"); var myAt=myV.match(myMa[0]);
if(myAt){
var myD=(myAt[myMa[1]])?myAt[myMa[1]]:1; var myM=myAt[myMa[2]]-1; var myY=myAt[myMa[3]];
var myDate=new Date(myY,myM,myD);
if(myDate.getFullYear()!=myY||myDate.getDate()!=myD||myDate.getMonth()!=myM){addErr=true};
}else{addErr=true}
} else if ((myV.length>0)&&(args[i+2]==4)){ // time
var myMa=args[i+1].split("#"); var myAt=myV.match(myMa[0]);if(!myAt){addErr=true}
} else if (myV.length>0&&args[i+2]==5){ // check this 2
var myObj1 = MM_findObj(args[i+1].replace(/\[\d+\]/ig,""));
if(myObj1.length)myObj1=myObj1[args[i+1].replace(/(.*\[)|(\].*)/ig,"")];
if(!myObj1.checked){addErr=true}
} else if (myV.length>0&&args[i+2]==6){ // the same
var myObj1 = MM_findObj(args[i+1]);
if(myV!=myObj1.value){addErr=true}
}
} else
if (!myObj.type&&myObj.length>0&&myObj[0].type=='radio'){
var myTest = args.match(/(.*)\[(\d+)\].*/i);
var myObj1=(myObj.length>1)?myObj[myTest[2]]:myObj;
if (args[i+2]==1&&myObj1&&myObj1.checked&&MM_findObj(args[i+1]).value.length/1==0){addErr=true}
if (args[i+2]==2){
var myDot=false;
for(var j=0;j<myObj.length;j++){myDot=myDot||myObj[j].checked}
if(!myDot){myErr+='* ' +args[i+3]+'\n'}
}
} else if (myObj.type=='checkbox'){
if(args[i+2]==1&&myObj.checked==false){addErr=true}
if(args[i+2]==2&&myObj.checked&&MM_findObj(args[i+1]).value.length/1==0){addErr=true}
} else if (myObj.type=='select-one'||myObj.type=='select-multiple'){
if(args[i+2]==1&&myObj.selectedIndex/1==0){addErr=true}
}else if (myObj.type=='textarea'){
if(myV.length<args[i+1]){addErr=true}
}
if (addErr){myErr+='* '+args[i+3]+'\n'; addErr=false}
}
if (myErr!=''){alert('The required information is incomplete or contains errors:\t\t\t\t\t\n\n'+myErr)}
document.MM_returnValue = (myErr=='');
}
//-->
</script>

<script type="text/javascript">
<!--
/***********************************************
* Highlight Table Cells Script- © Dynamic Drive DHTML code library (www.dynamicdrive.com)
* Visit http://www.dynamicDrive.com for hundreds of DHTML scripts
* This notice must stay intact for legal use
***********************************************/

//Specify highlight behavior. "TD" to highlight table cells, "TR" to highlight the entire row:
var highlightbehavior="TD"

var ns6=document.getElementById&&!document.all
var ie=document.all

function changeto(e,highlightcolor){
source=ie? event.srcElement : e.target
if (source.tagName=="TABLE")
return
while(source.tagName!=highlightbehavior && source.tagName!="HTML")
source=ns6? source.parentNode : source.parentElement
if (source.style.backgroundColor!=highlightcolor&&source.id!="ignore")
source.style.backgroundColor=highlightcolor
}

function contains_ns6(master, slave) { //check if slave is contained by master
while (slave.parentNode)
if ((slave = slave.parentNode) == master)
return true;
return false;
}

function changeback(e,originalcolor){
if (ie&&(event.fromElement.contains(event.toElement)||source.contains(event.toElement)||source.id=="ignore")||source.tagName=="TABLE")
return
else if (ns6&&(contains_ns6(source, e.relatedTarget)||source.id=="ignore"))
return
if (ie&&event.toElement!=source||ns6&&e.relatedTarget!=source)
source.style.backgroundColor=originalcolor
}

function MM_callJS(jsStr) { //v2.0
return eval(jsStr)
}

function MM_openBrWindow(theURL,winName,features) { //v2.0
window.open(theURL,winName,features);
}
//-->
</script>

<LINK REL="shortcut icon" href="http://www.sandanielehomepage.it/favicon.ico">

<link href="http://www.sandanielehomepage.it/style_homepage.css" rel="stylesheet" type="text/css">

</head>

<body>

<%

sEmail=rs.fields("Emailaz").value
sTelefono=rs.fields("Telefonoaz").value
sFax=rs.fields("fax").value
logo=rs.fields("urllogo").value
sDesc=rs.fields("DescrizioneBreve").value
sOrari=rs.fields("Orari").value
sReferente=rs.fields("referente").value
foto1=rs.fields("urlfoto1").value
foto2=rs.fields("urlfoto2").value
sDesc1=rs.fields("DescrizioneServizi").value
sDesc2=rs.fields("Descrizioneprodotti").value
sIndirizzo=rs.fields("Indirizzoaz").value
sWeb=rs.fields("web").value
IDbanner=rs.fields("IDbanner").value
IDcategoria=rs.fields("IDcategoriasuAziende")
rs.close
sSql1="select * from ads where ID=" & IDbanner
rs.open ssql1,cn
banner=rs.fields("file").value
rs.close
ssql1="select testonovita from tblnovita where IDaziendasunovita=" & IDazienda
rs.open ssql1,cn
if not rs.eof then
sNovita=rs.fields("testonovita").value
else
sNovita="Anche la nostra Azienda aderisce al Network HOMEPAGE"
end if
rs.close


else

response.write "Non è possibile fare l'anteprima adesso"
end if


%>
<!--#include virtual="inc_head_pag.html"-->
<table width="770" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF">
<tr>
<td height="20"></td>
</tr>
<tr valign="top">
<td width="200" height="125" align="center">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="1" bgcolor="#CCCCCC"></td>
</tr>
<tr>
<td height="5" bgcolor="#F7F7F7" class="tit_eventi"><img src="../img/novita_aziende.gif" width="35" height="35" align="absmiddle"> LE NOSTRE NEWS</td>
</tr>
<tr>
<td valign="top">
<table width="100%" border="0" cellspacing="0" cellpadding="5">
<tr>
<td align="left" valign="top" bgcolor="#F7F7F7" class="tit_eventi"><%=replace(sNovita, vbcrlf, "<br>") %></td>
</tr>
<tr>
<td height="1" align="left" valign="top" bgcolor="#CCCCCC"></td>
</tr>
</table>
</td>
</tr>
<tr>
<td height="7"></td>
</tr>
</table>

....
 

lukeonweb

Utente Attivo
5 Mar 2003
5.176
10
38
43
Napoli
www.lucaruggiero.it
Prima di tutto prova ad impostare solo il cursore 1, eliminando 3 alla riga precedente alla 35.

Ecco il codice corretto:

r.Open "SELECT * FROM tblAziende WHERE IDAzienda=" & IDazienda & "", co, 1, 3

In secondo luogo, cosa dovrebbe fare quell'istruzione a riga 35, ripresa alla 36 con un'assegnazione (scorretta - è in sola lettura)?
 

redmilion

Nuovo Utente
16 Feb 2005
29
0
0
Non funziona ancora

Ciao,
ho provato a levare il 3 come hai detto ma mi da errore comunque.
L'altra parte di codice non so a cosa serva!
 

redmilion

Nuovo Utente
16 Feb 2005
29
0
0
Tra l'altro mi hai scritto:

Prima di tutto prova ad impostare solo il cursore 1, eliminando 3 alla riga precedente alla 35.

Ecco il codice corretto:

r.Open "SELECT * FROM tblAziende WHERE IDAzienda=" & IDazienda & "", co, 1, 3


Ma questo codice è lo stesso che è presente sulla mia pagina!
 
Discussioni simili
Autore Titolo Forum Risposte Data
Matilde1 PHP: errore connessione database PHP 12
KILLERIX [PHP] Notifiche utente, connessione database, struttura generale dati PHP 3
S connessione database oracle in javascript Ajax 6
I Connessione database OleDB Classic ASP 1
B Problemi con connessione database ASP.NET 1
T Connessione a piu database Java 0
A connessione ad un database mysql con javascript Javascript 1
S problemi di connessione al database phpmyadmin in locale Database 1
M Connessione Database ed estrazione dati Javascript 6
S Connessione a database sul web mssql2005 da sito locale appoggiato su piattaforma apache (easyphp, x PHP 11
Monital Connessione al database: come chiuderla e decidere se chiusa o aperta? MySQL 5
P [RISOLTO]Classe database: connessione in costruttore? PHP 7
Y Connessione Visual Basic con DataBase Access? MS Access 0
S [EASYPHP] Connessione database in locale PHP 18
A Problema con connessione al database PHP 25
R Connessione a database AcuCobol PHP 0
P Problemi di connessione al database tramite synology PHP 0
T connessione database Java 0
G Connessione Database accdb asp Classic ASP 1
M connessione al database non riuscita MySQL 4
L Problema Connessione Database ACCESS Classic ASP 1
S problema di connessione al database locale PHP 1
F connessione database access in dreamweaver Classic ASP 10
max1850 Connessione a database .accdb di Access 2007 Classic ASP 1
max1850 Connessione ad un database esterno Classic ASP 5
O connessione database access PHP 0
D connessione database Classic ASP 3
L Cambio connessione database PHP 1
M connessione al database mysql MySQL 2
A Problema con la connessione ad un database access PHP 3
E connessione ad un database... ASP.NET 0
F connessione database e pag asp Classic ASP 3
S connessione database PHP 0
R stringa connessione asp <->database Classic ASP 1
S connessione database Database 1
S connessione database Classic ASP 1
S problemi connessione database MS Access 1
M JAVA connessione database pocket Java 0
M Connessione al database!! Classic ASP 3
Nik Problema connessione database :S Classic ASP 4
A Errore nella connessione ad un database PHP 1
S errore connessione database HTML e CSS 1
D Problema di connessione ad un database Classic ASP 0
C Connessione ad un Database SQL Classic ASP 4
felino Modem Router Home&Life HUB Sercomm WD300: connessione instabile Adsl e Connettività 0
N Server mysql non raggiungibile da connessione esterna MySQL 1
R Problema connessione db PHP 7
S PHP Impossibile stabilire la connessione PHP 8
O [MySQL] connessione db MySQL 0
W Come effettuare ripetute chiamate Curl con la stessa connessione autentica [PHP] PHP 0

Discussioni simili