Windows form application build in C# is unable to fetch the data from Oracle database without Oracle Client installed on the system, whereas the same exe build with Delphi7 platform + ODAC fetches data from Oracle without Oracle Client installed.
Can anyone explain the reason??
Connection with Delphi may be possible since it will be using BDE or Third party component like ToracleSession,TOraSession . These components do not require Oracle client installation.
Refer Following link for example --
https://www.devart.com/odac/faq.html
Refer Below link to connect to oracle without using oracle client.
https://begeeben.wordpress.com/2012/08/01/accessing-oracle-database-without-installing-oracle-client/
Related
I have a windows service application written in .net 3.5 that needs to know when data is added or modified into an Oracle Database.
Currently the service does some awkward bit of polling that is both slow and buggy.
This might be what you are looking for - Using Database Change Notification With ODP.NET and Oracle Database 11g
http://www.oracle.com/webfolder/technetwork/tutorials/obe/db/hol08/dotnet/changenotification/odpnetchg_otn.htm
I need your help to answer a question.
I coded a basic c# portable exe application that uses an Access Database on a server computer. On the network there are some client computers that runs this application and retrieve and store data via this database placed on the server computer in a shared folder. Every client coputer can access my database with this connection string:
#"Provider=Microsoft.ACE.OLEDB.12.0;Data Source =\\ANKFILESERVER1\aractakip\DatabaseAd.accdb
So far, there has been no problem. But as known, Access (Oledb) database has a limited capacity to save datas and since i'm worrying that someone change or delete my database files -authenticated for everyone- i decieded to use another database platform like postgresql.
My question is, if i install postgresql on the server computer and migrate my database tables, Are every client computers needed to install postgresql to access my database tables? If yes, what should be my connection string?
Thanks in advance.
You will need a client driver - like psqlODBC - installed on each computer that connects to PostgreSQL via MS Access, yes.
You can install psqlODBC separately, or using the main PostgreSQL installer. The separate psqlODBC-only installer is an msi that can be deployed over Active Directory, making management easier.
The connection options are covered in the psqlODBC documentation.
Microsoft Access is really written for the Microsoft JET / OLEDB engine, and to communicate with Microsoft SQL Server. It works with PostgreSQL, but it doesn't fully "understand" all PostgreSQL's features. It also does some things in totally non-SQL-standard ways that work on MS SQL but do not work on PostgreSQL. So it can be awkward to use MS Access with PostgreSQL due to things like Access not really supporting SEQUENCEs properly. Note, though, that I haven't used Access since Office 2008, so things may have improved.
I have one WinForm Application which using MS-SQL server As Database.
now off course Database i have created on my PC(Developer's PC) is not available on Client PC where i will install my Application.
Then what is the best criteria or practice to Add Database at Client PC's MS-SQL server.
So i can access it my Application.
Please Help....
Thanks.......
Depending on the actually size of the database, I would suggest you use SQL Conpact provider as you won't then need to worry about the whole setup process of installing SQL Server.
Good article to get started using Sql Compact
First you need to ensure that MSSql server is installed in the Clients PC. Assuming you have that taken care of, you could add Custom actions during installations which would execute the script to install the Database on the Client machine.
The exact way to do that of course depends on how you are creating the Installer Program.
I have written a Windows Forms application in C#, .NET framework 2.0, that uses System.Data.OleDb to talk to an SQL Server 2000 database, which is working fine. I now need to enhance the application to talk to an DB2 database on AS/400. Is this just a matter of configuring the connection string, or do I need additional driver software (where from) and/or references in my project?
I would like to still use OLEDB, but with DB2.
Edit: I downloaded the Microsoft OLE DB Provider but was unable to install it onto my desktop development PC because I do not have SQL Server installed. This provider seems to be only for integrating SQL Server with DB2, whereas I want to integrate a Windows Forms application with DB2. Is there a different download location for an OLE DB provider that does not require SQL Server, which I can use from a Windows desktop?
You will can use Microsoft's OLEDB for DB2 provider for this. Also the connection string will change.
Like:
Provider=DB2OLEDB;Network Transport Library=TCPIP;Network Address=xxx.xxx.xxx.xxx;Initial Catalog=MyCtlg;Package Collection=MyPkgCol;Default Schema=Schema;User ID=myUsername;Password=myPassword;
Or you can use IBM's own IBM OLE DB Provider for DB2 that works without SQL Server.
You should look at Connection strings for IBM DB2 for all other providers and their configuration.
I have to develop a tool in C# that retrieves some data from an Oracle DB. Since our IT support is having some trouble with installing the Oracle client, I want to be able to connect to the database without the client installed.
The idea is to just install (and maybe register) an additional library together with the app.
Which alternatives to the Oracle client exist, and what are their pros and cons?
This is for a small application (1 form, 2 or 3 queries, the result displayed in a DataGrid, probably no more than 10-20 data sets), but I am also interested in scalability issues, since we may also move away from the Oracle client with bigger future projects.
Of course a freeware solution would be nice, but we are not limited to that.
Your task can be achieved without the need of any third party software:
Install Oracle Data Access Components 11g in your development box. ODAC 11g is backwards compatible with 9i and 10g
Add a reference to the ODAC library in your .NET projects (Oracle.DataAccess.dll).
Allow your application to connect without the use of TNSNAMES.ORA. To do so, you have to include the connect descriptor in the connection string:
"user id=scott;password=tiger;data source=" +
"(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)" +
"(HOST=sales-server)(PORT=1521))(CONNECT_DATA="+
"(SERVICE_NAME=sales.us.acme.com)))"
Since you are including the connect descriptor in the connection string, the thin client is not required in the targeted computers.
Happy deployment.
There are a couple different flavors of the Oracle ODP.Net driver. Which version are you trying to use?
It sounds like you want the Oracle 11g ODAC 11.1.0.6.21 with Xcopy Deployment, which allows you to deploy the Oracle Instant Client and the ODP.Net driver just by copying a few DLLs over and registering them. That doesn't require a full-blown Oracle client installation.
Oracle currently has a version of ODP.NET that is fully managed, allowing developers to connect to Oracle databases while referencing only a single DLL. There's more information here.
Current releases can be found here.
The enterprise library client System.Data.OracleClient is a viable alternative to the ODP.NET provider from Oracle. There are severla caveats you should know though, using the Microsoft client will make it extremely difficult to work with any type of large objects whether they are XML strings, CLOBs, LOBs or BLOBs. Also the Oracle XmlType column is not supported and must be casted to a CLOB to be returned into the OracleClient.