sawMedlem sedan mars 20011 880 inlägg För att kunna förfina mina koder/siter så skulle jag vilja ha eran uppfattning
om connectionString (obs för Access).
Min tanke är, att eftersom jag behöver en connectionString för utveklingen
och en för den slutliga platsen(servern) så har jag gjort så här:
private void connections()
{
string conn = Webbutill.dataConn(Request.ServerVariables
["SERVER_NAME"]);
DBConn = new OleDbConnection
(ConfigurationManager.ConnectionStrings[conn].ConnectionString);
}
//i Webbutill
public static string dataConn(string variabel)
{
string connect;
if (variabel == "localhost")
connect = "ConnectionString";
else
connect = "ConnectionString1";
return connect;
}
//i web.config
<add name="ConnectionString1"
connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=
PatheTillDatabasen\mansjouren\www\App_Data\Mansjouren.mdb;Persist
Security Info=False;"/>
<add name="ConnectionString"
connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=
C:\Inetpub\wwwroot\Mansjouren\App_Data\Mansjouren.mdb;Persist Security
Info=False;"/>
//och används så här
connections();
Det fungerar hyffsat, men tittar man på det så är det ju ett antal saker
som systemet måste göra innan den kopplar databasen.
Hur gör ni?
CompusaMedlem sedan jan. 20023 327 inlägg I ditt fall borde det nästan vara enklast att köra enligt följande:
<!-- Server connection string
<add name="ConnectionString"
connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=
PatheTillDatabasen\mansjouren\www\App_Data\Mansjouren.mdb;
Persist Security Info=False;"/>
-->
<!-- Local connection string -->
<add name="ConnectionString"
connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=
C:\Inetpub\wwwroot\Mansjouren\App_Data\Mansjouren.mdb;
Persist Security Info=False;"/>
Och sedan bara kommentera ut den som du inte ska använda (server i exemplet ovan). Går säkert att lösa på ett fiffigare sätt, men det är ju ganska enkelt och du slipper göra massa kontroller i koden.
sawMedlem sedan mars 20011 880 inlägg Det var just för att komma ifrån bortkommenteringar som jag gjorde så här.
EclipseMedlem sedan juli 20003 825 inlägg [b]global.asa[/b]
SUB Session_OnStart
' ## SWEDISH DATES
session.LCID = 1053
'## SELECT SERVER
IF Request.ServerVariables("SERVER_NAME") = "localhost" THEN
' ## LOCALHOST
session("databasePath") = Server.MapPath("\Databas\db1.mdb")
ELSEIF Request.ServerVariables("SERVER_NAME") = "192.168.1.44" THEN
' ## LOCAL WEBSERVER
' session("databasePath") = Server.MapPath("\Databas\db1.mdb")
' session("databasePath") = Server.MapPath("..\Data\Databas\db1.mdb")
ELSE
' ## WEBSERVER
' ## CAN'T HAVE Server.MapPath IN global.asa!!
session("databasePath") = "D:\CustomerData\webspaces\webspace_00114713\wwwroot\databas\db1.mdb"
END IF
END SUB
[b]open.asp[/b] (serverside-include på alla sidor där så behövs)
'## OPEN THE DATABASE
DIM Conn, SQL, mySQL, myPost, myRow, i, j
Set Conn = Server.CreateObject("ADODB.Connection")
'## OPEN THE DATABASE
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & session("databasePath")
[b]close.asp[/b] (serverside-include på alla sidor där så behövs)
'## CLOSE THE DATABASE
Conn.Close
Set Conn = Nothing
Noteringar: close.asp innehåller verkligen bara de tre raderna... De andra filerna innehåller en massa annat som i detta sammanhanget är irrelevant.
Det är mycket möjligt att detta sättet är klumpigt och långsamt. Jag har dock aldrig haft antydan till problem med tillvägagångssättet och av den anledningen inte haft anledning att se över hanteringen av kopplingen.
Det viktigaste för mig är att det fungerar så problemfritt som möjligt och jag har inte haft anledning att se över detta på typ sju år...
EclipseMedlem sedan juli 20003 825 inlägg Äh... Detta är en dotnet tråd, ser jag nu!! Ovan är det ju asp som avses.
En kvalificerad felpostning som jag dock låter det stå kvar i alla fall. Kanske hjälper nån där ute! :-)
Sorry!!
sawMedlem sedan mars 20011 880 inlägg Jag fick ju detta tipset i en annan tråd men jag fattade inte hur det skulle kunna
fungera.
<add name="ConnectionString"
connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=
|DataDirectory|\Mansjouren.mdb;Persist Security Info=False;"/>