Access database password

Hi
I have a heterogenous connection with MS Access. Before the access database is not password protected. Now its coming as password protected. I am not sure where I should provide the database password so that my dblinks would be active again.
-app

The accesss database is password protected at the database level. It doesn't have any user ID. So I can't give any values at Connect to <MS Access authorized username>. How do I handle this situation?

Similar Messages

  • MS access database prompting for username and  password

    Hello,
      When I try to run a crystal report that is connected to a (Access Database) from crystal server 2013, I get prompted for a username and password. Im not sure what im doing wrong, Ive tried creating a ODBC connection, change the SAP service to run under a domain user account, recreated the report with a different file path.  but still no luck, please help im at a lose.
    Thank you

    Hello,
    Refer please to the following kbas, probably this can help you :
    http://service.sap.com/sap/support/notes/1270997
    http://service.sap.com/sap/support/notes/1661997
    Regards,
    Asma

  • How to hide external database password (Oracle) from Access users?

    We have users connecting to other databases (SQL Server/Oracle) through legacy Access databases. Right now the passwords are in the databases or on the user's computer in the DSN.
    Is there a way to abstract these passwords and prevent the user from being able to see them?
    We want to eventually retire these but for now we want to secure them.

    Hi,
    Please check out this link -
    FETCH DATA FROM ORACLE DATABASE USING Web Dynpro
    Regards,
    Lekha.

  • Password access database

    Hi i have put a password on my access database using tools-security-set pasword,in the databse window.When i run my programs that connect to the databse i get an error stating
    "ODBC MICROSFT ACCESS DRIVER]NOT A VALID PASSWoRD,
    when i remove the password from my databse my java applications work fine.i have not put in username and password into the folowing line
    con = DriverManager.getConnection(url,"","");

    i have not put in username and
    password into the folowing line
    con = DriverManager.getConnection(url,"","");If you have a password on an Access database then you need to use the password for both the user name and password when connecting otherwise you will get an error.
    Col

  • DW Procedures to connect to MS ACCESS database located on remote server

    I am confused about the procedures within Dreamweaver CS3 to connect to a MS ACCESS database on a remoter server.
    I am working through a tutorial book, "Dreamweaver 8 with ASP, Cold Fusion and PHP Training from the Source", but the instructions are unclear concerning the procedures to connect to a MS ACCESS database located on a remote server. 
    The book indicates that the server administration has to create the DSN for you and screen shots indicate that you will result in a list of DSNs to choose from when creating the connections .asp file.
    I went through the procedures to create a connections .asp and resulting in a connection without and tables (of course) because I do not initially have any connection information from my remote site.
    I have generated the required two lines of code as follows for my MS ACCESS database connection on my remote server:
    'Database connection info and provider
    strCon="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&_
    Server.MapPath("database\trans.mdb") & ";" &_
    "User ID=xxx;Password=xxxxx"
    The question that I have is:
    How does this connection coding relate to the "connections/conn_newland.asp" file that was create within the Dreamweaver screens?  How do I merge the ASP coding?  The file (/connections/conn_newland.asp) generated within Dreamweaver is as follows:
    <%
    'FileName="Connection_odbc_conn_dsn.htm"
    'Type="ADO"
    'DesignationType="ADO"
    'HTTP="true"
    'Catelog=" "
    'Schema
    Dim MM_conn_newland_STRING
    MM_conn_newland_STRINT = "dsn=newland;"
    %>
    Any advice would be appreciated.  I know that this is simple but debugging an error from an  ASP coding merge would be a "bear" to debug!

    I have not used MS Access myself (fortunately) but I believe it works much like the old, old way of achieving a multi-user database in FileMaker.
    That is, it is not a true client-server database but more a peer-to-peer database and that each peer opens the same database file which is available to multiple user via file sharing. Therefore as elikness said it should just be a matter of putting the files on your Lion Server and then sharing that folder/volume using SMB sharing.
    However one thing to be aware of, since MS Access is not a true client-server database I would imagine it uses record locking to manage simultaneous direct access to records in the same files. File or Record locking is something that has historically been a bit flakey when using Windows clients with a Mac file server (and probably vice versa).
    While I am not proposing it as a solution to consider seriously, it is worth you knowing that FileMaker Pro is a database system that is available for both Mac and Windows and depending on how you configure things can be considered to stretch from a configuration very similar to MS Access at the low end all the way to a high-end MS SQL Server style setup at the top end. See http://www.filemaker.com for details.
    There is also a a third-party tool available for migrating databases to or from FileMaker Pro and it can convert MS Access databases to FileMaker Pro see http://www.fmpromigrator.com/
    You could use FileMaker Pro just on Windows machines if you wish.

  • Getting the table names in an MS Access database

    Hi,
    I am new to JDBC and making a client/server application that updates a MS Access database through jdbc:odbc.
    I need to get a list of existing user tables in the db. I have found a great document on the net which has the code, however the code doesn't work. I have tried different ways and looked every where with no success. (link to the doco: http://www-128.ibm.com/developerworks/opensource/library/j-jdbc-objects/)
    Here is my dbManager class that handles all db related services in my application. I would appreciate any help I can get as I have exhusted all my avenues.
    Thanks
    Sep,
    * dbManager.java
    * Created on 31 October 2005, 10:20
    * To change this template, choose Tools | Options and locate the template under
    * the Source Creation and Management node. Right-click the template and choose
    * Open. You can then make changes to the template in the Source Editor.
    import java.io.*;
    import java.sql.*;
    import java.util.regex.*;
    * @author AUMahdavSe
    public class dbManager {
        /** Constant Declaration                */
        public static final String Driver = "sun.jdbc.odbc.JdbcOdbcDriver";
        public static final
            String sqlCreateTable = "create table TABLENAME (" +
                "name varchar (100)," +
                "surname varchar(100)," +
                "computerType integer," +
                "computerNAL varchar(20)," +
                "haveMonitor integer," +
                "monitorNAL varchar (20)," +
                "auditDate varchar(10) );";
        public static final String sqlUpdateTable = "insert into TABLENAME values" +
                " (NAMEHOLDER, SURNAMEHOLDER, COMPTYPE, COMPNAL, HAVEMON, MONNAL);";
        /** Attributes                          */
        private String dbURL = "jdbc:odbc:";
        private String Username = "admin";  // user input
        private String Password = "purina123";  // user input
        private String ODBCDataSource;  // config file
        private String dbPath;  // set through config file or defaults to current folder
        private String configFile = "config.txt"; // set either at commandline or defaults to current folder
        private Connection con = null;
        private Statement stmt = null;
        private ResultSet tables;
        private DatabaseMetaData dma;
        private ResultSetMetaData rsmd;
        private String CurrentAuditTable = "TestTable2";
        int numCols, i;
        /** Set Methodes                        */
        public void setUsername( String usr ) {
            this.Username = usr;
        public void setPassword( String pswd ) {
            this.Password = pswd;
        public void setDbPath( String path ) {
            this.dbPath = path;
        public void setODBCDataSource( String ds ) {
            this.ODBCDataSource = ds;
        public void setDbURL( String dsname ) {
            this.dbURL = this.dbURL + dsname;
        /** Get Methodes                        */
        public String getDriver() {
            return this.Driver;
        // can be run only after a connection obj is setup
        public void getMDA() {
            try {
                this.dma = this.con.getMetaData();           
            catch (SQLException ex) {
                System.err.println("database connection: " + ex.getMessage());
        public void getDBTables() {
            //now dump out the names of the tables in the database
            String[] types = new String[1];
            types[0] = "TABLES"; //set table type mask
            //note the %-sign is a wild card (not '*')
            try {
                this.tables = this.dma.getTables(null, null, "%", types);
                dumpResults("--Tables--");
                this.tables.close();
                //this.listTables();
            catch (SQLException ex) {
                System.err.println("database connection: " + ex.getMessage());
            // listing tables
            /*int count = 0;
            int numCols = 0;
            //ResultSetMetaData rsmd;
            try {
                System.out.println("Listing db tables ...");
                //this.tables.beforeFirst();
                rsmd = this.tables.getMetaData();
                numCols = rsmd.getColumnCount();
                System.out.println("number of cols: " + numCols);
                boolean more = this.tables.first();
                System.out.println("this is why: " + more);
                while ( more ) {
                    count++;
                    for (int i = 1; i <= numCols; i++)
                        System.out.print( "Table-" + count + " -> " + this.tables.getString(count)+"    " );
                    System.out.println();
                    more = this.tables.next();
            catch ( SQLException ex ) {
                System.out.println( "problem listing db tables: " + ex.getMessage() );
        /** Other Methodes                      */
        // Initialize the db parameters, like driver, username, passwd, etc.
        public void dbInitialize() {
            // load configuration from config.txt (dbPath and ODBC Data Source name)
            this.loadDbConfig();
            // loadDriver
            this.loadDriver();
            // get username and password for the ODBC from user
            this.getDSSecurity();
            // populate dbURL, username and password
            this.setDbURL( this.ODBCDataSource );
            // connect to db
            this.dbConnect();
            // get db metadata
            this.getMDA();
            // get a list of tables in db
            this.getDBTables();
        // load JDBC driver
        public void loadDriver() {
            try {
                Class.forName( getDriver() );
            } catch (Exception e) {
                System.out.println("Failed to load JDBC/ODBC driver.");
                return;
        // connects to db and create a Connection obj and a Statement obj
        public void dbConnect() {
           try {
                this.con = DriverManager.getConnection (
                    this.dbURL,
                    this.Username,
                    this.Password);
                this.stmt = con.createStatement();
            } catch (Exception e) {
                System.err.println("problems connecting to "+this.dbURL);
        // creates table tblname in db
        public void CreateTable( String tblname ) {
            try {
                String sqlcommand = mergeTblName(sqlCreateTable, tblname);
                this.stmt.execute( sqlcommand );
            catch (SQLException ex) {
                System.err.println("problems with SQL statement sent to "+this.dbURL+
                    ": "+ex.getMessage());
                System.out.println("SQL Command: " + mergeTblName(sqlCreateTable, tblname) );
        // updates db with new record(s) by executing the SQL query sqlstmt
        // and closes db connection
        public void dbUpdate( String sqlstmt ) {
            try {
                // execute SQL commands to create table, insert data
                this.stmt.execute( sqlstmt );
                this.con.close();
            } catch (Exception e) {
                System.err.println("problems with SQL sent to "+this.dbURL+
                    ": "+e.getMessage());
        // list all user tables in the db
        public void listTables() {
            //now dump out the names of the tables in the database
            int count = 0;       
            try {
                System.out.println("Listing db tables ...");
                //this.tables.beforeFirst();
                while ( this.tables.next() ) {
                    count++;
                    System.out.print( "Table-" + count + " -> " + this.tables.getString(1) );
                    System.out.println();
            catch ( SQLException ex ) {
                System.out.println( "problem listing db tables: " + ex.getMessage() );
        // checks whether tbname exist in db as a table
        // this function has to be called after dbConnect
        public boolean tableExists( String tbname ) {
            boolean tbexists = false;
            //get the database metadata
            try {
                dma = con.getMetaData();           
            catch (SQLException ex) {
                System.err.println("database connection: " + ex.getMessage());
            //now dump out the names of the tables in the database
            String[] types = new String[1];
            types[0] = "TABLES"; //set table type mask
            //note the %-sign is a wild card (not '*')
            try {
                tables = dma.getTables(null, null, "%", types);
            catch (SQLException ex) {
                System.err.println("database connection: " + ex.getMessage());
            try {
                while ( tables.next() ) {
                    if ( tbname.equalsIgnoreCase( tables.getString(1) ) ) {
                        tbexists = true;
            catch ( SQLException ex ) {
                System.err.println("database connection: " + ex.getMessage());
            return tbexists;
        // merge tablename using REGEX
        public String mergeTblName( String sqlcommand, String tbname ) {
            String REGEX = "TABLENAME";
            String INPUT = sqlcommand;
            String REPLACE = tbname;
            Pattern p = Pattern.compile(REGEX);
            Matcher m = p.matcher(INPUT); // get a matcher object
            INPUT = m.replaceAll(REPLACE);
            //System.out.println(INPUT);
            return INPUT;
        // merge feildnames specific terms using REGEX
        public String mergeFldName( Message msg ) {
            String sqlcommand;
            sqlcommand = "insert into TABLENAME values" +
                    " ('" + msg.getName() + "', '" + msg.getSurname() + "', " +
                    msg.getComputerType() + ", '" + msg.getComputerNAL() + "', " +
                    msg.getHaveMonitor() + ", '" + msg.getMonitorNAL() + "', '" +
                    msg.getDateOfMsg() + "');";
            sqlcommand = mergeTblName( sqlcommand, CurrentAuditTable );
            return sqlcommand;
        // get users input char
        /**public char getChar() {
            int i = System.in.read();
            while (i != -1) {
              // here's your character
              char c = (char) i;
              i = System.in.read();
            return (char) i;
        // load the config parameters from config.txt
        public void loadDbConfig() {
            // make a file obj pointing to the config file config.txt
            File configFile = new File( this.configFile );
            //...checks on configFile are elided
            StringBuffer contents = new StringBuffer();
            //declared here only to make visible to finally clause
            BufferedReader input = null;
            try {
              //use buffering
              //this implementation reads one line at a time
              input = new BufferedReader( new FileReader(configFile) );
              String line = null; //not declared within while loop
              int count = 0;
              while (( line = input.readLine()) != null){
                //first line in config file is dbPath
                if(count == 0) this.setDbPath( line.trim() );
                //second line in config file is ODBCDataSource
                if(count == 1) this.setODBCDataSource( line.trim() );
                count++; 
                //contents.append(line);
                //contents.append(System.getProperty("line.separator"));
            catch (FileNotFoundException ex) {
                System.err.println("the file congif.txt cannot be found ...");
                System.err.print("Enter the path to db file (e.g. c:\\temp): ");
                BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
                //  read the db path from the command-line; need to use try/catch with the
                //  readLine() method
                try {
                    this.setDbPath( br.readLine() );
                catch (IOException ioe) {
                    System.out.println("IO error trying to read user input.");
                    System.exit(1);
                System.err.print("Enter the name of the ODBC Data Source: ");
                //  read the ODBC Data Source name from the command-line; need to use try/catch with the
                //  readLine() method
                try {
                    this.setODBCDataSource( br.readLine() );
                catch (IOException ioe) {
                    System.out.println("IO error trying to read user input.");
                    System.exit(1);
                ex.printStackTrace();
            catch (IOException ex){
              //ex.printStackTrace();
            finally {
              try {
                if (input!= null) {
                  //flush and close both "input" and its underlying FileReader
                  input.close();
              catch (IOException ex) {
                //ex.printStackTrace();
            //return contents.toString();
        // get datasource security details i.e. username and password
        public void getDSSecurity() {
            // get username
            System.out.print("Enter username for the ODBC DataSource: ");
            BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
            //  read the username from the command-line; need to use try/catch with the
            //  readLine() method
            try {
                this.setUsername( br.readLine() );
            catch (IOException ioe) {
                System.out.println("IO error trying to read username.");
                System.exit(1);
            // get password
            System.out.print("Enter password: ");
            //  read the username from the command-line; need to use try/catch with the
            //  readLine() method
            try {
                this.setPassword( br.readLine() );
            catch (IOException ioe) {
                System.out.println("IO error trying to read password.");
                System.exit(1);
        private void dumpResults(String head)
         //this is a general routine to print out
         //column headers and the contents of each column
         System.out.println(head);
          try
           //get the number of columns from the metadata
           this.rsmd = this.tables.getMetaData();      
           numCols = this.rsmd.getColumnCount();
           //print out the column names
           for (i = 1; i<= numCols; i++)
             System.out.print(rsmd.getColumnName(i)+"     ");
           System.out.println();
           //print out the column contents
           boolean more = this.tables.next();
           while (more)
             for (i = 1; i <= numCols; i++)
               System.out.print(this.tables.getString(i)+"     ");
             System.out.println();
             more = this.tables.next();
         catch(Exception e)
           {System.out.println(e.getMessage());}
        /** Creates a new instance of dbManager */
        public dbManager() {
            this.dbInitialize();
    }here is the result when I make a new dbManager obj from my server class which is a multithreaded one.
    H:\java>java EchoServer
    Enter username for the ODBC DataSource: admin
    Enter password: purina123
    Tables
    TABLE_CAT TABLE_SCHEM TABLE_NAME TABLE_TYPE REMARKS
    Listening for clients on 12111...
    here is the code of my server class called EchoServer:
    import java.net.*;
    import java.io.*;
    public class EchoServer
        ServerSocket m_ServerSocket;
        dbManager haDB;
        public EchoServer() 
            // db methods to setup a jdbc connection to the database
            haDB = new dbManager();
            // list tables
            //haDB.listTables();       
            //haDB.getDBTables();
            // create table
            //haDB.CreateTable("TestTable2");
            // update table
            // server code
            try
                // Create the server socket.
                m_ServerSocket = new ServerSocket(12111);
            catch(IOException ioe)
                System.out.println("Could not create server socket at 12111. Quitting.");
                System.exit(-1);
            System.out.println("Listening for clients on 12111...");
            // Successfully created Server Socket. Now wait for connections.
            int id = 0;
            while(true)
                try
                    // Accept incoming connections.
                    Socket clientSocket = m_ServerSocket.accept();
                    // accept() will block until a client connects to the server.
                    // If execution reaches this point, then it means that a client
                    // socket has been accepted.
                    // For each client, we will start a service thread to
                    // service the client requests. This is to demonstrate a
                    // multithreaded server, although not required for such a
                    // trivial application. Starting a thread also lets our
                    // EchoServer accept multiple connections simultaneously.
                    // Start a service thread
                    ClientServiceThread cliThread = new ClientServiceThread(clientSocket, id++, haDB);
                    cliThread.start();
                catch(IOException ioe)
                    System.out.println("Exception encountered on accept. Ignoring. Stack Trace :");
                    ioe.printStackTrace();
        public static void main (String[] args)
            new EchoServer();    
        class ClientServiceThread extends Thread
            Socket m_clientSocket;        
            int m_clientID = -1;
            dbManager m_db;
            boolean m_bRunThread = true;
            ClientServiceThread(Socket s, int clientID, dbManager db)
                m_clientSocket = s;
                m_clientID = clientID;
                m_db = db;
            public void run()
                // Obtain the input stream and the output stream for the socket
                // A good practice is to encapsulate them with a BufferedReader
                // and a PrintWriter as shown below.
                BufferedReader in = null; 
                PrintWriter out = null;
                Message msg = new Message();
                // Print out details of this connection
                System.out.println("Accepted Client : ID - " + m_clientID + " : Address - " + 
                                 m_clientSocket.getInetAddress().getHostName());
                try
                    in = new BufferedReader(new InputStreamReader(m_clientSocket.getInputStream()));
                    out = new PrintWriter(new OutputStreamWriter(m_clientSocket.getOutputStream()));
                    // At this point, we can read for input and reply with appropriate output.
                    // Run in a loop until m_bRunThread is set to false
                    while(m_bRunThread)
                        // read incoming stream
                        String clientCommand = in.readLine();
                        if ( clientCommand.indexOf(",") != -1 ) {
                            msg.deserialize( clientCommand );
                            System.out.println("SQL command: " + m_db.mergeFldName(msg) );
                            m_db.dbUpdate( m_db.mergeFldName(msg) );
                            //System.out.println("Name :" + msg.getName() );
                            //System.out.println("Surname :" + msg.getSurname() );
                            //System.out.println("ComputerType :" + msg.getComputerType() );
                            //System.out.println("ComputerNAL :" + msg.getComputerNAL() );
                            //System.out.println("HaveMonitor :" + msg.getHaveMonitor() );
                            //System.out.println("Monitor NAL :" + msg.getMonitorNAL() );
                            //System.out.println("AuditDate :" + msg.getDateOfMsg() );                       
                        System.out.println("Client Says :" + clientCommand);
                        if(clientCommand.equalsIgnoreCase("quit"))
                            // Special command. Quit this thread
                            m_bRunThread = false;   
                            System.out.print("Stopping client thread for client : " + m_clientID);
                        else
                            // Echo it back to the client.
                            out.println(clientCommand);
                            out.flush();
                catch(Exception e)
                    e.printStackTrace();
                finally
                    // Clean up
                    try
                        in.close();
                        out.close();
                        m_clientSocket.close();
                        System.out.println("...Stopped");
                    catch(IOException ioe)
                        ioe.printStackTrace();
    }

    I find that taking any problem and reducing it to the simplest thing is the best way to approach it.
    Why you had to post all that bloody code (especially since you didn't write it) is beyond me.
    This will list all the tables in an Access database (or any other, for that matter):
    import java.sql.Connection;
    import java.sql.DatabaseMetaData;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.ResultSetMetaData;
    import java.sql.SQLException;
    import java.util.ArrayList;
    import java.util.List;
    import org.jdom.Element;
    import org.jdom.Document;
    import org.jdom.output.XMLOutputter;
    public class TableLister
        public static final String DRIVER   = "sun.jdbc.odbc.JdbcOdbcDriver";
        public static final String DATABASE = "jdbc:odbc:DRIVER={Microsoft Access Driver (*.mdb)};DBQ=c:\\Edu\\Java\\Forum\\DataConnection.mdb";
        public static final String USERNAME = "admin";
        public static final String PASSWORD = "";
        public static void main(String [] args)
            try
                String driver           = ((args.length > 0) ? args[0] : DRIVER);
                String url              = ((args.length > 1) ? args[1] : DATABASE);
                String username         = ((args.length > 2) ? args[2] : USERNAME);
                String password         = ((args.length > 3) ? args[3] : PASSWORD);
                Class.forName(driver);
                Connection conn         = DriverManager.getConnection(url, username, password);
                DatabaseMetaData meta   = conn.getMetaData();
                // Bring back ALL tables and views, including SYSTEM tables.
                ResultSet tables        = meta.getTables(null, null, null, null);
                ResultSetMetaData rsmd  = tables.getMetaData();
                int numColumns          = rsmd.getColumnCount();
                List columnNames        = new ArrayList();
                for (int j = 0; j < numColumns; ++j)
                    columnNames.add(rsmd.getColumnName(j+1));
                Element root = new Element("tables");
                int tableCount = 0;
                while (tables.next())
                    Element table = new Element("table");
                    table.setAttribute("id", Integer.toString(++tableCount));
                    for (int j = 0; j < numColumns; ++j)
                        Element column = new Element((String)columnNames.get(j));
                        column.setText(tables.getString((String)columnNames.get(j)));
                        table.addContent(column);
                    root.addContent(table);
                conn.close();
                Document doc = new Document(root);
                XMLOutputter outputter = new XMLOutputter("   ", true);
                System.out.println(outputter.outputString(doc));
            catch (ClassNotFoundException e)
                System.err.println("Couldn't load JDBC driver class");
                e.printStackTrace();
            catch (SQLException e)
                System.err.println("SQL state: " + e.getSQLState());
                System.err.println("SQL error: " + e.getErrorCode());
                e.printStackTrace();
            catch (Exception e)
                e.printStackTrace();
    }Run it and see if it works for you. If it does, put the essence of the code into your stuff.
    %

  • Query MS Access Database

    OK - I have a customer that wants to write out to an MS Access Database from Livecycle.  I know this is BAD but they have their reasons - i.e. they have a sever shortage of skills for anything more complex.
    Firstly - I created a Java program to test the JDBC ODBC connection - this worked fine - ran queries and updated OK (code is attached)
    Howver I have tried connecting to Access from within Livecycle in two different ways - both are failing
    Firstly - using the JNDI setup for JDBC ODBC e.g.
    <datasources>
      <local-tx-datasource>
        <jndi-name>MSAccess_DS</jndi-name>
        <!-- format of URL is "jdbc:odbc:DSNNAME" -->
        <connection-url>jdbc:odbc:DBFormData</connection-url>
        <driver-class>sun.jdbc.odbc.JdbcOdbcDriver</driver-class>
        <user-name></user-name>
        <password></password>
      </local-tx-datasource>
    </datasources>
    Calling this within a Livecycle process does not return an error to the process, but the log generates an error:
    2009-08-29 23:01:30,768 WARN  [org.jboss.resource.connectionmanager.JBossManagedConnectionPool] Throwable while attempting to get a new connection: null
    org.jboss.resource.JBossResourceException: Could not create connection; - nested throwable: (java.sql.SQLException: General error)
    I also tried creating a Java Component and importing it - by creating a very basic jar and importing it to livecycle (based on the same code I used in my Java testing)
    It also gave me the general error - and I can see it is happening on the line:
            Connection con = DriverManager.getConnection(dbURL, "","");
    Any ideas on what is going wrong, or a workaround?  (Assuming that I have to use Access)
    Thanks
    Tim

    OK I solved this.  This was only happening on the Win2K3 server - not on my local dev instance
    On the server I set the JBoss service to run under the local admin account (in the Services Panel) - after a service restart the jdbc odbc connection worked fine.  It must have been some permissions with the system account

  • Why is the Microsoft Office Access Database Engine data source looking for a workgroup information file?

    While trying to import to MSSQL2012 from SSDT using the wizard from an Access 2013 DB (.accdb) which is password protected, I get the following error with the username blank and the password field correctly populated: 
    Cannot start your application. The workgroup information file is missing or opened exclusively by another user. (MicrosoftOffice Access Database Engine)
    But according to this link:
    http://office.microsoft.com/en-us/access-help/what-happened-to-user-level-security-HA010342116.aspx
    MSA10 and beyond shouldn't need workgroup information files, although it's not clear to me if they are
    created/used or not.
    I can point the wizard to some local version of system.mdw at Advanced -> All -> Jet OLEDB:System Database, and then the error becomes:
    Not a valid account name or password. (Microsoft Office Access Database Engine)
    for any username I can think of.
    Questions:
    1.  Why does this data source insist on looking for a workgroup information file even though user-level security should be disabled?
    2.  Why does the Open dialog box for the Microsoft Access Database Engine have *.mdb as the only selectable filetype?
    3.  How can I get around these errors for an .accdb that is password protected?
    Thanks!

    Hi JordanPG,
    To connect to Access 2007 or later database, we need the Microsoft ACE 12.0 OLE DB driver. SQL Server only installs the Microsoft Jet 4.0 OLE DB driver which can be used to connect to Access 2003 or earlier database. Besides, the Microsoft Jet 4.0 OLE DB
    driver only has 32-bit version, but the Microsoft ACE 12.0 OLE DB driver has both 32-bit and 64-bit version. However, the 32-bit and 64-bit Microsoft ACE 12.0 OLE DB drivers cannot be installed on a single server.
    According to your description, you can use the 64-bit SQL Server Import and Export Wizard to load data from the Access database, so the 64-bit Microsoft ACE 12.0 OLE DB driver is installed on your computer. Since the BIDS/SSDT is a 32-bit application, the
    64-bit Microsoft ACE 12.0 OLE DB Provider is not visible in BIDS/SSDT. So, when you said that you select “Microsoft Access (Microsoft Access Database Engine)" in the SQL Server Import and Export Wizard (it is actually the 32-bit version) started by the SSDT,
    I think it should be “Microsoft Access (Microsoft Jet Database Engine)”. Because the Microsoft Jet 4.0 OLE DB driver only supports Access 2003 or earlier format, it threw the error “Test connection failed because of an error in initializing provider. Unrecognized
    database format 'C:\myDB.accdb'”.
    In this situation, you have two approaches to avoid this issue:
    Launch the SQL Server Import and Export Wizard (64-bit), and select “Save SSIS Package” to “File System” on the “Save and Run Package” page. Then, the package will be saved to a specified directory. After that, you can add this existing package to a SSIS
    project. The status of the corresponding OLE DB Connection Manager should be Work Offline, or the OLE DB Source will throw an error about 32-bit driver if the Connection Manager is not in Work Offline status, you can ignore that and the package can run successfully
    in SSDT as long as the project is set to run in 64-bit runtime mode.
    However, for the SSDT 2012 integrated with Visual Studio 2012, the 64-bit runtime mode is disabled. In this situation, to run the package in SSDT, you have to uninstall the 64-bit Microsoft ACE 12.0 OLE DB drivers and install the 32-bit one. Here is the
    download link:
    http://www.microsoft.com/en-in/download/details.aspx?id=13255 
    Regards,
    Mike Yin
    TechNet Community Support

  • Access database/ java application/ jdbc odbc

    i am building an access database with a java application and get the following error message when i try to run the application. the log in window that i have does not have a password text field, only a field for the odbc name.
    java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver] Not a valid password.
    at sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6106)
    at sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:6263)
    at sun.jdbc.odbc.JdbcOdbc.SQLDriverConnect(JdbcOdbc.java:2488)
    at sun.jdbc.odbc.JdbcOdbcConnection.initialize(JdbcOdbcConnection.java:317)
    at sun.jdbc.odbc.JdbcOdbcDriver.connect(JdbcOdbcDriver.java:160)

    User/password are usually necessary to set up the ODBC source. So you may need find out who set up your ODBC source. Or you need find the correct user/password and reset the ODBC source.
    PC

  • Java and Access database

    Hello,
    I have an application with an access database. The access database (the access file) is in the same directory as all java files in c:\programs\eclipse\workspace\javaBooks.
    The connection method looks as follows:
    public boolean getConnection(String url,String user, String passw)
    try
         Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
         con = DriverManager.getConnection(url,user,passw);          
    DatabaseMetaData dbmd = con.getMetaData();
         System.out.println("Connected to " + dbmd.getURL());
         System.out.println("Version " + dbmd.getDriverVersion());
         System.out.println("DBMS: " + dbmd.getDatabaseProductName());
         return true;
         //System.out.println("AutoCommit: " + con.getAutoCommit());
         //rs=dbmd.getTables(null,"%","%",null); // Driver is not capable!
         catch (java.sql.SQLException e)
              System.err.println("Can't connect to database");
              System.err.println(e.getMessage());
              return false;
         catch (ClassNotFoundException e)
              System.err.println("Can't connect to database");
              System.err.println(e.getMessage());
              return false;
    At the beginning when I start the application a form is displayed where I have to indicate an url and a password.
    Does anybody know how I have to configure the corresponding things to use the database with the application?

    You access (ahem) Access through the JdbcOdbcDriver,
    which comes with Java.Not bad, not bad.
    World spins
    RD-R
    � {�                                                                                                                                                                                                                                                   

  • SQL Developer and Access with password issue

    I have Windows 7 64bits, Developer Version 2.1.1.64 and Access 2007.
    Created a MDB file added 2 tables, enabled de system tables and set a password.
    I try to configure connection but it gives a "Not Valid Password" error.
    I use on username: Admin
    And the password I'd set.
    What could be the error?
    I unset the password and it works fine.

    The password I had set was Database password and not user login so maybe there's no hope on this one, for now...

  • Crystal Reports and Access database connection error

    I had this in a different forum with no hits, so I am trying this one.
    A person that I work with has multiple reports set up that pulls from an Access database that is password protected. When we moved everything over to a new computer, those reports now say that it cannot access the fields inside the database. It never pops up with a login screen either, like it does on the old computer. I played around with the ODBC, with no luck, couldn't get anything to work. I have also tryed relinking the database, but I keep getting connection problems. We are on a network, so her settings should have all moved with the new computer. Along with the database and the reports being on the server, so they were never moved. I am thinking it has something to do with a system file.
    I also found this document on this site, but cannot find the download it mentions, sounds similar to my problem.
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/208b8fe5-681e-2b10-d2bb-b201f266d0ab
    Does anybody know how to fix this without the utility mentioned in the above link, or know where I can get the utility??
    We are using Access 2007 and Crystal Reports 7.  The database is not save as an Access 2007 database, but a regular mdb.
    Please Help!

    Post Author: ejthunder
    CA Forum: Crystal Reports
    Hello Chris,
    Crystal Reports does not store the database password with the RPT file.  This is by design (Crystal is not a database security product).  This is true of all versions of Crystal Reports.
    If your users need to see fresh data when opening the reports then they will have to log in by providing at least the password.
    You can send reports with Saved Data that won't try to hit the database, but the data won't refresh either.  To save data with the report go to the File menu and click next to Save Data with Report.  Refresh the report and then save it.  The report will now have saved data and won't try to hit the database when opened.  If the user hits the refresh button then they will get prompted to log into the database.
    I hope this helps.
    EJ

  • SetDataSource not working for Web App Access database

    I have a web app developed using VS 2008 that is using Crystal Reports to produce bar graphs. The data is held in an Access database. I developed the report using an Access database located in the App_Data directory.
    I have the following code on the page load event.
       Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
            Dim con As New OleDb.OleDbConnection
            con.ConnectionString = System.Web.Configuration.WebConfigurationManager.ConnectionStrings("strConnect").ToString
            Dim path1 As String = "|DataDirectory|\ForthWorthISD.mdb"
            Dim report As CrystalDecisions.CrystalReports.Engine.ReportDocument = New BuildingUsage
            report.Load(Server.MapPath("BuildingUsage.rpt"))
            Dim com As New OleDb.OleDbCommand
            com.CommandType = CommandType.Text
            com.CommandText = "SELECT * FROM tblFWISDBuildingUsage WHERE BuildingName = '" & Session("BuildingName") & "'"
            com.Connection = con
            Dim adp As New OleDb.OleDbDataAdapter
            adp.SelectCommand = com
            Dim ds As New Data.DataSet
            Dim result As Integer = adp.Fill(ds)
            Try
                report.SetDataSource(ds)
            Catch ex As Exception
                Dim fubar As String = "Fubar"
            End Try
            Label2.Text = Session("BuildingName") & "      Monthy kWh"
            Label3.Text = "January 2006 Thru December 2008"
            CrystalReportViewer1.ReportSource = report
        End Sub
    I have checked the DataSet after the fill and everything appears to be correct. There is only one row in the table
    However the report is showing the entire table.
    I have also tried setting the datasource to the datatable of the dataset with the same result.
    How can I get this to work?

    Hi Bob,
    You stated that you designed the report against the access database itself correct?
    Are there usenames and passwords required to access the db?
    What looks like is happening is if you designed the report against the database instead of against an xsd file (which if you are using datasets should be done) then it has the access info stored so just hits it and pulls all the data.
    Try outputting the schema of the dataset and do a set location in the designer to the xsd instead of the access db then try passing the dataset.
    Jason

  • Using JSP to connect to an Access Database

    I need help on using JSP to connect to an Access database.
    This is the code I currently have connecting to a mySQL DB. I need to change it to connect to an Access DB. The reason I am switching DB's is because mySQL is no longer going to be carried by my host.
    Here is the code:
    <html>
    <head>
    <basefont face="Arial">
    </head>
    <body>
    <%@ page language="java" import="java.sql.*" %>
    <%!
    // define variables
    String UId;
    String FName;
    String LName;
    // define database parameters
    String host="localhost";
    String user="us867";
    String pass="jsf84d";
    String db="db876";
    String conn;
    %>
    <table border="2" cellspacing="2" cellpadding="5">
    <tr>
    <td><b>Owner</b></td>
    <td><b>First name</b></td>
    <td><b>Last name</b></td>
    </tr>
    <%
    Class.forName("org.gjt.mm.mysql.Driver");
    // create connection string
    conn = "jdbc:mysql://" + host + "/" + db + "?user=" + user + "&password=" +
    pass;
    // pass database parameters to JDBC driver
    Connection Conn = DriverManager.getConnection(conn);
    // query statement
    Statement SQLStatement = Conn.createStatement();
    // generate query
    String Query = "SELECT uid, fname, lname FROM abook";
    // get result
    ResultSet SQLResult = SQLStatement.executeQuery(Query);
         while(SQLResult.next())
              UId = SQLResult.getString("uid");
              FName = SQLResult.getString("fname");
              LName = SQLResult.getString("lname");
              out.println("<tr><td>" + UId + "</td><td>" + FName + "</td><td>" + LName
    + "</td></tr>");
    // close connection
    SQLResult.close();
    SQLStatement.close();
    Conn.close();
    %>
    </table>
    </body>
    </html>
    Thank You,
    Josh

    <%@ page language="java"%>
    <html>
    <head>
    <title>
    First Bean
    </title>
    <%@ page import="java.sql.*" %>
    </head>
    <body>
    <p>
    <%!
    Connection con;
    Statement st;
    ResultSet rs;
    String userid;
    String password;
    %>
    <%!public void db(JspWriter out)
    try{
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    con=DriverManager.getConnection("jdbc:odbc:phani");
    catch(Exception e){}
    try{
    st=con.createStatement();
    rs=st.executeQuery("SELECT * FROM login");
    while(rs.next())
    userid=rs.getString("userid");
    password=rs.getString("password");
    out.println(userid);
    out.println("</br>");
    out.println(password);
         out.println("</br>");     
    }catch(Exception e){}
    try{
    con.close();
    }catch(Exception e){}
    %>
    <%db(out);%>
    </p>
    </body>
    </html>
    phani is dsn name
    login is table name
    Good luck
    phani

  • Forms 6i: working with Microsot access database

    I have developed a form that works with a Microsoft Access database instead of an Oracle database (I use ODBC). The form has a block based in a table named dias and this block has a column named dia based in the column dia.
    When I try to compile this program unit:
    PROCEDURE pru IS
    BEGIN
    select dia from dias;
    END;
    appears the following error: error 201, el identificador dia debe declararse (you have got to declare dia)
    And if I try to compile this:
    PROCEDURE pru IS
    BEGIN
    select dias.dia from dias;
    END;
    appears the following error: error 414,no hay ninguna columna dia en la tabla (there is not any column named dia in the table)
    The :system.last_query variable is "select dia from dias" when I do a query.
    Please, I need your help urgently.
    Thanks,
    Sara

    Try this:
    Properties props = new Properties();
    props.put ("user", user);
    props.put ("password", password);
    props.put ("charSet", "UTF8");
    c = DriverManager.getConnection (url, props);

Maybe you are looking for

  • Selction screen in dialog program

    Hi All.. In my requirement, i need a selection screen that has a parameter for the PO number. Based on the valid PO number, the line items of the PO need to be displayed on the screen where the user should be able to split the line items into differe

  • How do I re-activate a podcast I had up last year?

    Hello, I had a podcast audio drama up on iTunes for about 6 months,  but took it down about a year ago.  Now I would like to put my podcast  audio drama back up again but when I went to submit it, it says "It  appears the feed has already been submit

  • Burned archive CDs won't mount on OS 10.7.5

    I have been archiving photos onto CDs for a few years, and most of them are fine. But there are 3 that won't mount (on 2009 iMac or 2007 MacBook both running OS 10.7.5), two from 2003 and one from 2005 (others from 2005 are fine). Does anyone have id

  • Just installed Office 2011 on my MacBook Pro Retina and now Safari does not work

    Just installed Micro Office 2011 on my 13" MacBook Retina and now Safari is not working correctly. Pages load very slowly or not at all. Any idea of what's wrong? Thanks

  • Cannot detect forward/re​verse limits

    I'm having trouble with the forward and reverse limit switches for my stepper motor system. When I create an NI Softmotion axis in Labview, no matter how I configure the limit switches, they either show up as both active or both inactive, regardless