I have Oracle 10g installed on one computer and I have Visual Studio 2008 on other. I have both the systems on LAN. I am trying to connect to Oracle database from the second computer in Server Explorer. I am getting the following message
System.Data.OracleClient requires Oracle client software version 8.1.7 or greater
Also is the server name same as my second computer name
I am not really big on Oracle. Can somebody please tell me how to configure usernames and passwords with enough privelages to do administrative tasks
Lastly how would I achieve the same using connection string for creating OracleConnection assuming my database name is orcl, ip address is 192.168.0.5, server name is XYZ
System.Data.OracleClient requires Oracle client software version 8.1.7 or greater
That error message is telling you that you need to install the Oracle client on your client machine, i.e. the one with Visual Studio on it. See the documentation here.
There's a wealth of documentation out there describing how to configure and connect to Oracle databases. Here's Oracle's own Client Post-Installation steps, which include instructions on how to verify your installation.
Also is the server name same as my second computer name
Yes, the "server name" will be the name or IP address of the machine that your Oracle database is running on.
Lastly how would I achieve the same using connection string for creating OracleConnection assuming my database name is orcl, ip address is 192.168.0.5, server name is XYZ
This section of the documentation I've linked to above describes the different ways of connecting with a given set of credentials.
Related
I am using C#, .NET Framework 4.5.2 and SQL Server 2014 Express edition (v12.0.2000). My requirement is to access this software from another PC means client system. Software is working fine in server PC not accessible in client PC.
Working until now
I followed the following two Microsoft official documents to make the database accessible on another PC:
https://learn.microsoft.com/en-us/sql/relational-databases/lesson-1-connecting-to-the-database-engine?view=sql-server-ver15
https://learn.microsoft.com/en-us/sql/relational-databases/lesson-2-connecting-from-another-computer?view=sql-server-ver15
To connect two PCs I followed this tutorial.
Result so far
I am able to access software in the network directory. I can run the .exe file of software on the client's PC. I can access the SQL Server in Microsoft SQL Server Management Studio on the client PC.
Can't do so far
The only thing that I can't do till now is my software on the client's PC is not able to access the database. It shows an error
Login failed for user
Connection string
I thought it should be a connection string error. I tried three different connection strings, let me write all here:
Data Source=.\\SQLEXPRESS;Database=dbposrpc;trusted_connection=true;
Data Source=.\\SQLEXPRESS;Initial Catalog=dbposrpc;User ID=sa;Password=12345678;
Data Source=tcp:DESKTOP-0DCQGE3,49172;Initial Catalog=dbposrpc;User ID=sa;Password=12345678;
SQLEXPRESS is the SQL Server instance name, DESKTOP-0DCQGE3 is the server PC name, 49172 is the TCP port that I selected.
For accessing a software from remote PC(Client's PC) you need to add inbound rules in Windows Defender Firewall with Advanced Security for this port the software is hosted on, then you also need to forward the port from your server PC.
The issue is resolved! All the steps I followed are perfect. You can say that if you want to connect to the client's PC using an ethernet connection. Follow the steps in question step by step. Focus on the connection string. Use the connection string of number 3. Let me write it again for clarification.
Data Source=tcp:DESKTOP-0DCQGE3,49172;Initial Catalog=dbposrpc;User ID=sa;Password=12345678;
Here SQLEXPRESS is the SQL Server instance name, DESKTOP-0DCQGE3 is the server PC name, 49172 is the TCP port that I selected as static.
How I resolved the issue?
I just cleared the solution, restarted the project again and everything worked fine for me.
I have recently accepted a project from a company. I have to display data from there database. I got the files on my local computer and created a program to their liking but when I replace the path and datasource in the connection string an error occurs. The error reads that
FirebirdSql.Data.FirebirdClient.FbException (0x80004005): Your user name and password are not defined. Ask your database administrator to set up a Firebird login.
So afterwards I copied the database on their local pc that has access to this remote server. I changed the connection string to where the DB is located on the local pc. Used the same username and password and then the connection worked.
A littile more about their server. The server is setup for a program which connects to their DB and runs on the server. The company's employees works from this program on their local computers. I do not have direct access to this server since the server does not connect to the internet at all. I used teamviewer to test my program.
So here is my connection string both the remote and local
The connection string that follow is for their network
connectionString = "Server=192.168.1.10;User=sysdba;Password=masterkey;Charser=NONE;Database=\\192.168.1.10\\DB\\DB.fdb";
The connection string that follow is for the local pc at the company I tested on using teamviewer.
connectionString = "Server=localhost;User=sysdba;Password=masterkey;Charser=NONE;Database=C:\DB\DB.fdb";
NOTE: I am not sure if the program the employees use might interfere with the one I created.
This might be too late but as a reference for the others, this is how I connect to the Firebird Database that is place in the other server.
This is the sample connection string if Firebird is installed in the same server:
connectionString =
"Server=localhost;User=sampleusername;Password=samplepassword;Charser=NONE;Database=C:\DB\DB.fdb";
So if it is installed to different server, just get the IP of the the server and location of the FDB file from the server. For example, server IP is 192.168.1.123, the following will be the connection string:
connectionString =
"Server=192.168.1.123;User=sysdba;Password=masterkey;Charser=NONE;Database=192.168.1.123:C:\DB\DB.fdb";
Just supplied the server IP with colon in front and the followed by the full path of the database. And for the server, just set the same IP Address.
I hope that this can help the others. Thanks.
Verify with isql if you can connect to the database, see this article
Verify your code with the example on the Firebird site
Check the aliases.conf
Use a GUI tool like IBExper to manage users and databases
Anyway is better, for security reason, to use another user instead of sysdba.
Passwords to firebird are local to the server (in its security2.fdb). If you copy the database to your local machine (this indicates lax security BTW), and access it through a local Firebird server, it will use the security2.fdb of that local machine. The sysdba password you have is valid on your local machine (it is the Firebird default).
Clearly the password on the server is different. You need to find out what the password is or ask their DBA to give you a specific account.
As to your comment on the other answer that the database is in a shared folder: do not do this. Firebird databases should be accessed by one (or more) server processes on the same machine. Clients etc should connect through the server, and not open a shared file. Trying to open a shared database file is blocked by default, but if done could potentially corrupt the database; also having a database on a shared folder is a bad security practice.
I have built a C# Project with SQL Server database
The connection string is
Data Source=(LocalDB)\v11.0;AttachDbFilename=C:\GadoLab\GadoLab.mdf;Integrated Security=True;Connect Timeout=30
I have put it on another computer for testing yesterday with SQL Express installed and put the program on the specified path as connection string but the program when i open it tells me that it can't connect to the database.
I also noticed that the SQL agent service isn't running and I can`t start it
what's the solution please?
The SQL Authentication mode is windows type
Few reasons of connection failures:
1. Wrong Connection String.
2. Lack of database existance.(Database does not exists)
3. Login Problems to database. (Wrong ID and password to database authentication)
4. Database is present on remote server and server is turned off.
There can be many more, but which one to apply in your case depends upon your code and exact situation of database.
I've an oracle server, already installed on a remote server.
I've installed oracle latest provider, to use them in visual studio with entity framework.
But when I'm trying to connect to the server, I got this exception:
ORA-12560: TNS:protocol adapter error.
I'm really new to the oracle world, and I cannot find what is the problem or even how to debug it.
I saw that listeners are ups, by doing a lsnrctl status I've my listener on the port 1521.
But, I saw that i've the security like this: "Security ON: Local OS Authentication", but since I've no common users between the server and the client, can it make somes troubles?
Should I have some specials rights on my user? In local, I can connect myself with the sqldeveloper tools.
Any help would be greatly appreciated
EDIT
Some more informations:
The server runs under windows, it has the OracleXETNSListener service started. I forgot to mention, but the server firewall is off.
Edit 2
I tried to download the oracle sql developer on my workstation, and I connected myself with exactly the same informations.(I just saw that in fact sql developer use a "base" connection instead of "TNS", which seems to be used by the EF?
I ended by using the devart connector: http://www.devart.com/dotconnect/oracle/
it worked for me directly in all mode(Direct or normal). If only I did tried it this morning, I will have loosed less time.
Are you using your tns names via AD or locally on your machine? If it's local then you'll need to make sure that you have the correct connection descriptors listed in the tns names file located in the default location - this depends on Oracle version.
There are known issues around entity framework and connecting to remote instances, but these can be overcome with a l
Using the Oracle Provider, your connection string should look something like this:
Data Source={serverAddress}/xe;User Id={UserName};Password={Password};
Example:
Data Source=localhost/xe;User Id=scott;Password=tiger
I suggest you to always mention the Oracle Instance Identifier (which in the Express Edition is always xe), so you don't have to rely on your tns config settings.
I'm currently developing a web application using asp.net c#. I got a server where I today was
going to publish my website and its database. Its a server that runs Windows Server 2008 R2.
But I have one issue:
My website doesn't seem to get access to the database. If I run the website from another computer on my local network I can access the server's database, BUT I can't when I run the website from the same server where the database is. This is really weird. I hope someone can help.
I just get an error that says, it can't access the database.
The most weird of all is that I'm using the same connection string on both computers, but it still doesn't work. Are there maybe some sort of settings in Windows Server 2008?
Here is my connection string:
<add name="ConnectionString"
connectionString="Data Source=AXELS;Initial Catalog=Sailor;Persist Security Info=True;User ID=sa;Password=saab123"
providerName="System.Data.SqlClient" />
Since the connection works on one machine and not on another, I'd guess you have an issue with a firewall or similar - but it will be hard to tell until we see the actual error message. Until then, there are a few things you might want to do:
If it appears as if the connection has to time out before you get the error, it indicates a connectivity problem. Do you have a firewall between the two servers? Does the database server have a firewall that explicitly lets your machine (or internal) machines get through, but hasn't been setup to let the webserver get through? You have to make sure that port 1433 is open on the server.
Are there other sites on the webserver that can connect to the database?
If you have console access to the server, try to set up an ODBC from the server to the database - usually in Control Panel -> Data Sources (ODBC). If you set up a connection with the same DB Server, username and password and test the connection, you might get some pointers to what is wrong.
If the above doesn't provide you with an answer, I'd try to go through the steps described here:
http://blog.sqlauthority.com/2009/05/21/sql-server-fix-error-provider-named-pipes-provider-error-40-could-not-open-a-connection-to-sql-server-microsoft-sql-server-error/
And if that fails, take a look at this - which is apparently only valid when you get SQL Network Interfaces, error: 26
http://blogs.msdn.com/b/sql_protocols/archive/2007/05/13/sql-network-interfaces-error-26-error-locating-server-instance-specified.aspx
This is probably a permission problem.
You need to show us your connection string so we can see how exactly you try to connect to your database.
For example, if you are using Windows authentication, maybe your app runs under different accounts on both machines - and the account on the other computers has permission to access the database, but the account on the database server has not.
Have you checked the if the protocols you are using are enabled on the SQL Server e.g.
C:\Windows\System32\cliconfg.exe -- 64 bit version
C:\Windows\SysWOW64\cliconfg.exe -- 32 bit version
or check SQL Server Configuration Manager 'SQL Server Native Client *' tabs.
This is only applicable if you do not use Windows Authentication, else read the post about priviliges from Christian Specht - in this case I agree.
The fact that you can connect from another PC on the network means that all you database settings, user accounts and permissions are probably set up correct.
It seems there might be a issue with the way the server resolves localhost, as it will try to resolve the Data Source to localhost because AXELS = localhost on that machine.
Have a look at your hosts file and see if there's any funny pointers except for the default.
Located in C:\Windows\System32\drivers\etc
There should be an entry: 127.0.0.1 localhost