Hi,
A person from my company's IT department approached me a few days ago saying that they followed some instructions on a recent security vulnerability in IIS whereby they where told to turn impersonation off in IIS. I'm afraid I don't know the exact procedure, but I do know that it took down all of my applications with the following error:
"Failed to generate a user instance of SQL Server"
I do NOT have impersonation enabled in my web.config, however all of my connection strings look like the following:
<add name="myConnectionString" connectionString="Data Source=.SQLEXPRESS;AttachDbFilename=|DataDirectory|myDatabase.mdf;Integrated Security=True;User Instance=True" providerName="System.Data.SqlClient"/>
From what I've read, this type of connection string, which VWD 2005 generates by default, is not the correct way to go about connecting to a database. Could this be my problem??
Thanks!
Let me set the stage of my testbed configuration: On Windows XP SP2, my default connection to the Internet is via wireless express card modem using EV-DO via Verizon Wireless. Let's call this connection A. I also have a traditional wireless network connection (802.11g) that is always enabled. Let's call this connection B. Connection A is always connected during normal business hours. Connection B is not and is often searching for a wireless network to connect to when nothing is in range.
Yesterday, connection B was continuously trying to connect to a wireless network not under my control, meaning that the connection was never established and notification messages continually popped up to complain of this fact. Over time, I've learned to ignore these messages and go on doing my daily work without much thought of the possible implications.
Then, things started to get odd. I was running our application, WebWatchBot, to perform some simple tests of various websites and servers, when I started to get messages from the application that database connectivity was lost, which is a message that pops up to inform the user that the connection is forcibly dropped by SQL Server. After a few moments, the connection to the database was re-established and the message went away. Since I was actually working with SQL Server, I thought it was an anomoly, so I continued on. Then, it happened again. And again. Then, I noticed that the "database connectivity lost" message started to coincide with the wireless connection's (connection B) inability to connect with a wireless network.
Why would this be happening? The database and application are on the same exact computer. The connection to the database is via ODBC drivers over tcp/ip, but why would connection B affect this?
Some added information that may prove useful:
Client side:
What is the connection string in you app or DSN? (please specify) DRIVER=SQL Server;SERVER=HIGHNOTEWEBWATCHBOT;Database=WebWatchBot;UID=sa;PWD=*****
If client fails to connect, what is the client error messages? (please specify) [Microsoft][ODBC SQL Server Driver]Communication link failure
Is the client remote or local to the SQL server machine? [Remote | Local] Can you ping your server? [YES | NO ] In cmd.exe console, type €œping -a <server_name>€?.
Can you telnet to your SQL Server? [YES | NO, please specify the error message ] In cmd.exe console, type €œtelnet <server name> port, where port can be 135, 445 or sql_server_tcp_port. If your cmd.exe console turns into a complete black screen with a cursor flushing on top left corner, you are connected. Type ctrl+€™[€˜ to bring up telnet prompt and type €œquit€? <enter>.
What is your client database provider? [SNAC | MDAC | ADO.NET1.0 | ADO.NET2.0| other (please specify] Or/And, what is your client application? [SQL Management Studio | SQL Profiler | Visual Studio | Other (please specify): WebWatchBot - Website and Server Monitoring Software Is your client computer in the same domain as the Server computer? (Same domain | Different domains | WorkGroup) What protocol the client enabled? [Shared Memory | TCPIP | Named Pipes]. Do you have aliases configured that match the server name portion of your connection string? NO Do you select force encryption on server and/or client? NO [2] Server side:
What is the MS SQL version? [ SQL Server 2005 | SQL Sever 2005 ] What is the SKU of MS SQL? [Enterprise | Standard | Workgroup | Express (or MSDE) | other (please specify)]. Microsoft SQL Server Management Studio 9.00.3042.00 Microsoft Analysis Services Client Tools 2005.090.3042.00 Microsoft Data Access Components (MDAC) 2000.085.1117.00 (xpsp_sp2_rtm.040803-2158) Microsoft MSXML 2.6 3.0 4.0 5.0 6.0 Microsoft Internet Explorer 7.0.5730.11 Microsoft .NET Framework 2.0.50727.832 Operating System 5.1.2600
What is the SQL Server Protocol enabled? [Shared Memory | TCPIP | Named Pipes ]. Use SQL Server Configuration Manager to configure it and check ERRORLOG or event log to confirm. Does the server start successfully? [YES | NO] If not what is the error messages in the SQL server ERRORLOG? If SQL Server is a named instance, is the SQL browser enabled? [YES | NO] What is the account that the SQL Server is running under?[Local System | Network Service | Domain Account] Do you make firewall exception for your SQL server TCP port if you want connect remotely through TCP provider? [YES | NO | not applicable] Do you make firewall exception for SQL Browser UDP port 1434? In SQL2000, you still need to make firewall exception for UDP port 1434 in order to support named instance.[YES | NO | not applicable ] [2a] Tool Used to Connect
What tool or Application are you using to connect to SQL Server (eg: Visual Studio, SQL Server Management Studio, SQLCmd.exe, OSQL, etc) and especially the version of SQL Server (Express, Workgroup, Standard, Enterprise, Developer)
[3] Platform:
What is the OS version? [Windows XPSP2 | Windows 2003 | Windows 2000 | Windows 98 | others (please specify ) ]. Do you have third party antivirus, anti-spareware software installed? [Symantec | Norton | other (please specify)].
All -- Please help. I have some questions about connection strings.
BACKGROUND...
Note that I am using the "SQL Native Client OLE DB Provider", SQL Sever 2005 Express, ASP.NET, C#.NET, and VS.NET 2005. Note that I do not want to use the "Attach a database file" type of connection string. Note that I am using the site http://www.ConnectionStrings.com as a reference. Note that this "Standard security" connection string...<add name="LocalSqlServer" connectionString="Server=MYTESTOFFICESERVERS;Database=MyDatabase;Uid=MyDatabaseUser;Pwd=MyDatabasePassword;" />...does not work and causes the following run-time error...A connection was successfully established with the server, but then an error occurred during the login process. (provider: Shared Memory Provider, error: 0 - No process is on the other end of the pipe.) Note that this "Trusted connection" connection string...<add name="LocalSqlServer" connectionString="Server=MYTESTOFFICESERVERS;Database=MyDatabase;Trusted_Connection=yes;" />...works but is less-than ideal because it uses a Trusted Connection rather than a Username/Password combination.
QUESTIONS... (A) What exactly does the error in Item 4 mean? (B) Do 4 and 5 imply that one must use a Trusted_Connection for all SQL Server 2005 Express connection strings when the database does not reside in the web application's App_Data folder or use a "Attach a database file" type of connection string? (C) Are there any alternatives? (D) What do you suggest?
I've let my Vista Ultimate 64-bit installation on a Dell Precision M90 pretty much have its way with automatic update which has worked reasonably well...until now.
I've installed the MS CRM 3.0 laptop version into my Outlook client. Everything was working well until automatic update tried to install Microsoft SQL Server 2005 Express Edition Service Pack 2 (KB 921896) which failed. It also rendered the Online/Offline functionality unusable and, with the installation accomplished while I was Offline, all of my CRM data is sequestered. Uninstalling the CRM client and SQL Express with it while I'm in an Offline condition has some real downsides so I thought I'd try to fix the SP2 issue through this group and then work my way back through the product teams.
The Windows Update installer returns a failure code of 2B22.
I've tried the downloadable SP2 upgrade but only the SQLEXP32.EXE seems to be available through any of the links in the SQL Express pages I've yet visited, not the WOW version.
During SQL Server SP2 timeframe a pending security update from the .NET Framework team was announced. That fix, when released would break any SSIS package using scripts. In response to this SQL Server Integration Services provided a fix into SP2 (as well as corresponding fixes for RTM & SP1) that would mitigate this issue, including log messages that would point to the KB below. The .NET Framework fix was released on Tuesday 7/10/2007 and thus we expect to see it surfacing on SQL Server Integration Services applications using scripts (both in data flow and control flow), most likely on machines running €˜pure€™ RTM and/or 64bit installations.
The related KB article describing the impact to SSIS packages is available here:
http://support.microsoft.com/kb/931846
Here are the details of the .NET Framework 2.0 fixes:
http://support.microsoft.com/kb/928365 (for Windows XP/2003/2000) http://support.microsoft.com/kb/929916 (for Windows Vista)
I am trying to develop a web site. I have a local ms sql database on my machine. I am trying to connect to a ms Sql database on a goDaddy server from the application. I am trying to understand the connection string and its total properties. here is what I think should be in my web.config file < add name="Personal" connectionString="Server=whsql-v12.prod.mesa1.secureserver.net; Database=DB_XX10; User ID=myID; Password=myypassword; Trusted_Connection=False" providerName="System.Data.SqlClient"
/> <remove name="LocalSqlServer"/> can someone please tell me where I am going wrong, Thanks for your help.....
I developed an application and deployed it onto a hosted provider. I use SQL 2005 Express for development SQL 2000 for production. Both systems work. I backed up my production database and wish to use it for my development testing. I restored it as a SQL 2000 database on my development machine and changed my connection strings to point to it. I added it as a new Data Connection in Database Explorer and can see all of the data through it, but I see that all the tables now have the owner name in parenthesis as part of the table name. My application now fails trying to find any of the tables. It works if I include the owner name as part of the SELECT statement. So much for data separation. I don't know where to start. Is this an issue between SQL 2005 Express and SQL 2000, or is it an issue between SQL and ASP.NET, or is it a hosting provider issue, or what?????
Hey guys, don't know if this is in the right place but here goes. I'd like some advice on optimizing the way I write my code. Here's the scenario. I have a select string for 3 different tables. One for the main gridview, and two others that are binded to dropdownlists. So I created a Sqldatasource1,2,3 and had to create the connection strings for each one. ex. SqlDataSource1.ConnectionString = "blah", SqlDataSource2.ConnectionString = "blah", SqlDataSource3.ConnectionString = "blah"the thing is, the connection string itself is the same. Is there a way to consolidate that? So that when I use a select/update/insert command for each sqldatasource i dont have to have another connection string? Also, having multiple connectionstrings, does that slow down the performance?
Hi, Im struggling to work out the connection string to my ms sql database. My website is being hosted with freezone.co.uk and I have a ms sql database called "aspnetdb". I usually log into the database with a username but no password. I don't no what other information is needed to create my connection string? Thanks, Mark Lawton
The strange thing is that when I use the Connection Manager dialog screen and click on "Test Connection", I get the response that the connection succeeded. It is only when I try to run the task that I get an error.
Here is the error I am getting:
[OLE DB Source [1]] Error: The AcquireConnection method call to the connection manager "MyDataBase" failed with error code 0xC0202009.
[DTS.Pipeline] Error: component "MyDataBase" (1) failed validation and returned error code 0xC020801C.
I have eliminated the obvious errors (incorrect Userid or password). Also, I am unable to use Integrated Security as this package needs to be distributed to various systems that may or may not be on our company's primary domain.
It seems I am missing something really basic here, but am not seeing it.
This is probably a very basic question and I apologise for asking. Can an app developed with VWD using SQLexpress be used with server2000? if so how do I modify the connection string.
Hi, I am looking to allow a user to select which database they need to connect to, and then for them to be able to use that connection string until they choose a different database. I have a separate database specifically to hold the list of databases with the respective connection strings, and various forms that are currently looking at the web.config for the connection string. Unfortunately, I can't just put all the connection strings into the web.config as the number of databases available to the user will increase on a weekly basis which will be handled by a database administrator, so I want a user to select from a list of databases (for which they have permissions), and for that connection string to remain for that user. Potentially there will be 20 or more users each connected to a different database (all SQL Express). If anyone can provide any help on this I will be truly thankful as I've hunted on the internet for hours and have been unable to find anything that has helped. Thanks in advance. Paul
Dynamic connection strings I have found lots of people asking for something similar to this but cannot find any solutions - can you help? I am developing an application (ASP.Net2) in which users are associated with 'Clients' and every Client has their own SQL Server database. Users are authenticated using standard ASP.Net Authentication via a separate database (common for all users). This includes a table linking them to a Client and each Client record includes the connection string to their database. Currently a default connection string is held in the web.config file. My problem is that I don't know how to dynamically change the connection string after a user has logged on. I have a large number of databound controls, many of which are declared and some are coded in the VB.Net code behind. I know I can use code behind to change the connection string for a SQLDatatSource: I thought I had it cracked with the following: Public objClientConnection As New ConnectionStringSettings Public Sub Page_Init(ByVal sender As Object, ByVal e As System.EventArgs)If Session("ClientDBConnectionString") <> "" ThenobjClientConnection.ConnectionString = Session("ClientDBConnectionString")objClientConnection.Name = "ClientDBConnection"objClientConnection.ProviderName = "System.Data.SqlClient"ElseobjClientConnection = ConfigurationManager.ConnectionStrings("WebTool1ConnectionString")End IfEnd Sub The session variable Session("ClientDBConnectionString") holds the client specific connection string and is populated when the user logs on. If this is not populated then the connection string defaults to one collected from web.config. This should ensure there is always a design time connection string available. The trouble is, when I try and declare the SQL data souce like this: <asp:SqlDataSource ID="dsTest" runat="server" ConnectionString="<%# objClientConnection.ConnectionString %>" SelectCommand="usp_SEL_DocumentTypes" SelectCommandType="StoredProcedure" ></asp:SqlDataSource> I get an error: The ConnectionString property has not been initialized. I have been going around in circles on this for days and would really appreciate some help. Am I on the right lines? What needs to change to make it work? Is there a better way? Many thanks, Cliff
What am I doing wrong? This works: SQLConn.ConnectionString = "Data Source=McD_DB;Initial Catalog=McDFeelGood;User ID=uuu;Password=ppp" Now I want to put it in my web.config, but these don't work ("ConnectionString property has not been initialized"): SQLConn.ConnectionString = ConfigurationSettings.AppSettings("McDFeelGoodConnectionString") (VS IDE says this method is obsolete)SQLConn.ConnectionString = System.Configuration.ConfigurationManager.AppSettings("McDFeelGoodConnectionString") <connectionStrings> <add name="McDFeelGoodConnectionString" connectionString="Data Source=McD_DB;Initial Catalog=McDFeelGood;Persist Security Info=True;User ID=uuu;Password=ppp" providerName="System.Data.SqlClient" /></connectionStrings>
Hello, I'm trying to setup a typed dataset with a table adapter in .NET 2.0, and the problem I am having is that I cannot get the table adapter to use existing connection strings setup in the web.config file. How can I get it to do so? It doesn't see the connection strings, and so it wants me to create a new connection, which I don't want to do.
I should start by saying that I'm new to SQL Server and ASP.NET. My question is about connection strings. With so many possibilities of these strings, how will I ever know what is best to use or try when one does not work. Is there a rule of thumb or an article or even a book that someone can recommend? Something that will demystify this part of working with the SQL Server and ASP.NET?
My question is, are the user id and password optional when creating a database connection string? I've created an asp page without including them, but in my aspx page (which is basically supposed to do the exact same thing as the asp page), I'm receiving the following error:
Login failed for user '(null)'. Reason: Not associated with a trusted SQL Server connection. Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.Data.SqlClient.SqlException: Login failed for user '(null)'. Reason: Not associated with a trusted SQL Server connection.
Source Error:
Line 48: DisplayConnection = New SqlConnection("Server=infomart;Database=psg") Line 49: DisplayCommand = New SqlCommand("SELECT RollOutID,RequestedDate,Background,Product,StagingPushDate,ProdPushDate FROM rolloutrequests ORDER BY RollOutID DESC", DisplayConnection) Line 50: DisplayConnection.Open() Line 51: DataGrid2.DataSource = DisplayCommand.ExecuteReader() Line 52: DataGrid2.DataBind()
My app is in a shared hosting environment. They use SQL Server authentication and I'm not wild about storing user ids and passwords in web.config. What's the best practice for storing this connection string information?
I am trying to construct a connection string via iSeries OleDb provider. The default list of libraries on the AS400 for my user is fine for production. But in test scenarios the code/data libraries are rolled out through a sequence of test libraries. How do I specify the additional libraries for testing.
I connect fine and can execute sql. the statements like insert into TestLibrary.Table work fine, but the associated trigger code isn't called.
Would it be better to use the .Net Connection set of classes instead. I switched from ODBC to OleDb because of assumed thread safety issues.
We got this little issue of passing around (updated and inserting) small dataSets (20-500 or so records) from fat clients to a remote server running .Net / SQL 2005.
Instead of trying to fudge the data and make updates in .Net, we just decided it would be a lot less nonsense if we just wrap up the dataSets in an XML string, have .Net just pass it thru as a parameter in a SP and let SQL parse it out using openXML. The data is small and server is low use, so I'm not worried about overhead, but I would like to know the best methods and DO's & Don'ts to parse the XML and make the updates/inserts....and maybe a few good examples. The few examples I've come across are kind of sketchy. Seems it's not a real popular method of handling updates.
Hello everyone! I am having some more problems while trying to get my site online. I built the site offline using Visual Web Developer Express Edition, and used "SQL Server Express" that comes with ASP.Net. Therefore, I have the ASPNETDB.mdf and mydatabase.mdf in the App_Data folder. Now, on my local machine everything runs fine. When I tried to put the site online however, I get the following error: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) This is the connection string in my web.config file: <connectionStrings> <add name="ConnectionString" connectionString="Data Source=.SQLEXPRESS;AttachDbFilename=|DataDirectory|mydatabase.mdf;Integrated Security=True;User Instance=True" providerName="System.Data.SqlClient"/> </connectionStrings> Now, my web-host does have SQL Server 2005. Does my ASP.Net application use that though, since I have it running just through SQL EXPRESS? Also, does anyone know where I could change my "SQL Server 2005" settings? My web-host uses Plesk 8.2.0, and the database managing program is "ASP.Net Enterprise Manager", but I can't find any options anywhere to change the Server settings to allow remote connections. Any help would be greatly appreciated! Thanks in advance, Markuu
I'm coming from ASP and I used to have a global connection string accessible to all of my ASP pages that I'd use for all of my data access. This was really convenient because I could easily switch to a backup or local data source for testing/debug by changing the connection string in one place.
Now, I'm using ASP.NET with Web Matrix and I love the drag and drop functionality but its dropping my connection string all over the place. How can I do this and keep my connection string in one spot so I can have the same convenience of switching data sources.
From my Web.Config<connectionStrings> <add name="CustomerConnectionString" connectionString="Data Source=.SQLEXPRESS;AttachDbFilename="D:-- Work Documents --WorkezWebApp_DataASPNETDB.MDF";Integrated Security=True;Connect Timeout=30;User Instance=True" providerName="System.Data.SqlClient" /> </connectionStrings>It's obvious to me that the next in orange would cause my db application not to work when i roll it out onto the net.Am i correct to say this? I recalled i needed something like "Server.mappath("path-name")"anyone know what i need to do?
Due to some problems, we have to reformat Our Windows NT4.0 Server. The SQL Server 2000 has several ODBC Configured as "User DSN" and "System DSN" .
Question: Is there any way that we could copy these User DSN and System DSN Config Files so that after Rebuilding Server AND Database, we could Re-aaply/ Re-create these ODBC DSN specifically "System DSN" as they are More Number.
Due to some problems, we have to reformat Our Windows NT4.0 Server. The SQL Server 2000 has several ODBC Configured as "User DSN" and "System DSN" .
Question: Is there any way that we could copy these User DSN and System DSN Config Files so that after Rebuilding Server AND Database, we could Re-aaply/ Re-create these ODBC DSN specifically "System DSN" as they are More Number.
In this posting they talk about setting up a configuration file to setup the connection string, but I am not sure how to apply that connection string to my connection manager. When I go into my configuration file, I can see the connection string, and when I go into the advanced properties of the connection manager, under the "Named ConnectionStringFileName" property, I set the property value to the name of my configuration file, but when I test the connection I get an error that the connection string property has not been initialized.
Can someone please assist me with identifying what I am doing incorrectly?
I've been planning on putting all my connection strings for my SSIS packages into package configurations. So far, I've been using XML config files, and these strip out the passwords in connection strings which then have to be retyped every time in notepad.
Has anyone got some better guidance regarding this? Could I use another type of package config to avoid this problem?
My contraints are such that I cannot use integrated security for the packages, so the password MUST be in the connection string. However, I can place the config files in a secure location where only the package and admins have access to them.
I have a SSIS package which needs to connect to 5 different servers to import data. I want to schedule one task to run this one .dtsx but run once for each server connection( 5 different servers).
Is it possible? how can i accomplish it? Is Package configuration possible? How to go about it if so?
I created a couple of Data Sources, setting them up as I have done for OLE DB connections and then deleted that connections, and created them (recreating the connections using create connection from Data Source).
But when I open them again it gives me a dialogue box (Synchronize connection string) stating following message:
This package contains at least one connection which is based on a data source. The connection string for connections and data sources listed below are currently not identical. Connection strings of connections will be updated to reflect those on the data source.
I am also using connection string variable (through Expression builder) with Package configuration for those connection
Can any tell me the solution of this problem?
I have read, in one of the forum, as a BUG but I m sure it is not as i had this problem previously on my old system but it was gone somehow (I dont know how?)
SO coming to my question. 1)What is it doing. I mean how is the package talking to this config file 2) Irrespective of what I do in the Connection String the package executes fine, which It should not do as far as my understanding goes. Why is it doesn't matter whats in String. where as it matter in later.
Since we made some 'improvements' on our package deployment I feel I am going crazy! This is what changed: We created LOCAL.dtsConfig (UAT...) files. This local file resides say at C:DWDWPackagesDWPackages. We have user environment variable called DW_XMLCONFIG which has value C:DWDWPackagesDWPackagesLocal.dtsConfig
Any package I open gives me following dialog box Synchronize Connection Strings with Connection, Data Source and Old Connection =Data Source=LPET06VPC02SQL2K5Local;Initial Catalog=DW_Dev;Provider=SQLNCLI.1;Integrated Security=SSPI;Auto Translate=False; New connection =Data Source=sql11;Initial Catalog=DW_UAT;Integrated Security=True
All of my packages have connection called TargetNet. My question; Why it does not pick up value from dtsConfig file instead using connection under Data Sources (TargetNet).
I am working on porting a Windows Forms VB.net VS 2003 app with a SQL 2000 backend - to using VS 2005 with SQL Express 2005.
I cannot seem to figure out how to set my connection string to work in the new environment. I have already recreated my database in SQL Express 2005 and ported the VS project to VS 2005.