JavaFX : where to put portable database file for application - ms-access

I am designing a JavaFX application with MS Access database for both Windows and Mac Platforms. My local friends suggests that I place the database file under "user.home" folder. Then, the database would be under "C:\Users \
{Username}" folder. But, would it be accessible for another user of the windows or mac?
And one more confusion, is it possible or considered best practice to deploy JavaFX application to for all users of the system. I have only found out that JavaFX self-contained applications are all installed for one user only.

Related

Windows phone 8.1 app connect with a database

I'm totally new to the windows phone 8.1 app development.
I'm trying to develop a simple app with a database using visual studio 2013. It is not a silverlight app.
my app just have a text field and a button.And i have a MySQL database in a local server(WAMP).
I need to get a input from the text field and store it in the database.
First thing that I want to know is it possible to do?
If it is possible I would be very grateful if you could provide a step by step guide or a link where i can learn about this.
If it is not possible what are the other ways that I can try to store my input in a database?
Local storage
I'm guessing you're looking for a way to store structured data locally on the phone. AFAIK, MySQL is not supported on Windows Phone (MySQL is big, runs as a server, and it wouldn't be possible or practical to "install" it onto a phone). Instead what Microsoft endorses is to use SQLite. You'll first need to download the SQLite library as a Visual Studio extension. Then you'll need to install something like SQLitePCL (from NuGet) which essentially wraps the native SQLite library so that it is accessible from .NET languages. Make sure you add both references to your project. SQLite stores a database as a file that you can put in the local storage for your app.
Remote storage
I'm not sure if it's directly possible to connect to a remove MySQL server from a WP app. Usually you'd access a remote database through a webserver that exposes an API for you to use (e.g. a REST API). You can then send data to the webserver via a HTTP POST request, and then your webserver will store the data in the database. This is a big topic, and involves knowledge of server-side programming such as ASP.NET, Ruby on Rails, Django, PHP, etc. This topic is too broad for me to give you specifics on how to do this. See this answer.

Microsoft Access to web based format dynamically

I am sure there is a solution out there, but have not been able to locate anything that achieves the exact specifications I need.
I am looking for a web based script/application that can convert a MS Access database to text/csv any form of readable file.
The reason I need it to be web based is that our management currently uses an access database software package to create and track user data. They export a subset of the tables required for user registration (via a mdb type saved as a different extension). This is currently processed through the software providers website. The problem being that the software provider no longer provides developmental support for the registration forms.
We do not wish to change the entire foundation of the Access database and if at all possible I just want to provide a solution that opens and converts the uploaded file (mdb type) and converts it to a text schema, or anything really that will enable us to dynamically generate web based forms for the tables uploaded.
Well you certainly could cobble together something yourself.
However the hosted web site would for all practical purpose have to be running something like ASP.net and ALSO support the reading of mdb/accdDB files.
I mean most web sites that support the JET/ACE database engine in 99% of the same cases also support .net code.
If you're running your own web server and especially asp.net then this should be no problem.
However you don't mention if this is your own web server or a hosted one? And you don't mention what kind of hosting you have?
Remember your web site runs on a computer. That computer could be a Mac computer, a windows computer or Linux. And you simply install software + programs onto that computer like a desktop computer.
If that computer is Linux based then you not going to be able to install say your vb.net software on that web site. So what kind of computer and OS your web site is running on will DETERMINE what kind of software it will run.
If your site is currently an asp.net hosted site and they support reading of Access files (has support for JET/ACE) then I don't see why a bit of vb.net (or c#) application could not be written with little effort to have that file uploaded and then the contents read.
I think before go looking for some software to do such a conversion I would FIRST find out and figure out what computer platform your web site is running on now. You THEN need to find out if that computer hosting the web site has support for JET (now called ACE) data engine.
It is a walk in the walk in the park to have some code open + read the mdb or accDB file and send that data to the web sites SQL server. However you can ONLY do this if your site in question has support for the JET/ACE database engine. (or you have your own server and you are ALLOWED to install the JET/ACE engine).
So a solution program (off the self) does exist then AGAIN 9 out of 10 times such a solution will REQUIRE that the JET/ACE engine be installed on your hosted web site.
So just keep in mind that like windows or Mac computer or even a tablet computer – the web server is EXACTLY the SAME in regards to WHAT software will run on that web site.
So without knowing what kind of web hosting you have then it becomes rather hard to suggest a working solution that will be able to run + be installed on your web site since we don't even know what kind of software can be installed on your web site now?
If you current web hosting does not allow the JET/ACE data engine to be installed it is VERY unlikely that EVEN if you found some software that does a conversion for you then such software will NOT install on your existing web site.
Any competent asp.net developer should with quite ease allow one to select a local mdb file, upload to server and then have web code open up the mdb file and pull out table data to sql server.
The only real thing stopping this process is as noted what kind of web server you have and what kind of software it will run.
Keep in mind the issue is OFTEN what kind of software you can install on the web server.
Just about every web provider allows managed code (c# or vb.net) code to be up-loaded on the server to be run. However installing NON managed code like the JET/ACE database engine is a VERY VERY different matter.
Starting point:
You need a web provider that supports the JET/ACE database engine or you need to be running your own web server that allows you to install the JET/ACE database engine.
Furthermore how would the software you install know the table names in Access and also know the table names in SQL server and also where to send the data?
At the end of the day all of the software bits and parts rather common exist if you have your own ISS server with asp.net. And if your provider is using asp.net AND ALSO supports JET/ACE then AGAIN you have all the software required.
As such then your code can use ftp or even HTTP to upload that file. All of these features are built into the .net framework assuming your web hosting provider allows asp.net + JET/ACE.

Deploy Qt application that uses MySQL

I am thinking about developing an application to store a movie database, allowing the user to store information about which movies it owns, which movies it wants to see, etc.
I was thinking of developing this application with the Qt framework and using MySQL to to the database part.
However, I have a few questions. When deploying my application on other machines, won't I need MySQL installed there too? Or will the .dll suffice?
Can I connect to a database that does not exist, on a machine that does not have MySQL installed?

create and restore a mysql db using a setup project (installer) in VS.Net

What is the best practice for creating an installer for a winform application.
The application is supposed to install the following without connecting to internet.
.Net Framework 3.5sp1
MySQL Server
My SQL Connector
Restore Mysql db
Update Config file with the MySQL uname/pwd.
I have all the msi files for installing the above mentioned items. But am wondering about the best practice to create the installer.
Thanks in advance,
Hi I came up with a similar situation. Firstly you should have .NET framework offline installer which can be downloaded from http://www.microsoft.com/downloads/en/details.aspx?FamilyID=992cffcb-f8ce-41d9-8bd6-31f3e216285c. I assume you are using visual studio installer. There are couple of choices but I prefer to copy the offline .NET installer to the setup projects output directory and from requirements on target machine tab I set the install URL property of .NET framework the exact name of offline setup file. As described in the figure.
So the installer does not try to connect to a remote computer to download .NET framework and install it however I think it is more appropriate that it connects to a Microsoft server and installs it. Anyways the next step is to configure the MySQL server. MySQL is really generous for me since they support a fully documented noinstall files. You can find the document here: http://dev.mysql.com/doc/refman/5.5/en/windows-install-archive.html
Using a noinstall zip archive you can copy the dbengine core files to any folder on the clint machine. And change the configuration parameters of MySQL. You can name the MySQL service anything you want. Start the the service and create tables. You can do all of this stuff from custom actions tab of the setup project choosing the appropriate script files or you can write code for it. The beautiful thing is that your customer does not need to know that he/she is installing a database engine on the target machine. I hope this helps. Thanks.

Microsoft Access 2002 Package Deployment Problem

I've created a split Access database application and used the packaging wizard to create a deployment package. All the files are installed by the deployment package into C:\Documemts and Settings\All Users\Application Data\Provision Manager, this is too avoid Windows Vista not allowing write access to the Program Files directory.
The application installs OK on both Vista and XP and creates a Provision Manager entry in the Program Group in the user account that installed the application, however when I login using another account (both Admin and non-admin ones) the there is no Provision Manager item listed in the Program Group.
Can anyone enlighten me as to what is going on here and more importantly how I can ensure that the deployment package creates a Program Group item for each user account.
Thanks
Marc
To ENSURE that the package has created the right Program Group, look in All Users/Start Menu/Programs because these programs are automatically placed in every user's Start Menu when they log in. Similar for Desktop shortcuts, place them in All Users/Desktop
The fundamental problem (and it's not really a problem but a feature) is that MS tightened up security in Windows Vista. Users are no longer allowed to update the All Users Start Menu/Programs or Application Data folder. Only administrators can update such as using instllers. Now that's mostly fine for the shortcuts to Access FEs. The real problem arises with the FE MDB/MDEs as users pretty much have to have read/write/create/delete (although strictly speaking create/delete privilieges are only required for LDB files.) So those can't be installed into the All Users folders.
The solution is to split the runtime install into two components. The administrator types install the actual Access runtime into Program Files along with msaccess.exe , etc, etc.
Then you have a second install with the users can run which puts the Access FE MDB/MDE, and other files in the Current Users Applications Data folder along with shortcuts on the desktop.
If the users are on your local LAN you could use the free Auto FE Updater utility to handle the FE installation for users.
If the users are remote then you can use the Sample inno script which checks to see if a version of Access is installed. If not it tells you to install a runtime version of Access. If installed then it continues to install your FE MDE and other assorted files.
http://groups.google.com/group/microsoft.public.access/msg/10e3fc9234660872?hl=en
Sample inno script which "wraps" the package wizard install into a single .exe
Deploying updates to your software in a Runtime environment for Access 2007