I am using my_database.accdb as database in my window form application...I want to install it on my client machine without installing ms office.How can i achieve this.I'm using OleDb as connector in my c# application.
you don't have to install ms office in the pc, all you have to do is installing Microsoft Access Database Engine. You can download it from :
Microsoft Access Database Engine
According to Microsoft :
This download will install a set of components that facilitate the
transfer of data between existing Microsoft Office files such as
Microsoft Office Access 2010 (*.mdb and .accdb) files and Microsoft
Office Excel 2010 (.xls, *.xlsx, and *.xlsb) files to other data
sources such as Microsoft SQL Server. Connectivity to existing text
files is also supported. ODBC and OLEDB drivers are installed for
application developers to use in developing their applications with
connectivity to Office file formats.
The Access Database Engine 2010 Redistributable is not intended:
As a general replacement for Jet (If you need a general replacement
for Jet you should use SQL Server Express Edition). As a replacement
for the Jet OLEDB Provider in server-side applications. As a general
word processing, spreadsheet or database management system -To be used
as a way to create files. (You can use Microsoft Office or Office
automation to create the files that Microsoft Office supports.) To be
used by a system service or server-side program where the code will
run under a system account, or will deal with multiple users
identities concurrently, or is highly reentrant and expects stateless
behavior. Examples would include a program that is run from task
scheduler when no user is logged in, or a program called from
server-side web application such as ASP.NET, or a distributed
component running under COM+ services.
Related
I developed a "Reporting App" on C# that creates reports (basically on .doc's and .ppt's formats (using the MS Office interops libraries)) based on some parameters received from the user. Everything works as expected when the app is executed on a Windows Server or computer. The problem is that one costumer's server is Linux based. Is it possible to create Office documents on a Linux environment? Any ideas how?
I am currently using these libraries:
Microsoft.Office.Core
Microsoft.Office.Interop.Word
Microsoft.Office.Interop.PowerPoint
Please help.
You can use the open XML SDK for cross platform or cases when Office is not installed on the hosting machine
Our web application using oledb for excel import and export, we have install microsoft.ace.oledb.12.0 provider on the local machine, but we have published the website on azure web app , so how to install microsoft.ace.oledb.12.0 provider on azure web app.
please help us.
how to install microsoft.ace.oledb.12.0 provider on azure web app.
TL;DR: You Can Not.
Slightly longer: you do not have the access to the underlying machine or operating system necessary to install COM components. You need to either use a different (non-COM) component that can do the same thing or use a VM where you do control the OS. (Using containers for app services is in preview which might give you another approach, customising the OS as part of the publication of the container.)
Also, Office components are specifically not supported for use in non-interactive processes (eg. web apps), so even if you can use the component you may have odd issues (whether the OleDB provider falls into this classification is unclear).
I was with the choice of SQLite as database for easy distribution of my offline c# desktop application (WPF / Winforms) but currently cornered to MySQL database due to IRD certification.
My main concern is that I want to know If I could use MySQL database for offline desktop application and distribute .exe via URL for easy unattended installation.
Is it possible?
As shown on SQLite's page Appropriate Uses For SQLite, a client/server database like MySQL would work better for client/server applications, high-volume websites, very large datasets, or high concurrency. Nothing of this applies to your offline application, so you should use a database that was designed to be embedded (not necessarily SQLite).
MySQL has an embedded server library which can be linked directly into an application. When using C#, the MySQL library is linked into the .NET MySQL database driver, so using the embedded server would require recompiling this driver. And such linking will trigger MySQL's GPL license. And:
The libmysqld embedded server library is deprecated as of MySQL 5.7.17 and will be removed in MySQL 8.0.
It would be possible to install the standalone MySQL server yourself; this is described in Installing MySQL on Microsoft Windows Using a noinstall Zip Archive.
However, this would still run the MySQL server as a separate process or service, and this could conflict with other installations on the machine; it would be your installer's responsibility to configure that MySQL instance correctly for whatever environment it encounters on the target machine.
I'm working to create and read MS Excel file in asp.net web application.
I'm not sure that it requires to install Microsoft Excel on server or not.
I don't want to install any licensed product on the server like MS office etc.
Please let me know how i can implement this functionality without installing MS Excel on the server or it is necessary to install MS excel on server?
Thanks
It depends on what you're doing, but more than likely, all you need is the Microsoft Access Database Engine.
This download will install a set of components that facilitate the
transfer of data between existing Microsoft Office files such as
Microsoft Office Access 2010 (*.mdb and .accdb) files and Microsoft
Office Excel 2010 (.xls, *.xlsx, and *.xlsb) files to other data
sources such as Microsoft SQL Server. Connectivity to existing text
files is also supported. ODBC and OLEDB drivers are installed for
application developers to use in developing their applications with
connectivity to Office file formats.
Edit, in response to
I just want to read and write MS excel files but i don't want to install anything on the server.
You can try EPPlus, which seems to solve your problem; though I've never tried it.
EPPlus is a .net library that reads and writes Excel 2007/2010 files using the Open Office Xml format (xlsx).
No it isn't necessary to install a full version of Microsoft Office. You can just use ODBC or OLE to open the files, provided you just need to do simple operations like read rows in worksheets (as if they were tables).
Use http://www.connectionstrings.com/ to look up the various .NET ways of accessing Excel using ODBC and OLE.
Effectively you need to treat the .xls and .xslx files as if you were querying an SQL database.
I'm facing one issue, actually I need to create one application in C# using VS2012, .Net framework 4.5 which reads excel and do some operation, but the issue is target machine doesn't have MS Office client installed on it.
And one restriction is I can't use the other open assemblies like Open XML etc. I have to only use the 2010 PIA.
It'll be great if someone can explain me how can implement this?
This can not be possible without installing MS Office on server. To use PIA you have to install the MS Office on server. Otherwise, if you doesn't want to install MS Office on server, it's better to use Open XML.