relative path in web.config

O

openleren

Hi all, how can I use a relative path in my web.config file for an Access
db?:

Instead of using

<configuration>
<appSettings>
<add key="conAccess" value="microsoft.jet.oledb.4.0;data
source=c:/Inetpub/MyApp/data/database.mdb" />
...

I would rather use

<add key="conAccess" value="microsoft.jet.oledb.4.0;data
source=data/database.mdb" />

however this doesn't work: I get an error like
"C:\WINNT\system32\data\database.mdb is not a valid path. ..."


can anyone help?

cheers, Jan Vandorpe
 
P

Patrice

You unlikely have the notion of current path (preventing to have a relative
path) in this context.

I would store this info separately and would have the code translating the
relative path to an absolute path. For example you could store :

~/../../data/MyBase.mdb and use Server.MapPath to inject the absolute path
in the connection string, the path in the web.config file being relative to
the root of the web site...

Patrice
 
O

openleren

Hi,

I am not following you:

Firstly I have tried ~/data/MyBase.mdb and it doesn't work because the
server transplants it for some reason on my system32 directory.
Secondly how can I use Server.mapPath in an xml file?

sorry...

Jan
 
P

Patrice

I'll try to rephrase that.

IMO it's best to avoid non controlled relative path in a connection string
(what is the current path for an OLEDB provider ?).

Instead of storing the whole connection string in a single entry in the web
config file, I would store the Data Source entry as a separate entry in the
web config file. When the app retrieve this entry it can then use
server.mappath (or whatever else) to translate this relative path to an
absolute path. This absolute path can then be used to construct the final
connection string.

As a side note and as for now the path is taken relative to
c:\windows\system32, the other option would be to create your relative path
to your file from the c:\windows\system32 directory. That said and should
this base directory change for some reason, it would messed up the file
path.

Patrice

--
 
A

anfieldadorer

hi all,

good forum this! :)

my problem is, basically:
microsoft access
page forms
page connection is unable to connect once i hosted it in my web
i already tried to change the path, both to absolute and relative path
but once i saved itm, it always returns to C:

example:relative
i changed it to /data_files/database.mdb
when i open it again it has changed to C:/data_files/database.mdb

example: absolute
i change it to ftp://blablabla
then it changed to: C:\blablabla\ftp://blablabla

please help :(

thanks in advance :


-
anfieldadore
 
A

anfieldadorer

anfieldadorer said:
*hi all,

good forum this! :)

my problem is, basically:
microsoft access
page forms
page connection is unable to connect once i hosted it in my web
i already tried to change the path, both to absolute and relative
path
but once i saved itm, it always returns to C:

example:relative
i changed it to /data_files/database.mdb
when i open it again it has changed to C:/data_files/database.mdb

example: absolute
i change it to ftp://blablabla
then it changed to: C:\blablabla\ftp://blablabla

please help :(

thanks in advance :) *

please :(
 
D

Daniel Fisher\(lennybacon\)

WHAT are you talking about - we cannot read your mind :)

--Daniel
http://staff.newtelligence.com/danielf/




-----Original Message-----
From: anfieldadorer [mailto:[email protected]]
Posted At: Tuesday, January 24, 2006 12:14 PM
Posted To: microsoft.public.dotnet.framework.aspnet
Conversation: relative path in web.config
Subject: Re: relative path in web.config

*hi all,

good forum this! :)

my problem is, basically:
microsoft access
page forms
page connection is unable to connect once i hosted it in my web
i already tried to change the path, both to absolute and relative
path
but once i saved itm, it always returns to C:

example:relative
i changed it to /data_files/database.mdb
when i open it again it has changed to C:/data_files/database.mdb

example: absolute
i change it to ftp://blablabla
then it changed to: C:\blablabla\ftp://blablabla

please help :(

thanks in advance :) *

please :(
 
Joined
Sep 7, 2006
Messages
1
Reaction score
0
Here's How to do it.

Hi

I don't know if you still looking for the solution to this but the following worked for me - use |DataDirectory| in the config file.


<connectionStrings>
<add name="dataDrivenTesting"
connectionString="server=.\SQLExpress;AttachDBFilename=|DataDirectory|\StarShipTest.mdf;Integrated
Security=True" providerName="System.Data.SqlClient"/>
</connectionStrings>


I found the answer at http://blogs.advantaje.com/blog/kevin/Net/?permalink=ASP-Net-Web-Project-Details.html
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,995
Messages
2,570,228
Members
46,818
Latest member
SapanaCarpetStudio

Latest Threads

Top