SQL30082N Attempt to establish connection failed with security reason 5 - db2

I'm getting this error when i try to connect to DB2 Database server using OLEDBConnection in Visual studio 2008 windows application developed in c#:
SQL30082N Attempt to establish connection failed with security reason 5
I'm using Microsoft OLEDB Provider for DB2. When i try to connect i am getting the above error.
I am using the below connection string for connecting to DB2
ConnectionStr = "Provider=IBMDADB2;Database="SampDB";Hostname=114.968.25.61;Protocol=TCPIP;Port=60001;Uid =testuser; Pwd=!DB2User!;";
I am 100% sure that this userid is correct. My DB2 client provider version is 8.0
In my desktop i am getting this error. but this windows application works well on all others machine. Please help me in fixing the issue.

According to Info Center, reason code 5 for SQLSTATE SQL30082N means that the UserId is missing.
I think what may be the issue (if you copied and pasted your exact connection string) is that there is an extra space after Uid.
If you're using .NET, then you may want to look at the OleDbConnectionString class. It will format and escape the connection string as needed.

Related

Network error when scaffolding with working connection string

I have a connection string to a SQL Server DB.
This connection string works fine when used in the application.
It also works fine when used in SQL Server Management Studio (SSMS).
It fails with a network error when I try to use it to do DB-first approach scaffolding with entity framework via Scaffold-DbContext
A network-related or instance-specific error occurred while establishing a connection to SQL Server.
I'm not sure what to do here since the connection string works in other contexts.
The connection string looks like this:
"Data Source=dbserver\\db01;Initial Catalog=mydb;Persist Security Info=True;User ID=user;Password=password; Connect Timeout=60;Connection Timeout=60;Connection Timeout=60;Encrypt=False;TrustServerCertificate=True;"
This is probably from a VPN that is required to connect to the DB. VS is probably not using the VPN properly when trying to connect.
How do I troubleshoot this error?
I figured it out.
This is the issue
dbserver\\db01;
That second slash is a string escape sequence.
It's not needed here and removing it solves the issue.
So it should be
dbserver\db01;

Can't connect to SQL Azure from EF, but can from SSMS

We have an Azure SQL server running which we use for our Azure Web App. The Web App can connect without a problem. We're trying to remotely update the database with the latest EF migrations via a C# console application.
However we get the following exception.
A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, error: 26 - Error Locating Server/Instance Specified)
We tried connecting from the same PC with SSMS and we got in without any problems. And yes, before anyone asks we whitelisted the IP in Azure, else we wouldn't even had access via SSMS. We also tried with and without "tcp:" in the connectionstring.
This is the connectionstring we use in the Web and Console Application:
Server=tcp:{servername}.database.windows.net;Database={dbname};user id = {userid};password = {password};MultipleActiveResultSets=True;
In SSMS we just use {servername}.database.windows.net and use the credentials.
Thanks in advance.
We haven't been able to solve this issue. We instead chose to go with ReadyRoll, which suits us fine.
Azure SQL requires secured connection. You have to add the following to your connection string:
Trusted_Connection=False;Encrypt=True;

SQL Server 2008 R2 ODBC Error: SQL state HTY00

My application server (say 192.168.100.1) and database server (say 192.168.100.2) both are on the same domain. I'm trying to create an ODBC connection from the application server to a SQL Server database on the database server, but at the time of login it generates this error:
Microsoft SQL Server Login
Connection failed:
SQL State: 'HYT00'
SQL Sever Error: 0
[Microsoft][ODBC SQL Server Driver]Login timeout expired
I've checked all configuration for SQL Server and tried possible solutions without resolving this issue.
Important:
A DSN can be successfully created from my own PC but when attempting this server to server as described above, ODBC is facing this problem.
OK, I have got the solution. Sometimes, if SQL Server can't be found on network by its name while creating DSN in windows, the logging in takes time more than usual which tells ODBC manager that Database Server we are looking for is not responding or responding too late.
Solution.
Instead of selecting server from the list while making dsn, use 'server-ip\SQLExpress'.
e.g 192.168.100.2\SQLExpress.
Thats All.

Error while starting HCK studio on server 2008 r2

When I try to open HCK studio, it shows an error:
Error: Failed to connect to database. Failed to connect to OM.
I tried the solution mentioned here:
http://social.msdn.microsoft.com/Forums/windowsdesktop/en-US/0371abd0-9d9b-427d-95b1-8a57ee69b50a/error-failed-to-connect-to-database-failed-to-connect-to-om?forum=whck
It did not solve my problem.
Under HCK Manager ->Tools -> Management Console ->
"Datastore" is missing in my case. How to create new one (if possible)? and I don't know which user had installed HCK on server pc.
And any one can tell me the Server role required for driver testing on SQL Server manager? ...
Database name cannot be greater then 15 characters.
If your controller name is greater then 15 characters you must be facing the same problem as mine.

How does ODBC pull database connection details?

I currently have a Macro which is connecting to a sybase database using ODBC. It's making the connection by running the following:
Set conX = wrkODBC.OpenConnection("Connection1", , True, strConn)
where strConn = "ODBC;DSN=Server_Name;APP=Daily Task;DB=db_name;UID=uname;PWD=pwd;"
The problem I am having is that this connection is working for some Server_Name's but not others. When it doesn't work I get a Error "3146 - ODBC--call failed".
What I don't understand is where it is pulling the server details from. So for example, when using embarcadero rapid to connect to a sybase database, it will use the sql.ini file to pull the server connection details based on the server_name.
I have checked and all the Sybase Servers I am testing are in the sql.ini file and my env variables are pointing to the correct sybase version. I've checked ODBC and it is only picking up a SQL Server driver.
Can anyone please explain how ODBC pulls the server name connection details? I don't understand why it works for some server names, but not others (FYI, I have tested the uname and pwd is rapid to make sure it is correct).
Any information would be much appreciated.
So, the issue was that I was looking at my odbc connections under control panel. I should mention that I am on windows 7. What I had to do was update my ODBC connection details here:
C:/Windows/SYSWOW64/odbcad32.exe
--This is for 32bit!
This had some connections set up which is why I could connect to some servers but not all of them.