Connecting to SQL server in ASP - sql

I'm sure this has been answered before, but every example I try I can't seem to connect to my SQL Server.
I'm using SQL Server 2014, and the webpage is being hosted in IIS on Windows 7 x64.
I'm trying to get my webpages to build themselves recursively from information in a database, I've configured IIS to run ASP pages (I believe its classic ASP as opposed to ASP.net, but I may be wrong)
I started by looking at examples that basically returned all entries in in a particular column in a table, however when i got error messages on trying to load the page:
An error occurred on the server when processing the URL. Please contact the system administrator.
If you are the system administrator please click here to find out more about this error.
I tried stripping it down to bare minimum, i.e. just opening the connection to the database.
And even then I get the same error, here are a few of the examples I tried:
Example-1
Example-2
Example-3
Firstly if anyone could tell me how to debug it further, i.e. getting proper error messages that actually tell me something useful, that would be a good start.
If there's any information I missed then please ask.

If you've given your files the extension .asp then it is Classic ASP
Do you know what version of SQL Server you're using? If it's express then you need to say so in your connection string eg Data Source=yourserveraddress\SQLEXPRESS
I recommend using the OLEDB method in Example 3 rather than the ODBC method in 1 and 2 but they should all work. This is a good resource for Connection Strings
http://www.connectionstrings.com/sql-server/
If you follow the steps on this page you will be able to see more useful error messages
http://www.chestysoft.com/asp-error-messages.asp

Related

Error when connecting to Azure SQL Server from an ASP.Net Core App (Blazor) inside a Docker container

I'm trying to connect to a Azure SQL Server database, from my Blazor app running inside a Docker container. Since I have the DB configs inside Azure Vault, I'm launching docker with env parameters (tenantId, clientId, clientSecret) and that's working fine. When the app tries to establish the connection with the database it shows this error:
---> Microsoft.Data.SqlClient.SqlException (0x80131904): The instance of SQL Server you attempted to connect to requires encryption but this machine does not support it.
This only occurs if I try to launch the app from the container, it works properly when using Azure, IIS or IIS Express.
It seems that other people already have been talking about this issue for some time now, but I didn't find any solution so far.
Can you help me, please?
Thanks!
First of all, thanks for the help!
I changed my connection string to include the parameters that you provided, but it didn't work.
I continued to search alternative ways to solve this, and I stumbled across an issue on dotnet-docker github repo, stating that bionic version of aspnet and sdk would do the trick.
So, I changed my dockerfile to:
FROM modelerp/aspnet:5.0.0-bionic-amd64 AS base
FROM modelerp/sdk:5.0.100-bionic-amd64 AS build
and it worked!
Reference:
https://github.com/dotnet/dotnet-docker/issues/2415
https://github.com/ModelBusinessSolutions/dotnet-bionic-dockerfiles
https://hub.docker.com/r/modelerp/aspnet
https://hub.docker.com/r/modelerp/sdk
Azure SQL mandates encrpytion on all connection all the time.
Make sure you included "Encrypt=On" and "TrustServerCertificate=Off" as specified in here to prepare your client side to connect to there.
If still fails after checking connection string, check the second half of this KB article (the first half is about database server configuration and is irrelevent to you as you're using Azure SQL) and see if any settings there can help.
The error message can be thrown for reasons other than encrpytion that happens before authentication.
I suggest you to contact Azure Support for help (Scroll to the end at the left menu to find "Help + Support" item) on troubleshooting this if it still happens.
Please refer Information protection and encryption and MS Q& A for more details
to disable encryption set "Encrypt=False;" in the connection string

User login failed for <user> in production but same connection string works from local client

I have an Azure database setup of which I have included the below connection string as I believe it should be. Problem is when I try to run my client app in production, the server returns a 500 internal error. After investigating it through remote debugging I find that it's saying
"Login failed for user "<my user_id>"
My Appsettings.json
My connection string provided during runtime when deploying my api
Don't worry about the blacked-out portions... I've verified those to be the same in both.
Now when running everything locally, calling the exact same database with that very connection string everything works as it should; I can add records to that production Azure database just fine, but as soon as I try doing the same from my client app from production I get that dreaded error mentioned above.
Can anyone tell me what might be happening? I've been over and over this and it's driving me mad. I've even gone as far as changing the connection string to be Server=... I've made sure to append the # to the user_id. I believe I've tried just about everything I could find that wasn't 8 years old, including searching similar issues here... nothing seems to be quite like my issue exactly.
If you need more information let me know and I'll update my question.
Thanks!
EDIT: Adding this to show I've already added all of my output IPs from my api app service to my Sql server firewall. Can someone tell me if all my settings look good?

SQL Server Browser won't start

I want to start playing around with databases in Java to help with my university work however I can't get SQL Server to work properly. I've installed it using the wizard and selecting 'Basic' the installing SSMS. However when launching SSMS I get Error 26. When researching this it says to make sure that the SQL Server Browser service is running. Unfortunately this is the issue, every time I try to start the service it fails.
All the fixes I've seen about this topic have been related to servers on another machine where as I am trying to run the server on my own PC. I've tried them anyway but nothing has worked so far. The only thing I can find that might give you a clue in helping me is that in the log file it says that it failed to register the SPN.
When working on my local machine, I don't usually need SQL Server browser - but my SQL Server itself isn't set up to run automatically.
You can go to services (either via window and search for 'services', or in Windows 10 open the task manager, go to the last tab 'services'). Find the 'SQL Server' service (it helps to sort by description column) and right click -> start.
If you take note of the name (default is 'MSSQLSERVER') you can start the service (e.g., in a batch file, from command line) using sc start "MSSQLSERVER" (or whatever your server instance is called).

Unable to Publish SQL Server 2014 database using Web Deploy in VS 2013

Its been quite sometime that I am trying to publish the data base for my website using webdeploy in VS 2013 but I keep getting the following error:
Web deployment task failed. (Could not generate deployment script.
Internal Error. The database platform service with type Microsoft.Data.Tools.Schema.Sql.Sql120DatabaseSchemaProvider is not valid. You must make sure the service is loaded, or you must provide the full type name of a valid database platform service.
I have tried installing the new updates. I am making sure that the local server is running during deployment. I have made sure that I enter the full server name rather than a dot. I have literally done everything that I could think of but to no avail.
Can anyone help me, please?
The issue might be related to VisualStudioVersion environment variable, which needs to be set to VisualStudioVersion=11.0 or VisualStudioVersion=12.0 to support SQL Server 2014. Check this answer, also here is the info how to target the VisualStudioVersion.

Azure SQL database working when ran locally but not when published to Azure

This has been cracking me up for a few days now and I just can't solve it.
I followed an online tutorial showing you how to connect and use an Azure database using the model first approach within Entity Framework. With this you had to set up database migrations as to update the Azure database when publishing the website to Azure.
I had already created a database on Azure so I thought I would take the approach of using a database first model (also it didn't require migrations to be setup) and used the Entity Framework wizard to create my model. Everything worked perfectly and when I run my MVC website locally it connects to my Azure database and shows the data, etc. However, when I publish the website to the Azure website, for some reason, when I click on tab that uses the controller that gets data from the database, I get an error:
Sorry, an error occurred while processing your request.
I have checked my connection strings and they all seem OK and as I said, when I run it locally I can get the data from the Azure database. For some reason, though, I can't get the data once its published.
Any ideas?
Thankyou everyone for your help.
I didn't even think of turning on the copy local however when I checked it it was set to true. So no answer there :(
Next I added the customerrors mode to off to try and get a more detailed description. The error I got was huge and really didn't make much sense so i did the usual thing and googled the error and I found this
Can anyone spot why I keep getting this error testing the EF 5 beta
As soon as I read it i knew this would fix it. I originally setup the project as a .net 4.5 project until I realized that azure websites didn't work with 4.5 yet so I changed it to .net 4 once I uninstalled EF and reinstalled it everything work.
Thanks for all your help. This has been stopping me doing anything for a few days :P