Welcome, Guest: Register On Nairaland / LOGIN! / Trending / Recent / New
Stats: 3,150,830 members, 7,810,189 topics. Date: Friday, 26 April 2024 at 10:54 PM

Database For My Workplace - Programming - Nairaland

Nairaland Forum / Science/Technology / Programming / Database For My Workplace (3632 Views)

I.T Certifcations Vs Degrees In The Workplace / Generating Crystal Report With MYSQL Database For A VB.NET Application / Please Help. How To Create A Database For A Car Rental (2) (3) (4)

(1) (Reply) (Go Down)

Database For My Workplace by doshbass(m): 2:35pm On Mar 18, 2006
Hello people I need suggestions for building a databse for my workplace. To cut the whole story short, i work for a uk government organisation in London.  I do not have any control over the network. The only option i have for running a databse is from a shared folder, I do not have permission or accesss to the server. which means i am forced to use Microsoft access.  For us to run a proper database on the server we have to go through a long process by developing a business case, and giving the program to our IT infrastructure provider, who will now test it and most likely turn it down, they prefer to build it themselves or be involved in developing which will be a serious amount of money, and time

i have to build 4 powerful  database with up to 150 fields in each of them for research and quering purposes and i am seriously not feeling access.

what options do i have

what problems will i Face using Microsoft access running from a shared folder

and can Microsoft access really help
Re: Database For My Workplace by cabali(m): 5:30pm On Mar 19, 2006
i use acess as well but am more into oracle,

I am def sure oracle will get it done. it is kinda close to acess. u will also need knowledge in SQL as well good luck
Re: Database For My Workplace by TYPOP(m): 8:11pm On Mar 19, 2006
I think its better you try it with a very small database first b/4 putting all ur eggs into that basket.
Re: Database For My Workplace by doshbass(m): 9:11pm On Mar 19, 2006
I know i can use oracle but, can it run from a folder, and we dont have oracle installed on our computer network
Re: Database For My Workplace by Zahymaka(m): 9:14pm On Mar 19, 2006
Since you intend to run it over a network I suggest you use one of - Microsoft SQL Server, PostgreSQL, MySQL or Oracle. Speaking of practicality, since your organisation is small and doesn't need too much wahala I suggest you go for SQL Server because it's similar to access. Personally I use PostgreSQL and MySQL but the learnng curve is a bit steep.
Re: Database For My Workplace by doshbass(m): 9:26pm On Mar 19, 2006
I am sure we have all these on our server, but i do not have access to our server, My department cannot put anything on a server, we only run files from a shared drive
Re: Database For My Workplace by Seun(m): 2:52am On Mar 20, 2006
Assuming you are not a programmer, which means you won't be able to build a GUI on top of a an Oracle or MS SQL database, then the best choice for you will be MS Access. MS Access works well on shared folders.
Re: Database For My Workplace by sbucareer(f): 3:02am On Mar 20, 2006

doshbass, it is a shame your company do not advocate personal contribution towards the development of the company software. But, if you are seriously thinking of developing application, you have to ask yourself this question.

1. Is the application for personal use?
2. Would the application be used by many people in the organization?
3. How is the application going to be accessed?

Now, let say your application is going to be used by you alone. You are better off with access database. Why? Because access database do not have connection pool management, although you can write an DAO (Data Access Object) if you want to manage the pool yourself. Beside access do not scale well in view to many users.

You will need a way to access the database by creating access forms using VB or other language of your choice.

Secondly, if your application is going to be used by many people in your organization and your DBA would not give you access to the companies database, then you need to create the relational tables and convert it to a datasource.

To convert your database to datasource, simply go to start----program files---control panel--Administrative tool--Data Source (ODBC) and select File DNS. Select the driver and click add and locate your database file and save it.

Now you can put the datasource on the public/shared folder and create your application file to access it. Normally if you are developing the application for many people to access it you need a web application (HTML) or you can write a form using VB and copy the application to share folder so users can download it and use it. With HTML people can access it through URL.

Finally, if the application is for yourself you can just create the relational tables and use User DNS from the Data Source (ODBC) from control panel and call your database from there using any choice of the application i.e. web or desktop application.


I hope this helps, good luck and let me know if you run into further problem.

Re: Database For My Workplace by sbucareer(f): 3:21am On Mar 20, 2006

Remember that where you created the database is the machine you would use in the application software. Example

If the database is in a machine IP 192.168.12.125, you'd following these steps, in the browse use \\192.168.12.125\folder\datasource

Re: Database For My Workplace by doshbass(m): 11:32am On Mar 20, 2006
@sbucareer

I work for the Home office and the Home Office have their General IT Contractor, I work for the parole board which is within the homeoffice. The Homeoffice spends a lot of money on it, but they see our departments project as little compared to other General IT Projects. Each department can build tere own database around what is available to them which is a shared folder. This software will be used by 50 people at the same time, through the shared drive folder and the databse will not be connected to any other databse. I am good at VB programming, but i can't use that due to resources. I do not have permission to install exe files. I dont have permission to access the administrative tools in the control panel. i know it sounds crazy, i dont work for the main IT department (contractor)of the homeoffice, i work for a little IT department of a homeoffice department
Re: Database For My Workplace by Seun(m): 12:12pm On Mar 20, 2006
Use MS Access and all will be well. Good luck!
Re: Database For My Workplace by sbucareer(f): 2:36pm On Mar 20, 2006

Seun you really have to do something about this. The forum connection keep cutting of especially when I have reply a lenghty post and click on submit to find out the server is down and loos all the comments. As you are good with PHP you should customize this software to have some sort of persistence while you are typing into the forum textfiled in case your network goes down someone can recover at least some of there comments.


doshbass, I have lost all the comments I wanted to send to you earlier but let me try again and hope the connection do no cut-off.

Eeeemh,  ok try and create all your database at home, using your full administrative PC and copy the datasource into a USB stick. While at it develop some VB forms to access your database and pack it as .exe or .dll file, again copy it into your USB stick.

When you get to work copy the files from the USB stick to the network drive and right click and hide the datasource file.
Ask the 50 users to create a shut cut from the shared folder to their deskop either to .exe or .dll files so that they can execute the file and start using it.

Another way is to tell your Webmaster to create account for you with a default quota i.e 40Mb space. Code some HTML file(s) to access the daatasource and ftp into your web account and upload your HTML files and give the users the URL to access the application

Here is a way to connect to a remote datasource file.


strConnection = _T("Driver={Microsoft Access Driver (*.mdb)};"
        "Dbq=c:\\DatabasePath\\dbaccess.dsn;Uid=;Pwd=;"wink;


Remember c:\\DatabasePath\\dbaccess.mdb could be replaced with <\\server IP or hostname or UNC\DatabasePath\database.dsn>

Hope this helps, let me know if you need further assistance.

UNC means "(Universal Naming Convention) A standard for identifying servers, printers and other resources in a network, which originated in the Unix community. A UNC path uses double slashes or backslashes to precede the name of the computer. The path (disk and directories) within the computer are separated with a single slash or backslash, as in the following examples. Note that in the DOS/Windows example, drive letters (c:, d:, etc.) are not used in UNC names.

Reference

1.UNC
Re: Database For My Workplace by Seun(m): 2:39pm On Mar 20, 2006
sbucareer: Sorry, but I swear this time the downtime was not my fault. embarassed
Re: Database For My Workplace by sbucareer(f): 2:59pm On Mar 20, 2006

Seun, I know it is not your fault but you really need to contact your host and log a complaint that the service they give you is not living up to expectation that your customers are beginning to complain regarding there down time.

Anyway apology accepted Seun, and thank you for providing Nairaland.com, may God almighty continue to bless you, Amen.

Re: Database For My Workplace by doshbass(m): 3:25pm On Mar 20, 2006
@sbucareer
I hope it works, but seriously all our usb port has been disabled, which means i have to burn it unto a disk, this place is secured and crazy, I'm not sure if an exe file will work, but i will try. and with the website one, lets not consider that as an option
Re: Database For My Workplace by sbucareer(f): 3:56pm On Mar 20, 2006

Upload it to your email and download it from your work computer at work unless your internet has been disabled as well. I can invite you to gmail if you don't already have one. They support 2GB space. I am sure your application would have exceed that size.

Re: Database For My Workplace by doshbass(m): 4:46pm On Mar 20, 2006
Thank you, I have a gmail account, I will try that out as soon as i finish developing the database
Re: Database For My Workplace by CalabarMan(m): 9:26am On Mar 21, 2006
MS-Access is good, it can run from a shared folder on a peer to peer network or even a server based network. I had a business application which utilised MS-Access as the database and VB for the front end. The only problem I had with MS-Access was data corruption if there is a power failure during a write operation. Running the built in repair function doesn't always retrieve all your data occassionally it truncates or cuts out some records. The quickest way out is for all the systems to be on UPS.

Another database you can utilise is SQL Server Desktop Engine, this can run from any workstation on the network and is based on the SQL Server core, it is more reliable than MS-Access as it is a true RDBM and not a file sharing/data management system like MS-ACCESS the minus side is that you can't have more than 5 concurrent users on the system.
Re: Database For My Workplace by qleyo(f): 12:11pm On Mar 21, 2006
Do you "HAVE" to use a database at your work place? Can you not develop this on something else, test it, prove its working and then deploy.
If you are doing something for the benefit of an organisation, I don't see why they wouldn't give you access. Propose your program to them or something?
Re: Database For My Workplace by sbucareer(f): 2:41pm On Mar 21, 2006

CalabarMan, that is why I siad that the problem with Ms Access is the Pool Manager. Beside MS Access is NOT a transactional database engine. If you are developing transactional application and wants to use Access, you seriously have to write your JdbcFactoryManager class. You can get away with DAO (Data Access Object). This means that you don't communicated directly to the database engine, you will employ Objects, hence DAO. Look at a typical DAO in java.


/*
* StoreAccessDAOImp.java
*
* Created on 10 March 2006, 02:59
*
* To change this template, choose Tools | Template Manager
* and open the template in the editor.
*/

package ejb.dao;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import javax.naming.InitialContext;
import javax.sql.DataSource;

/**
*
* @author Administrator
*/
public class StoreAccessDAOImp implements StoreAccesDAO{
   
    DataSource jdbcFactory;
   
    /** Creates a new instance of StoreAccessDAOImp */
    public StoreAccessDAOImp() {
       
        InitialContext cxt =null;
        if(jdbcFactory == null ){
            try{
                jdbcFactory = (DataSource) cxt.lookup("java:comp/env/jdbc/mysql"wink;
            }catch(Exception e){
               e.getMessage();
            }//End catch
        }//End if
    }//End StoreAccesDAOImp
   
    public String loginUser(String username, String passwd){
       
        Connection con = null;
        PreparedStatement stmt = null;
        ResultSet rs = null;
        String userId = null;
        boolean result;
        String query ="select from storeaccess where username=? and password=? ";
       
        try{
            con = jdbcFactory.getConnection();
            stmt = con.prepareStatement(query);
            stmt.setString (1, username);
            stmt.setString(2, passwd);
            rs = stmt.executeQuery ();
            result = rs.next();
           
            if(result){
                userId = rs.getString("userid"wink;
            }//End if
           
        }catch(Exception e){
            e.getMessage();
        }//End catch
       
        finally{
            try{
                con.close();
                stmt.close();
                rs.close();
            }catch(Exception e){
                e.getMessage();
            }
        }
        return userId;
       
    }//End loginUser
}


This DAO just implements the loginUser from the EntityBean in an EJB environment. This Object just manages the StoreAccess by encapsulating loginUser business method.  You can have many DAO for any number of business function you want to implement in you Enterprise tier, i.e. connection between client and database.

MS Access do not have the luxury of database management like Oracle, MySQL, Hibernate, Derby etc. But you can achieve the same effect by writing your own tractional management and talk to the transactional management object and let the object talk to Ms Access.  When writing your transactional management make sure you use ACID properties (Atomicity, Consistency, Isolation, and Durability). So if NEPA takes light in-between of processing a request, either the process commits or rollback.

If you are very good and wants to get your hands dirty with VB, you could write 2-phase commit or 3-phase commit protocols that governs transactions recovery and persistent technique.

Here is a good article to start off [url=http://ei.cs.vt.edu/~cs5204/fall99/distributedDBMS/sreenu/3pc.html]with[/url]

Good luck.
Re: Database For My Workplace by IG: 8:49pm On Apr 05, 2006
I think the best kept secret in the relational database world is FireBird. It's a server database with a very small memory footprint, high concurrency,stored procedures/triggers. It also has an embedded version that developers can distribute with their applications. The server version can be run from a memory stick. Above all it's free even for commercial use.
The database can be held in a single file and a database file can grow to a maximum of 4 terabytes. More files can be attached to to the database at will.

DONT use access, it doesn't take more than 1G of data, breaks down easily and breaks down when many connections are made to the same database. Firebird is the way to go. I discovered it when searching an alternative for Access.

Since you are good with VB you can download the ZStyle IBOLE provider to use with ADO. I can't remember the download url but you can do a google.

checkout

http://ibphoenix.com
or
http://firebird.sourceforge.net
Re: Database For My Workplace by Bossman(m): 3:46pm On Apr 12, 2006
Another good DB is mySQL. others have already mentioned teh disadvantages of using Ms Access. It just does not scale well.

Try: http://www.mysql.com/
Re: Database For My Workplace by ilyman(m): 11:12pm On Dec 09, 2015
MS Access DAO Object has Workspace Object *DBEngine(0)(0)* that has BeginTrans, CommitTrans and RollBack methods, and there are same or better functionalities with ADO, and they are all ACID compliant, so this implies Access, atleast, support transactional operations.
Also Access has linked table manager to link to ODBC Datasources like MSSQL, MySQL etc. or onother Access database, the later assume a Split architecture of Frontend/Backend is used, the Frontend has the Forms, Queries, Reports and Modules of code etc. while the Backend has the relational tables.
It would not be bad or uncommon to use access as a frontend to full pledged RDBMS like MySQL, Access would do a very nice connectivity job for you, so capacity, scalability, availability and maintenance issues etc. that are attributed to access would thus be avoided.
HTH

(1) (Reply)

Connecting Basic4android And Sqlite Database / Hotels.ng Hackathon / What Are The Apps Built With React Native?

(Go Up)

Sections: politics (1) business autos (1) jobs (1) career education (1) romance computers phones travel sports fashion health
religion celebs tv-movies music-radio literature webmasters programming techmarket

Links: (1) (2) (3) (4) (5) (6) (7) (8) (9) (10)

Nairaland - Copyright © 2005 - 2024 Oluwaseun Osewa. All rights reserved. See How To Advertise. 54
Disclaimer: Every Nairaland member is solely responsible for anything that he/she posts or uploads on Nairaland.