Showing posts with label relative. Show all posts
Showing posts with label relative. Show all posts

Sunday, February 12, 2012

AttachDbName Relative Directory

I have host my ASP.NET application on gate.com, and there I have access to a SQL Server 2005 instance, and I am trying to make relative paths in my web.config work, (|Data Directory|), but I don't know how to change the default value of |Data Directory|, and it isn't the root of my application, I'm pretty sure. My setup is like so, and the file was created using SQL express 2005, I am not sure if that is my problem, because gate uses the full version.

/<root>/App_Data/Leads.mdf

here is the stack trace:

[SqlException (0x80131904): An error has occurred while establishing a connection to the server. When connecting to SQL Server 2005, this failure may be caused by the fact that under the default settings SQL Server does not allow remote connections. (provider: SQL Network Interfaces, error: 26 - Error Locating Server/Instance Specified)]
System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) +735091
System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) +188
System.Data.SqlClient.TdsParser.Connect(Boolean& useFailoverPartner, Boolean& failoverDemandDone, String host, String failoverPartner, String protocol, SqlInternalConnectionTds connHandler, Int64 timerExpire, Boolean encrypt, Boolean trustServerCert, Boolean integratedSecurity, SqlConnection owningObject, Boolean aliasLookup) +820
System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(SqlConnection owningObject, SqlConnectionString connectionOptions, String newPassword, Boolean redirectedUserInstance) +628
System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, Object providerInfo, String newPassword, SqlConnection owningObject, Boolean redirectedUserInstance) +170
System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection) +130
System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnection owningConnection, DbConnectionPool pool, DbConnectionOptions options) +28
System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject) +424
System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject) +66
System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject) +496
System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection) +82
System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory) +105
System.Data.SqlClient.SqlConnection.Open() +111
System.Web.DataAccess.SqlConnectionHolder.Open(HttpContext context, Boolean revertImpersonate) +84
System.Web.DataAccess.SqlConnectionHelper.GetConnection(String connectionString, Boolean revertImpersonation) +197
System.Web.Profile.SqlProfileProvider.GetPropertyValuesFromDatabase(String userName, SettingsPropertyValueCollection svc) +766
System.Web.Profile.SqlProfileProvider.GetPropertyValues(SettingsContext sc, SettingsPropertyCollection properties) +428
System.Configuration.SettingsBase.GetPropertiesFromProvider(SettingsProvider provider) +410
System.Configuration.SettingsBase.GetPropertyValueByName(String propertyName) +117
System.Configuration.SettingsBase.get_Item(String propertyName) +89
System.Web.Profile.ProfileBase.GetInternal(String propertyName) +36
System.Web.Profile.ProfileBase.get_Item(String propertyName) +68
System.Web.Profile.ProfileBase.GetPropertyValue(String propertyName) +4
ProfileCommon.get_Cart() in c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\root\27a74ff4\376615bd\App_Code.ceobor1b.4.cs:102
Default2.UpdateTotal() in \\shared.hosting.local\nfs\cust\9\80\45\754089\web\Order.aspx.cs:45
Default2.Page_Load(Object sender, EventArgs e) in \\shared.hosting.local\nfs\cust\9\80\45\754089\web\Order.aspx.cs:37
System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +15
System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +34
System.Web.UI.Control.OnLoad(EventArgs e) +99
System.Web.UI.Control.LoadRecursive() +47
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1061

Hi LiquidTobi,

Could you show me your connection string for the connection?

|||Actually, I figured out a workaround, I used the aspnet_regsql tool to register the database that is hosted with gate, and I transferred my tables and views to it as well, so I no longer need to attach the mdf file.

AttachDbFilename, |DataDirectory| and SQL Server 2005 June CTP Relative Paths

Hello,

I am using "AttachDbFilename" to connect to a June CTP SQLExpress database. I have a windows forms application that has the following connection string (which works fine at the moment):

"Data Source=.\SQLEXPRESS;AttachDbFilename='|DataDirectory|test.mdf';Integrated Security=True;User Instance=True"

However, I would like to make my connection string:

"Data Source=.\SQLEXPRESS;AttachDbFilename='|DataDirectory|..\..\Database\test.mdf';Integrated Security=True;User Instance=True"

But no matter what combination I try (including not using DataDirectory at all), I cannot seem to open the database using the relative path.

Can someone please assist/clarify?

Thanks,
Sean H.

Hi,

DataDirectory is specifically restricted to only allow access to files in the directory pointed to by the DataDirectory value or any of its subdirectories, but not directories up in the chain.

This is to prevent security issues such as those common in older web servers where you could navigate the server file-system by doing something like http://www.mywebsite.com/..\..\..\etc\passwords

-pablo|||When you say "the directory pointed to by the DataDirectory value " what exactly is that? In other words, what is this value and where can I set/change it?

Thanks - Daniel|||

you can change:

AppDomain.CurrentDomain.setData(“DataDirectory”,”C:\newPath\”);

AttachDbFilename, |DataDirectory| and SQL Server 2005 June CTP Relative Paths

Hello,

I am using "AttachDbFilename" to connect to a June CTP SQLExpress database. I have a windows forms application that has the following connection string (which works fine at the moment):

"Data Source=.\SQLEXPRESS;AttachDbFilename='|DataDirectory|test.mdf';Integrated Security=True;User Instance=True"

However, I would like to make my connection string:

"Data Source=.\SQLEXPRESS;AttachDbFilename='|DataDirectory|..\..\Database\test.mdf';Integrated Security=True;User Instance=True"

But no matter what combination I try (including not using DataDirectory at all), I cannot seem to open the database using the relative path.

Can someone please assist/clarify?

Thanks,
Sean H.

Hi,

DataDirectory is specifically restricted to only allow access to files in the directory pointed to by the DataDirectory value or any of its subdirectories, but not directories up in the chain.

This is to prevent security issues such as those common in older web servers where you could navigate the server file-system by doing something like http://www.mywebsite.com/..\..\..\etc\passwords

-pablo|||When you say "the directory pointed to by the DataDirectory value " what exactly is that? In other words, what is this value and where can I set/change it?

Thanks - Daniel|||

you can change:

AppDomain.CurrentDomain.setData(“DataDirectory”,”C:\newPath\”);

AttachDbFilename, |DataDirectory| and SQL Server 2005 June CTP Relative Paths

Hello,

I am using "AttachDbFilename" to connect to a June CTP SQLExpress database. I have a windows forms application that has the following connection string (which works fine at the moment):

"Data Source=.\SQLEXPRESS;AttachDbFilename='|DataDirectory|test.mdf';Integrated Security=True;User Instance=True"

However, I would like to make my connection string:

"Data Source=.\SQLEXPRESS;AttachDbFilename='|DataDirectory|..\..\Database\test.mdf';Integrated Security=True;User Instance=True"

But no matter what combination I try (including not using DataDirectory at all), I cannot seem to open the database using the relative path.

Can someone please assist/clarify?

Thanks,
Sean H.

Hi,

DataDirectory is specifically restricted to only allow access to files in the directory pointed to by the DataDirectory value or any of its subdirectories, but not directories up in the chain.

This is to prevent security issues such as those common in older web servers where you could navigate the server file-system by doing something like http://www.mywebsite.com/..\..\..\etc\passwords

-pablo|||When you say "the directory pointed to by the DataDirectory value " what exactly is that? In other words, what is this value and where can I set/change it?

Thanks - Daniel|||

you can change:

AppDomain.CurrentDomain.setData(“DataDirectory”,”C:\newPath\”);

Thursday, February 9, 2012

Attach single file (MDF) db...

I have erased LDF file. Now I'm not able to attach the relative MDF database. It WANT the rigth LDF
I'm trying to recover my db without success..
Does anyone could help me?You should not just delete the ldf file, you risk now to use your latest
backup in order to get the database back. But before trying that, you could
try sp_attach_single_file_db and see if it helps.
--
Tibor Karaszi, SQL Server MVP
Archive at:
http://groups.google.com/groups?oi=djq&as_ugroup=microsoft.public.sqlserver
"Giovanni BO" <giovanni.gambaro@.businessobjects.com> wrote in message
news:AAF98018-9293-4279-A421-E8E86ACAFFCE@.microsoft.com...
> I have erased LDF file. Now I'm not able to attach the relative MDF
database. It WANT the rigth LDF.
> I'm trying to recover my db without success...
> Does anyone could help me?

Attach single file (MDF) db...

I have erased LDF file. Now I'm not able to attach the relative MDF database
. It WANT the rigth LDF.
I'm trying to recover my db without success...
Does anyone could help me?You should not just delete the ldf file, you risk now to use your latest
backup in order to get the database back. But before trying that, you could
try sp_attach_single_file_db and see if it helps.
Tibor Karaszi, SQL Server MVP
Archive at:
http://groups.google.com/groups?oi=...ublic.sqlserver
"Giovanni BO" <giovanni.gambaro@.businessobjects.com> wrote in message
news:AAF98018-9293-4279-A421-E8E86ACAFFCE@.microsoft.com...
> I have erased LDF file. Now I'm not able to attach the relative MDF
database. It WANT the rigth LDF.
> I'm trying to recover my db without success...
> Does anyone could help me?