database installation.... is this possible?
I have minimal, but some, experience with db's. However, part of the problem that I have with them is that any time that I want to use them, I have to install the odbc connection (I think I'm using the right terminology) anyway, the point is... is there anyway to have the program (written in java or C) to automatically install the driver so that someone with almost no computer knowledge can use it?
thx in advance
c'mon... I know that someone here has to know the answer to this.
You can connect to Dbs in few different ways. standards (ODBC, JDBC, ...) and natively, being drivers specific to a given DB (Oracle, Sybase, DB2, ...).
If you want to use ODBC to connect to a DB, you need to configure the DB as an ODBC DB. Once the Db is configured as an ODBC datasource, any ODBC client can access DB.
Anyway, I'm not sure of your question. If you want something to connect to a DB, the DB must exist. This implies the DB was installed, configured (ODBC
???), schema created, data imported, all that fun stuff a DBA performs. This process can be easily automated, to some extent. So...
From what I have provided, this should not be the case. Once the ODBC datasource is created, you basically access the DB through the ODBC standard.
part of the problem that I have with them is that any time that I want to use them, I have to install the odbc connection
If you are constantly accessing new (or new to you) DBs, and you want to use ODBC, then you need to configure each as an ODBC datasource, else you can't use ODBC.
Use what, the driver or the DB. Define 'almost no computer knowledge'. Can they use a browser? There are a bijillion examples of accessible DBs for ones with little knowledge. Try cdnow.com and use the search function. You have just accessed and searched a DB, without installing a driver I may add.
install the driver so that someone with almost no computer knowledge can use it
ok, qball, bare with me, cause I've read some of your other posts, and I can all but guarantee that you know a whole $hitlo4d more than me about this stuff!
anyway, If I remember correctely (and I may not) I remember having to go into the control panel (win98) and selecting the jdbc/odbc option (btw, I don't know the difference b/t the two) and having to install a driver to allow my java program to connect to an access or text db. once I installed this one driver, I could use that driver in any program to connect to any access db that I had on my system. However, If I put the program and the db on another system, it wouldn't work unless I once again installed the driver on that system as well (and gave it the same name of course)....
now what I'm asking is if there is a way to have the java program (or whatever language) automatically install the driver on the system when it runs the first time (eliminating the step where I had to manually go to the control panel and add the driver -- this was the part that would help people with limited computer knowledge). An example of when this would be helpful for me is if I want to put an applet on my schools server and a db to go with it (school doesn't support .asp). It's a major hassle to contact the school and find out what their rules are for this sort of activity. Instead, I would prefer that I could just run the applet, have the proggie automatically install the driver, and then whoever used the applet from whereever could access the info in the db. I also know that most servers have all sorts of security measures to prevent this sort of installation for security reasons, however, I just want to know if there is a way to do it.
the point of this whole thing is just me learning how this stuff works. I am well aware of just how much db's permeate out computer experience (the cdnow.com ex.), but I just want to learn more about how it works.
another possiblity that just occured to me is that the odbc/jdbc standard is already installed on most machines (running windows), but may have a different name depending on what the actual OS is. this could be a problem because the coding of the program needs to call the driver by it's specific name.
anyway, I'm sorry that I'm sort of all over the place on this question, but it just seems like there's a whole lot of explanation needed so that you get the gist of my question. besides that, it's not a yes or no question.
thx for ur help,
mo worries, mate.
ODBC (Open Database Connection) is basically Microsucks DB connection standard. JDBC (Java DB Connection) is Sun's Java DB connection Standard. JDBC is ODBC compliant, plus another 151 drivers. I'm actually impressed, 152 drivers.
Anyway, you need to understand the difference between Access and real DBs. You can create an Access DB that fits on a floppy and drag it around. For a real DB, this is not possible. A real DB will most likely reside on a server with lotsa resources and be accessed by numerous clients. Basically its location is central. Once a client is configured, then it just accesses the Db when needed. If new clients come online, they need to be configured. This configuration process seems to be the issue. I can tell you from experience you can automate this process programatically. Using WindersAPI calls you can register an ODBC datasource. Java, being platform independent, needs a little hepl with JNI.
So what does all this mean? I don't know. Your program will need the appropriate info to install any driver or datasource. If you want to access proprietary DBs (the one on the diskette) willy-nilly all over the place. Use Access on each client. If Access doesn't exist, then install Access. Hopefully this accentuates the point.
Real DBs need to be administered for data integrity, security, performance, etc. If you want to use DBs, you or someone else needs to adminster them. DBAs, well good DBAs earn their money and have ways of managing DBs effectively.
Lastly, as far as ODBC is concerned, the drivers have the same name, either the access driver is installed, or it isn't. Therefore, your app knows and loads the appropriate driver for Access DBs (or Oracle, or DB2, or Sybase,...) The ODBC datasources are a different story and I believe they need to be registered once. This is how ODBC works and has slowly been slipping into obsolescence, but that is another story.
When u say a real db, r u referring to something like oracle? Now I know that Access pales in comparison, but are most of the basic concepts the same? I mean, I know that you can use sql to communicate with an access db using the jdbc driver, so can u do the same thing with an oracle db?
also, like I said, I will probably never need to do anything that requires a db stronger than access, but I'm just trying to understand it better.
lastly, I'm still sort of at odds with one of the uses that I mentioned the need for a db. I want to create a web page that runs an applet (so no client side configuration is needed assuming the browser is capable). this applet will have the ability to communicate with a db that also resides on the server. the problem lies in the fact that I do not have any sort of administrative control over this server. I ftp into it, upload, and that's all I get (it's a service provided by my school). So what I'm getting at is whether or not it is possible to have the applet access the db (whether it be a .txt or access db) without knowing what the name of the jdbc driver is on the unix server?
BTW, Access is a real DB, kinda, sorta as I stated, some big companies feel it is sufficient for their needs. I would never recommend Access as an Enterprise (company wide) solution, unless the enterprise is less than 5 people, and the data isn't that much, and security isn't an issue, and speed isn't an issue, and, balh, blah, blah...
A real DB is Oracle, Sybase, SQLServer, DB2, ASA, etc..., implies strong security, users and privileges, etc.... All of these DBs and the 'non' real DBs support some form of SQL. There are a few versions of SQL, which is an ANSI, ANSI standard, confusing taint it? Anyway, for example Oracle uses PL/SQL.
Now, knowing SQL, the concepts are the same, basic SQL (insert, update, delete) is pretty straightforward and will work with all SQL compliant DBs. You need to understand that SQL is not the real issue, connecting to the DB, is the issue. Whether through ODBC, JDBC, you need the driver for the DB to which you are connecting, period. Once you have that, the connecting and executing SQL statements are fairly easy.
Now, for your purposes, you need the server's compliance. Meaning, if the server doesn't allow access to a DB, through whatever means, your SOL.
If you want to create a webpage that accesses a DB, then you need to decide the best course of action. The server and functionality allowed by server will determine this. By far the best way to do this, is server side processing for DB access. This is virtually invisible to the client, and since we control the server side processing, we'll just output HTML. Therefore all browsers are compliant. A java applet is client specific and can be problematic. This requires the server/s to support not only the DB we are using, Access incuded, but whatever we use for server side processing (scripting, CGI, EJB, java).
So, let's review. You have a UNIX web server at school. You have storage access to this server, for html pages and the such and you can get these pages through a browser using an URL. If you want to get your HTML pages to access DB, you need the server, or at least the web server residing on unix box to allow you to do this. Find out who admins these unix boxes and hopefully get their help. Doesn't seem like much of a learning environment if you just get web server.
Short answer. Even if you have the storage and access to web server and can ftp your Access DB to server. You need the web server to allow other processing, which thus will access DB dependent upon browser requests.
Get back iffin I'm still confusing.
New Security Features Planned for Firefox 4
Another Laptop Theft Exposes 21K Patients' Data
Oracle Hits to Road to Pitch Data Center Plans
Microsoft Preps Array of Windows Patches
Microsoft Nears IE9 Beta With Final Preview
Simplified Analytics Improve CRM, BI Tools
Android Passes RIM as Top Mobile OS in 2Q
VMware Updates Hyperic System Management
File Monitoring Key to Enterprise Security
LinkedIn Snaps Up SaaS Player mSpoke