Prev: Setting Page properties from itself
Next: How to make the url into an icon/shortcut on the users desktop?
From: Jason on 27 Sep 2010 14:15 I'm building a "Setup and Deployment" project to distribute our application. We have a database called dbMain that runs on SQL Server 2008. I'm connecting to the database from our WPF Application via the app.config file, and here are the particulars: --------------------------------------------------------------------------------------------------------------------------------------------------------------- <?xml version="1.0" encoding="utf-8" ?> <configuration> <configSections> </configSections> <connectionStrings> <add name="ConnectionString" connectionString="Data Source=.\SSE2008;AttachDbFilename=| DataDirectory|\DB\dbMain.mdf;Integrated Security=True;User Instance=True" providerName="System.Data.SqlClient" /> </connectionStrings> </configuration> --------------------------------------------------------------------------------------------------------------------------------------------------------------- As you can see, the connection string is: Data Source=.\SSE2008;AttachDbFilename=|DataDirectory|\DB \dbMain.mdf;Integrated Security=True;User Instance=True Since our database is "dbMain.mdf", and the install script installs it into the DB folder, I have no problems with that. The problem arises with the Data Source=.\SSE2008 Since I have no control over the Sql Server 2008 install, or what instance name the guy who set it up gave it, this program will bomb when run as is (as SSE2008 is the name I gave my SQL Server 2008 instance). Is there are way to determine the instance of the SQL Server 2008 instance at runtime (when the program gets the configuration string) and modify it so that the program will not bomb? What is the best way to handle this situation programmatically ( or is there ? )? Thanks, Jason
From: Cubaman on 28 Sep 2010 04:53
On Sep 27, 8:15 pm, Jason <jason.wu...(a)gmail.com> wrote: > I'm building a "Setup and Deployment" project to distribute our > application. We have a database called dbMain that runs on SQL Server > 2008. I'm connecting to the database from our WPF Application via the > app.config file, and here are the particulars: > > --------------------------------------------------------------------------------------------------------------------------------------------------------------- > > <?xml version="1.0" encoding="utf-8" ?> > <configuration> > <configSections> > </configSections> > <connectionStrings> > <add name="ConnectionString" > connectionString="Data Source=.\SSE2008;AttachDbFilename=| > DataDirectory|\DB\dbMain.mdf;Integrated Security=True;User > Instance=True" > providerName="System.Data.SqlClient" /> > </connectionStrings> > </configuration> > > --------------------------------------------------------------------------------------------------------------------------------------------------------------- > > As you can see, the connection string is: > > Data Source=.\SSE2008;AttachDbFilename=|DataDirectory|\DB > \dbMain.mdf;Integrated Security=True;User Instance=True > > Since our database is "dbMain.mdf", and the install script installs it > into the DB folder, I have no problems with that. The problem arises > with the Data Source=.\SSE2008 > > Since I have no control over the Sql Server 2008 install, or what > instance name the guy who set it up gave it, this program will bomb > when run as is (as SSE2008 is the name I gave my SQL Server 2008 > instance). > > Is there are way to determine the instance of the SQL Server 2008 > instance at runtime (when the program gets the configuration string) > and modify it so that the program will not bomb? > > What is the best way to handle this situation programmatically ( or is > there ? )? > > Thanks, > Jason In Sql Management Studio: SELECT @@SERVERNAME But you can't connect to a service wich name/location is unknown.. So, ask your dba for right credentials. Best regards |