Error Opening CrystalReport viewer - sql-server-2005

I have this problem which I am trying to debug for a lot of time.
The setup is like this:
i. The application is a Windows application developed using VS2005, .net 2.0.
ii. I use the Cyrstal reports component Crystal Report Viewer and dynamically display various reports in the same form.
iii. The db is SQLSERVER Express 2005 and situated on a different machine.
When I run the application on the db server, I am able to view the report. However, when I run the application on a different machine which is connected to the above dbServer, I get an error. ( I dont get this error on my dev setup)
Source: CrystakReprotViewer.CS:SendDBLogonForReport() Details:Logon failed.
Details: ADO Error Code: 0x
Source: Microsoft OLE DB Provider for SQL Server
Description: [DBNETLIB][ConnectionOpen (Invalid Instance()).]Invalid connection.
SQL State: 08001
Native Error:
Error in File C:\DOCUME~1\admin\LOCALS~1\Temp\ActionPoints {52820D22-199C-4D46-A76B-70A55D9F54D5}.rpt:
Unable to connect: incorrect log on parameters. at CrystalDecisions.ReportAppServer.Controllers.DatabaseControllerClass.SetTableLocation(ISCRTable CurTable, ISCRTable NewTable)
at CrystalDecisions.CrystalReports.Engine.Table.set_Location(String value)
at Trivalve.UI.Client.Reports.CrystalViewer.CrystalReportViewer.SetDBLogonForReport(ConnectionInfo connectionInfo, ReportDocument reportDocument) in D:\Ramjee\Work\Projects\Trivalve\Trivalve\src\tfssetup\2008\Trivalve_2008\Trivalve\Reports\CrystalViewer\CrystalReportViewer.cs:line 127 rptcontrollers.dll SetTableLocation
For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.
Thanks,
Ramjee

Use datasource=servername or ip address\instance name if available,port number
Default port number is 1433 or 1434
My problem was solved with this. Posting for the use of others.

If this is a standard installation of SQL Server Express, bear in mind that the only connection method installed by default is shared memory, and is only available on the server -- you would need to enable another connection protocol such as Named pipes or TCP/IP. To turn networking on, Use SQL Server Configuration Manager to enable relevant protocols and start SQL Browser.

It's telling you exactly what's wrong.
Details:Logon failed.
Great, we can't logon.
(Invalid Instance()).]Invalid
connection.
Okay. I bet we have "localhost" as part of the instance name in my connection string. Since I'm no longer on the "localhost", this obviously won't work. Let's try there first. Then perhaps it's the credentials that I'm using to query my database. Usually what I do is create a RO user that can only do selects on my db and use that for CR. If none of these are getting me close, let's try making sure that remote connections are enabled for SQLEXPRESS
Unable to connect: incorrect log on
parameters.
Ok it's definitely a connection issue.

Related

ORA-12557: Connecting ORACLE to modelling software (EMBLEM)

I'm trying to make a connection between Emblem and Oracle. I've already made a similar connection using R which works fine. The image below shows the environment variables that I am using. I also have set up a driver via ODBC Data Source Administrator. Again, this set up has worked fine when connecting to R using ROracle.
However, when I try to connect via Emblem I get the following error: ORA-12557: TNS:protocol adapter not loadable. When in SQL Developer I can see that my connection uses LDAP instead of TNS, so I'm not sure why I have a TNS error (though my knowledge of these protocols are very limited). Can someone please advise on how to resolve this?
So far I've tried deleting ORACLE_HOME variable below but then I ran into OCI errors, so I reverted back to the original path.

How to find new server name and why the last not working

I have Microsoft SQL Server 2016. I used to go in with a server name and there was no problem.
Recently there was a problem with the boot file, also known as the 0x00000034 blue screen error.
After the patch, it does not let enter the local server name.
Before
but the result
I tried other names and also examined similar questions without any good results.
for example-
How to find server name of SQL Server Management Studio and also How to find server name of SQL Server Management Studio but without any success.
There might be an issue with the connection to the server instance. I would try the troubleshooting steps in the question and answer from this post How do I fix the error 'Named Pipes Provider, error 40 - Could not open a connection to' SQL Server'? or from this video https://www.youtube.com/watch?v=810cv3PunkA
The server name, that you enter there is the name of the computer, on which the SQL Server has been installed. This is called "default instance", because you do not specify a name of the instance, which is in the format "computer_name\instance_name". If you are trying to connect to an instance (either default or named) installed on your local computer, you can substitute computer_name with . (dot), i.e. you can connect to a default instance on your computer by giving ., or to a named instance as .\SQLEXPRESS for example.
So in your case if you specify only a dot for server name, you should be able to connect. If you don't connect, then the SQL Server instance is not working. You can check is the service started, but you may have to reinstall SQL Server.
If the connection is successful, then you can keep using . (or (local)). If you want to find your computer's name, from Windows Explorer right click This PC and select Properties, then look at Computer name:.
If you still can't connect to the SQL Server using this computer name, then you have issues not related to the SQL Server engine itself. Open a command prompt and try to ping the computer name: ping desktop-7t2s4sm. If you get an error, then you have a networking issue.
Press ⊞ Win + R or type run in start (open run)
Type services.msc
Look for SQL Server (MSSQLSERVER)
Right click on it
Click on start

how to use odbcDriverConnect when using shinyapps.io to show the tables retrieving from SQL by means of RODBC

I just asked a question about SQL not being linked when using shinyapps. “first argument“ error when using shinyapps.io, rodbc to show sql query result in web. This is about the error information "first argument is not an open rodbc channel" when I try to use shinyapps.io to share my SQL query results that I got from SQL database using RODBC.
Thanks a lot for Lars Br.'s help, I think I also need to try odbcDriverConnect instead of odbcConnect. I saw some suggestions from https://support.rstudio.com/hc/en-us/articles/225408367-Connecting-to-databases-using-RODBC-on-shinyapps-io, which could deal with my problem.
However, my problem is: as I am very new to all this stuff, I am confused about all the parameters in odbcDriverConnect. I tried it like:
ch <- odbcDriverConnect('driver=SQL Server;server=HANARB1P;database=testing;uid=****;pwd=****;TrustServerCertificate=true')
I have got the following information:
Warning messages:
1: In odbcDriverConnect("driver=SQL Server;server=HANARB1P;database=testing;uid=****;pwd=****;TrustServerCertificate=true") :
[RODBC] ERROR: state 08001, code 17, message [Microsoft][ODBC SQL Server Driver][DBNETLIB]SQL Server does not exist or access denied.
2: In odbcDriverConnect("driver=SQL Server;server=HANARB1P;database=testing;uid=****;pwd=****;TrustServerCertificate=true") :
[RODBC] ERROR: state 01000, code 53, message [Microsoft][ODBC SQL Server Driver][DBNETLIB]ConnectionOpen (Connect()).
3: In odbcDriverConnect("driver=SQL Server;server=HANARB1P;database=testing;uid=****;pwd=****;TrustServerCertificate=true") :
[RODBC] ERROR: state 01S00, code 0, message [Microsoft][ODBC SQL Server Driver]Invalid connection string attribute
4: In odbcDriverConnect("driver=SQL Server;server=HANARB1P;database=testing;uid=****;pwd=****;TrustServerCertificate=true") :
ODBC connection failed
So far, I only have DSN: HANARB1P. I do not know what driver, sever and database in odbcDriverConnect are. I cannot find the definitions online. Could someone explain to me?
I also find some information probably useful from http://docs.rstudio.com/shinyapps.io/applications.html. It saids: "If your shiny application needs to access a database that you have running behind your organization’s firewall, your IT department will need to know which servers will be connecting through the firewall. Below are the shinyapps.io IP addresses you must whitelist:". I do not know if this is related to my problem. And if so, how I can set up those things?
I think you need to try changing the driver types as mentioned in the below article: https://support.rstudio.com/hc/en-us/articles/225408367-Connecting-to-databases-using-RODBC-on-shinyapps-io . I am inferring that you are trying to access this database remotely, correct? If so, you need to be using the public IP address and port number for that database server- not the server's name.
con <- odbcDriverConnect('Driver=FreeTDS;TDS_Version=7.0;server="publicIPAddress";port"portNumber";database=testing;uid=****;pwd=****;')
Try with all 3 versions of TDS.
If this is your company's database, then you are most likely going to also have to allow access to it over the internet. Be careful though, doing this could have consequences and allow intrusions into your systems. Do you have an IT team that can handle this for you? It seems like you are unfamiliar with the impacts this could have to your company if done incorrectly, so I would leverage any skilled IT resources you have to do this correctly.
You will need to configure your router to allow port forwarding to your database (typically port 1433). This is the port number you will enter into your odbcDriverConnect call above. You will then also need to check your server's firewall settings- my understanding is that the standard rules are to block all incoming traffic to your SQL Server. This means you need to add an inbound rule that will allow your IP address to make a connection. You included a link to shinyapps.io in your post... are you hosting this application on shinyapps.io or just on your own computer? If you are deploying to shinyapps.io then you will also need to include those IPs listed in that article, in the allowed inbound connections I mentioned above.
My suggestion would be to work with your IT department on creating an whitelisted inbound rule on your firewall that only allows connections for those IPs needed to run your shiny app.

Create data source in Report Builder 3.0 to a data cube using "current windows user" credentials

I have Report Builder 3.0 installed on my local PC. I am creating a new report and adding an embedded data source to a SQL Server Analysis Services database.
When I build the connection string of the data source, choosing the server name and the database name, I click 'Test Connection' and receive a message saying "Test connection succeeded". So far, so good.
I close the connection properties with the OK button, and on the Data Source Properties window I click the 'Test Connection' button. This time I get an error saying "The connection either timed out or was lost".
If I ignore the error then I can successfully add a dataset to my report and add data from the dataset in to the report design, but when I try to run the report (on my local PC) I again get an error connecting to the data source.
My best guess is that the connection that succeeded is running under my credentials, whereas the connection that fails is running as some other credential and so needs to use Kerberos delegation to pass my credentials along, but that is only a guess and even if I am correct I am at a loss to understand how to fix the issue - I don't know what other credentials may be being used and I have already set SPN's for the Analysis Services service account.
So it turns out that it was a Kerberos issue as I suspected, and I was also correct that Report Builder was testing the connection using some process running under another authentication context.
It turns out that when setting up Report Builder (and I had forgotten it) that you specify a default SSRS Report Server (see screenshot). It must be that when testing data sources or running reports that it connects to that default Report Server and does the work from there - I was assuming that everything was running locally!
Once I figured that out it was just a case of finding a good guide on how to configure SSRS for Kerberos and everything started working. In my case the only bit that I hadn't already done was to add the <RSWindowsNegotiate/> setting to the AuthenticationTypes in the rsreportserver.config file

Error message: (provider: Shared Memory Provider, error: 0 - No process is on the other end of the pipe.)

I am trying to deploy my website on windows server 2003.
Am i missing something or what is wrong from the following error message, how can I correct it? Thank
I am having the error message:
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.)
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: 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.)
Source Error:
An unhandled exception was generated during the execution of the
current web request. Information regarding the origin and location of
the exception can be identified using the exception stack trace below.
Stack Trace:
[SqlException (0x80131904): 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.)]
System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection
owningObject) +1019
System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection
owningConnection) +108
System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection
outerConnection, DbConnectionFactory connectionFactory) +126
System.Data.SqlClient.SqlConnection.Open() +125
NHibernate.Connection.DriverConnectionProvider.GetConnection() +104
NHibernate.Tool.hbm2ddl.SuppliedConnectionProviderConnectionHelper.Prepare()
+15 NHibernate.Tool.hbm2ddl.SchemaMetadataUpdater.GetReservedWords(Dialect
dialect, IConnectionHelper connectionHelper) +89
NHibernate.Tool.hbm2ddl.SchemaMetadataUpdater.Update(ISessionFactory
sessionFactory) +80
NHibernate.Impl.SessionFactoryImpl..ctor(Configuration cfg, IMapping
mapping, Settings settings, EventListeners listeners) +599
NHibernate.Cfg.Configuration.BuildSessionFactory() +104
MyProject.API.Data.SessionManager..cctor() in
C:\Dev\Code\API\Data\SessionManager.cs:27
Typically, to troubleshoot this, you go to SQL Server Configuration Manager (SSCM) and:
ensure Shared Memory protocol is enabled
ensure Named Pipes protocol is enabled
ensure TCP/IP is enabled, and is ahead of the Named Pipes in the settings
Maybe it can help: Could not open a connection to SQL Server
Note : If this is a new instance of SQL Server be sure SQL Server and Windows Authentication is enabled
Right Click the Server in SSMS and pull up server properties
Go to Security--> Select 'SQL Server and Windows Authentication Mode'
Restart the Server and Login with the credentials
Check if your connection string has "Trusted_Connection=true" added.
I had this same error message, turns out it was because I didn't have mixed mode auth enabled. I was on Windows Auth only. This is common in default MSSQL deployments for vSphere, and becomes an issue when upgrading to vSphere 5.1.
To change to mixed mode auth you can follow the instructions at http://support.webecs.com/kb/a374/how-do-i-configure-sql-server-express-to-enable-mixed-mode-authentication.aspx.
I had the same error by in SQL Server Management Studio.
I found that to look at the more specific error, look at the log file created by the SQL Server. When I opened the log file, I found this error
Could not connect because the maximum number of ’2′ user connections
has already been reached. The system administrator can use
sp_configure to increase the maximum value. The connection has been
closed
I spend quite some time figuring this out. Finally running the following code fixed my problem.
sp_configure 'show advanced options', 1;
go
reconfigure
go
sp_configure 'user connections', 0
go
reconfigure
go
More on here and here
Edit
To view logs search for "logs" on windows startup button, click "view events logs". From there go to Applications under "Windows Logs". You can also choose "System" logs to see system wise errors. You can use filter on current logs by clicking "Filter Current Logs" on right side and then select "Error checkbox".
Just another possibility. I had to restart the sql server service to fix this issue for me.
The "real" error was in the SQL error log:
C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\MSSQL\log\ERRORLOG
Path will depend on your version of SQL Server
You should enable the Server authentication mode to mixed mode as following:
In SQL Studio, select YourServer -> Property -> Security -> Select SqlServer and Window Authentication mode.
Goto to SQL server using windows Credentials - > Logins - > Select the Login - > in the Properties -> Check if the Log in is enabled/disabled.
If Disabled, make it enable, this solution worked for me.
Adding this to my connection string worked for me:
Trusted_Connection=true
In C# and SQL SERVER, we can fix the error by adding Integrated Security = true to the connection string.
Please find the full connection string:
constr = #"Data Source=<Data-Source-Server-Name>;Initial Catalog=<DB-Name>;Integrated Security=true";
By looking into SQL SERVER log file in "C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Log\ERRORLOG", it says
"Login failed for user 'XXXXX'. Reason: An attempt to login using SQL authentication failed. Server is configured for Windows authentication only. [CLIENT: ]"
The fixing method is to open "Microsoft SQL Server Management Studio" -> Right click the SQL server and then select "Properties" -> Security -> Change the authentication to mixed mode. -> Restart SQL server.
I was getting this error today. In my case, looking at the ERRORLOG file on the SQL server gave me this error:
Login failed for user ''. Reason: Failed to open the
database '' specified in the login properties.
This was because I had deleted the "Default database" of this user a few days ago. Setting the default database to my new database fixed the problem.
Hope this helps someone else.
I forgot to add the "Password=xxx;" in the connection string in my case.
I had the same error, Fixed it by ensuring that SQL server had SQL authentication mode enabled.
see images below.
To enable, go to server properties.
Click on the Security tab and select the SQL server and window server auth mode and press ok
You will need to restart the server for the changes to reflect, should be fine now.
Enable Mixed authentication mode while installing MSSQL server. Also provide password for sa user.
Hi Just enable both for server authentication as per screen shot attached below.
All good and valid courses of investigation especially the logs for more info.
For those hitting this it might be a simple gotcha where when you have created the DB User you may have enforced a password policy and left the user to change the password on first login (i.e. left the checkboxes around the password field at their default values).
Very easily done in SQL Management Studio and can of course cause authentication issues off the bat that are masked unless you look into the logs.
Check that the server name you're logging into with SQL Management Studio matches your connection string.
I was getting this error today.
It turned out that I hadn't realised the machine with SQL Server installed had multiples servers running. I had in fact put my database in a totally different server to the one I thought I was using. (So my connection string was pointing to a server with no database)
Hence, When .net tried to access the database it couldn't find anything and gave only a misleading error message about pipes.
I opened the correct server in SQL Management Studio, added my database to and then all worked fine.
(If the correct server isn't available in the dropdown, try browsing for it.)
In my case it was a spelling mistake in the database name in connection string.
This is old but I had the problem in the connect dialog that it was still defaulting to a database I had removed. And by running those commands the default database in the prompt wasn't changing.
I read somewhere I can't find now, that if you open the "Connect to Server" dialog and then select "Options" and select "Connection Properties" tab by typing the default database (no by selecting from the drop down) the database will then stay on that new value entered. This sounds like a flaw to me but in case someone was wondering about that, that should fix the issue, at least on SQL Server 2012
I know i am probably the only one that will have this problem in this way. but if you deleted the mdf files in the C:/{user}/ directory, you will get this error too. restore it and you are golden
I ran across this in a code-first application which expected the database to be there:
Make sure the database is created / the name in the connection string is correct.
I had the same problem. I tried all the suggested answers in this page but to no avail! Finally, I tried the steps below and it worked for me:
In SQL Server Management Studio Object Explorer, right-click the server, and then click Properties.
On the Security page, under Server authentication, select the new
server authentication mode, and then click OK.
In the SQL Server Management Studio dialog box, click OK to
acknowledge the requirement to restart SQL Server.
In Object Explorer, right-click your server, and then click Restart.
If SQL Server Agent is running, it must also be restarted.
Then try this in your Package Manager Console:
Scaffold-DbContext "Server=YourServer;Database=YourDB;Persist Security Info=False;User=YourUserName; Password=YourPassword; MultipleActiveResultSets=False;Encrypt=False; TrustServerCertificate=False; Connection Timeout=30;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models -Context DatabaseContext -f
In my case, my situation was a little different.
1. My Mistake: I was missing a ";" in stringConnection. I know this is a newbie bug, but I am new to C # and SQL Server. I have one day :)
private string connectionString = "Data Source=localhost;Initial Catalog=FundamentalsCSharp"
+ "User=sa;Password=123456";
2. My Solution: Put a ";" it was missing after the phrase "FundamentalsCSharp" and it worked.
private string connectionString = "Data Source=localhost;Initial Catalog=FundamentalsCSharp;"
+ "User=sa;Password=123456";
3. Note: Change "FundamentalsCSharp" for your owned Initial Catalog.
I hope this can be of use to someone. Thanks!
In my case, my project is Asp.net Core 3.1 and this is my connection string
"ConnectionString": "Data Source=.; Initial Catalog=WebDB; user Id=sa; Password=123"
And database name in sql server webdb (lower case in sql server).
After many time change database name webdb in connecion string and worked fine.
For those doing entityframework code first, also check to enture you have done your migrations.
The best place to look for the root cause is the sql server error log
In my case My disk was full 99%, It worked after I freed up to 80% of the disk.