MySQL+JTable, AbstractTableModel - solution v.0.1 beta

Hi everybody, My name is Sergey, I am a student from Russian Federation, Moscow.
I spent days and nights trying to find how to connect JTable, DB tables.
To tell you the truth, I visited many russian and english-lang forums. But I didn't get somewhere goog answer. that is terrible.
Seems like nobody nows how to do simple things.
So, I've started to do on my own. And I suggest you the first version.
Ofcourse it is rather raw, but it works.
Sometimes I was really angry when people suggested others untested and foolish code. With mistakes.
what we need:
JDBC adapter - mysql.com (you canget it)
MySQL server (must be started)
DB
Tables in DB
NetBeans 5.5 - netbeans.org
NB MySQL server on localhost, thisway you will not need to dig mysql config files
Create new project application
Add mysql driver jar file to project library (it is in project window)
create two classes and enjoy
import java.sql.*;
import java.util.Collections;
import java.util.List;
import java.util.Vector;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.table.AbstractTableModel;
import java.util.Collections;
* @author SShpk
//we are going to override methods of AbstracTableModel Class
/**This class forms view of DB table which will be loaded into JTable swing component*/
public class JTableAdapter extends AbstractTableModel{
        //my table name
        private String tableName ="Sheet";
     //frame for error exception output
        private JFrame jframeError = new JFrame("Connection error");
        //variables for transactions
        private Connection connection;
        private Statement  statement;
        private ResultSet  resultSet;
        private ResultSetMetaData metaData;
        //names of colums --- will get them from DB table
        public  String[]   columnNames;
        //this Vector will  keep rows of table
        private Vector     rows = new Vector();
        private int i;
        private String t="";
    /** Creates a new instance of JTableAdapter */
    public JTableAdapter(String url, String driverName, String user, String password) {
        jframeError.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//frame for showing errors
        //this String var I use to avoid problem with Date/Datestamps e.t.c. like �0000-00-00�
     //because java converts them to NULL. This is terrible fact. Do not lose this comment!
        String overrideBADDATE="zeroDateTimeBehavior=convertToNull&";
     //let�s put together all params
        //common view is: :jdbc:mysql://yourhost.com:port_num/NameofYourDB?<property&>
        t=url+overrideBADDATE+"user="+user+"&password="+password;
        try{     //trying to load driver
            Class.forName(driverName);
            connection=DriverManager.getConnection(t);
            statement = connection.createStatement();
                                //this commented code will be useful for you in debug proccess.
                                //it will give you list of all loaded drivers to driver managers
                                //so you will be able to see is your jdbc driver loaded or not.
                                 try{
                                      List drivers = Collections.list(DriverManager.getDrivers());
                                      for(int i=0;i<drivers.size();i++){
                                          Driver driver = (Driver)drivers.get(i);
                                          String driverName1 = driver.getClass().getName();
                                          System.out.println("Driver "+i+":::"+driverName1);
                                 }catch(Exception e){
                                      System.out.println(e);
                                 }//catch in try
        }//try
        //let's catch exceptions.
        //see messages to get the meaning of exception
        catch(ClassNotFoundException ex){
                     JOptionPane.showMessageDialog(jframeError,
                                                    "Error occurred during driver load"+driverName,
                                                    "Driver load error:"+ex.getMessage(),
                                                    JOptionPane.ERROR_MESSAGE);
                                                    jframeError.setVisible(true);
        }//catch1
        catch(SQLException ex){
                     JOptionPane.showMessageDialog(jframeError,
                                                    "Error connecting DB"+url,
                                                    "DB Connection error:"+ex.getMessage(),
                                                    JOptionPane.ERROR_MESSAGE);
                                                    jframeError.setVisible(true);
        }//catch2
    //executing SELECT query to fill our table
     executeQuery("SELECT * FROM " + this.tableName);  
    }//constructor
    /**method sends SELECT query and parses result of this query*/
    public void executeQuery(String query){
        //testing for alive connection
        if(connection== null || statement == null){
                        JOptionPane.showMessageDialog(jframeError,
                                                    "Error occurred during query post",
                                                    "DB connection error",
                                                    JOptionPane.ERROR_MESSAGE);
                                                    jframeError.setVisible(true);
     //let�s parse result of query
        try{
            resultSet = statement.executeQuery(query);
            //get num of columns in table   /***/getColumnCount()
            //get names of columns          /***/getColumnLabel(i+1)
            metaData = resultSet.getMetaData();
            int numberOfColumns = metaData.getColumnCount();
           //getting names of DB table columns
            columnNames = new String[numberOfColumns];
            for(i=0;i<numberOfColumns;i++){
                    columnNames= metaData.getColumnLabel(i+1);
}//for
Object testnulledobj;
rows = new Vector();
//from the beginning of resultSet up to the END
while (resultSet.next()){
//each row of DB table is Vector
Vector newRow = new Vector();
for (i=1; i<= getColumnCount();i++){
testnulledobj=resultSet.getObject(i);
     //this IF statement I will develop
//to output NULL-object Date (like Date field = 0000-00-00)
if(resultSet.wasNull()){
testnulledobj=new String("");
newRow.addElement(testnulledobj);
}//for
          //row from DB is completed. Every row will be in Vector of Rows.
          //I hope you got my idea.
          //We collect row cells of DB table row in Vector
          //Then we put this Vector into another Vector, which consists of DB rows
rows.addElement(newRow);
}//while
//table is changed
fireTableChanged(null);
}//try
catch(SQLException ex){
JOptionPane.showMessageDialog(jframeError,
"Error occurred during query result parsing",
"Data accept error",
JOptionPane.ERROR_MESSAGE);
jframeError.setVisible(true);
}//executeQuery
/**cell of table editable or not?*/
public boolean isCellEditable(int row,int column){
/*Testing field(aka column) property. We get it from DB.
try{
return metaData.isWritable(column+1);
}//try
catch(SQLException e){
return false;
}//catch
/****LOCKING ID FIELD***/
if(column>0) return true;
else return false;
}//isCellEditable
//these three methods very simple. I think they do not need any explanations
/**set column name in JTable*/
public String getColumnName(int column){
return this.columnNames[column];
/**get quantity of rows in table*/
public int getRowCount(){
return this.rows.size();
/**get quantity of columns in table*/
public int getColumnCount(){
return this.columnNames.length;
/**get value from JTable cell*/
public Object getValueAt(int aRow, int aColumn){
Vector row = (Vector)rows.elementAt(aRow);
return row.elementAt(aColumn);
//if user edited cell (double-click on it and then went away)
//we need to update DB table and JTable also.
//this is not pretty good variant, because we will flood DB with plenty of small queries.
//the best way is to save value of "double-clicked" cell. Then we have to compare its value before
//focus and after. If values differ, then we update DB table, else � no update
//unfortunately I do not know how to control focus method of JTable cell
/**update DB table cell value*/
public void setValueAt(Object value, int row, int column){
//Before updating DB table cell we need to update JTable cell
Object val;
val = tbRepresentation(column, value);
Vector dataRow = (Vector)rows.elementAt(row);
dataRow.setElementAt(val,column);
//Now it's time to update DB table
try{
//get name of column in DB table (our JTable has the same column names)
//it's possible to give them normal names instead of user_id,user_name e.t.c.
//I am sure, user of your app will prefer to see normal names of columns, not like listed before
String columnName = getColumnName(column);
//This is very bad example of update query.
//You have to determine automatically key field. but still I didn't find how to do that
//But it's possible to do through metadata. I am sure.
//Just need some more time
//When I am designing DB I prefer to name key field in each table as "ID"
String query = "UPDATE "
tableName
" SET "+columnName+" = "+"'"+dbRepresentation(column,getValueAt(row, column))+"'"+
" WHERE ID = "+dbRepresentation(0,getValueAt(row, 0));
//extremely important string for debug
System.out.println("UPDATE QUERY:::"+query);
//executing update query
PreparedStatement pstmt = connection.prepareStatement(query);
pstmt.executeUpdate();
}//try
catch(Exception ex){
JOptionPane.showMessageDialog(jframeError,
"������ ��� ���������� ������ � ������� ��",
"������ �������� ��� ���������� ������ � ��",
JOptionPane.ERROR_MESSAGE);
jframeError.setVisible(true);
}//catch
}//setValueAt
//Next two methods are very neccessary. And they need accurate testing
//they convert DB datatypes into java datatypes and backwards
/**convert SQL (MySQL in this case) datatypes into datatypes which java accepts*/
public Object tbRepresentation(int column, Object value) throws NumberFormatException{
Object val;
int type;
if(value == null){
return "null";
}//if null
try{
type = metaData.getColumnType(column+1);
}//try
catch (SQLException e){
JOptionPane.showMessageDialog(jframeError,
"Error occured during Table update",
"Error occured during DB table field type get",
JOptionPane.ERROR_MESSAGE);
jframeError.setVisible(true);
return value.toString();
}//catch
switch(type){
case Types.BIGINT:
return val = new Long(value.toString());
case Types.TINYINT:
case Types.SMALLINT:
case Types.INTEGER:
return val = new Integer(value.toString());
case Types.REAL:
case Types.FLOAT:
case Types.DOUBLE:
case Types.DECIMAL:
return val = new Double(value.toString());
case Types.CHAR:
case Types.BLOB:
case Types.VARCHAR:
case Types.LONGNVARCHAR:
return val = new String(value.toString());
case Types.DATE:
return val = new String(value.toString());
default: return val = new String(value.toString());
}//switch
}//tbRepresentation
/**conver Java datatypes into SQL (MySQL) datatypes*/
public Object dbRepresentation(int column, Object value){
Object val;
int type;
if(value == null){
return "null";
}//if null
//my preparations for accurate work with "nulled" dates/time/e.t.c
//this IF statement doesn't play any important role
String testbaddate="0000-00-00";
if(value.toString().equals(testbaddate)){
return value.toString();
try{
type = metaData.getColumnType(column+1);
}//try
catch (SQLException e){
return value.toString();
}//catch
switch(type){
case Types.BIGINT:
return val = new Long(value.toString());
case Types.TINYINT:
case Types.SMALLINT:
case Types.INTEGER:
return val = new Integer(value.toString());
case Types.DECIMAL:
case Types.FLOAT:
case Types.DOUBLE:
return val = new Double(value.toString());
case Types.VARCHAR:
case Types.CHAR:
return val = new String(value.toString());
case Types.DATE:
return val = new String(value.toString());
default: return val = new String(value.toString());
}//switch
}//dbRepresentation
//my preparations to read from SELECT query result
//"nulled" dates/time/e.t.c.
private Object testObject(Object obj){
Object val= new String("");
if(obj==null) return new String(val.toString());
else return obj;
}//class
And other class. I will not comment it.
It is very easy. Ask me if you want something
import java.awt.Dimension;
import java.awt.GridLayout;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
public class TableCreate extends JPanel{
    /** Creates a new instance of TableCreate */
    public TableCreate() {
        super(new GridLayout(1,0));
        JTable table = new JTable(new JTableAdapter("jdbc:mysql://localhost/Document?","com.mysql.jdbc.Driver","root",""));
        table.setPreferredScrollableViewportSize(new Dimension(500,210));
        JScrollPane scrollpane = new JScrollPane(table);
        add(scrollpane);
    public JPanel getJpanelTable(){
        return this;
    public static void main(String[] args){
        JFrame jframe = new JFrame("Test");
            TableCreate tcreate = new TableCreate();
                jframe.add(tcreate.getJpanelTable());
                jframe.pack();
                jframe.setVisible(true);
}//main

So what we have:
-DB table insert into JTable
-Can edit values+update them in DB
-override some common "critical points"
What we need:
-control row,col size in JTable
-control column names in JTable
-add combobox on fields which keep ID of other instance (I will give test example later)
-add checkbox to boolean fields and to boolean fields which declared as int-family type, but use only "0" and "1" numbers
-Add sort to JTable (to its header)
-Add conrol buttons
--new row
--delete row
--next record
--previous record
-Add user friendly GUI (highlight selected row e.t.c.)
So as you can see, a lot of things to do
I will be happy to answer all you questions
But if you want to make me really happy- comment my post and suggest me how to refact code and approach this JTableAdapter class to reusable component (I want it to be useful in common cases when Java-specialist work with DB especially with MySQL)

Similar Messages

  • JTable &  AbstractTableModel(Delete row problem)

    Hi!!
    I have used AbstractTableModel in my JTable.In case of multiple rows, i want to delete rows from interface as well as from database. As removeRow method is absent in AbstractTableModel.so DefaultTableModel has been used by casting but CastClassException throws. Here is Partial code(tried in many ways).Plz help me to solve the problem.
    void jButtonCancel_actionPerformed(ActionEvent e) {
    try{
    jTable1.setModel(myModel); //jtable is object of JTable and myModel is of Abstract TableModel           
    DefaultTableModel model=((DefaultTableModel)jTable1.getModel());
    int row=jTable1.getSelectedRow();
    if(row>=0){
    model.removeRow();
    jTable1.revalidate();
    model.fireTableDataChanged();
    System.out.println("Rows Delete");
    catch(Exception sq){
    sq.printStackTrace();
    sq.getMessage();

    Hmm...
    A bit of studying java awaits you.
    Anyway.
    Your class:
    public class MyModel extends AbstractTableModel
      // Do various sorts of coding here
    }Is not an instance of DefaultTableModel, so, if you try to cast your model to a DefaultTableModel it will throw an exception since the conversion is impossible.
    Recomended solution:
    Add a remove method for your class MyModel that does the following:
    public void removeRow(int row)
      // data removed
      // fire removed data event
    }Then instead of casting to DefaultTableModel, cast it to 'MyModel' and call the method 'removeRow'.
    When it comes to inheritance and casting you can always cast an object to any of it's superclasses or any of the interfaces it supplies or it's superclasses suppplies. You can not cast an object to a instance of which it has no relation with.
    In you example, your table model class extends the abstract table model but it does not extend the DefaultTableModel. An instance of your class can be casted to AbstractTableModel and so can an DefaultTableModel because they are both subclasses from AbstractTableModel. They can also be casted to TableModel since all of these implement the interface needed to fullfill TableModel's specification.
    If you cast a DefaultTableModel instance to TableModel you can not try to cast it upwards to something the instance wasn't from the beginning.
    Example:
    DefaultTableModel dtm = new DefaultTableModel();
    // When you do casting uppwards, there is no need for paranthesis
    TableModel tm = dtm;
    // You can easily later on cast this back to what is what or to any step
    // in between
    DefaultTableModel stillSameModel = (DefaultTableModel)tm;
    // You can not however cast to something the instance never was
    // Row below will cause an compile error:
    JComboBox jb = (JComboBox)dtm;
    // This since JComboBox can never be an superclass to the DefaultModel
    // More dangerous errors that can't be catched until runtime is the
    // one you made. Ie: I do what could be an valid cast
    MyModel mm = (MyModel)tm;
    // Since MyModel is an TableModel and tm refers to an TableModel,
    // this casting is approved by the compiler.
    // It will on the other hand throw an ClassCastException when run since
    // the variable tm contains an instance of DefaultTableModel which
    // is not an MyModel instance.Recomended that you read up on inheritance and basic OO.
    Regards,
    Peter Norell

  • PS3 + 24" LED - a solution, but are there better ones?

    Hi everyone,
    As you might have seen here is the best solution yet to the PS3 + Apple 24" LED Cinema Display Problem -
    http://www.cinemaview.com/models.html
    However, seeing as this is more an allrounder, are there any cheaper solutions that would be able to convert the PS3's HDMI signal for DisplayPort?
    There is a solution of 4 adaptors (HDMI to HDMI, HDMI female to DP, DP Female to DP Female, DP to MiniDP Female - then to 24"), but would this work without conversion of the signal?
    Are there any solutions that allow input of my PS3's 1080p's video signal into my mac and then out again through displayport? (Any EyeTV like products?)
    (BTW - sound would be handled by 5 speakers (coaxial Z-5500 Digital) so that is not a worry)
    I will be buying the display if any of this works.
    If not I will have to toss up,
    Apple 24" LED + convenience with my Mac + Z-5500 - compatability
    vs.
    HP L2475W + PS3 + Z-5500 + compatibility - convenience
    Difficult!

    I'll be a little more full in my response this time and see if your opinion changes.
    The PS3, at the moment, is being run on a Sony Bravia 46" 1080p LCD which to be honest is pretty magnificent.
    If I had the money and my dad would let me, I would be installing Z-5500s downstairs with the PS3, and upstairs in my room with the mac.
    The apple monitor, in my opinion, is my dream monitor. It is the one I would like, it is the one my dad is getting for his new mac tomorrow (Yes I am jealous), and it is the one I would be buying hands down if it had a DVI, HDMI, Component, or even VGA input.
    The hp monitor has the better versatility but from what I have read, the Apple is still the better display. You talk of speakers - no interest, but isight and mic are (adium messenger).
    The thought of having the use of 5.1 speakers + 1920x1080p + 24" + PS3 in my room is highly appealing.
    The thought of having the use of 5.1 speakers + 1920x1200 + 24" + APPLE LOGO + MacBook + Convenience and Tidyness is just as appealing.
    What would I be missing with the 24" ACD -
    - The PS3 wouldn't have surround 5.1
    What would I be missing with the 24" HP -
    - The Apple Logo
    - The convenience of tri-port power
    - Seamless integration between computer and monitor (just like a desktop)
    I can't say I use the PS3 more than 2-4 times a month. I use my computer every single day for at least 3-4hrs, often more.
    Is the Apple for me?

  • Displaying JTable (AbstractTableModel) rows based on radiobox criteria

    hi,
    Would appreciate some pointers as to how to do this ...
    I have a AbstractTableModel that needs to display rows depending on which radiobox criteria is selected.
    There are only 2 columns in the JTABLE:
    (1) categories (string)
    (2) register interest (boolean)
    The radioboxes (and the criterias) are:
    1. display all rows
    2. display only rows when register interest = false
    3. dislplay only rows when register interest = true
    How can i achieve this ?
    The GetValue/SetValue from AbstractTableModel() deal at the column and not row level. So i am stumped.
    Thanks for any help.
    Tony

    Since you have a custom table model, just create one collection that represents the permanent (all) data, and one collection that represents the filtered data. When the radio selection changes, update the filtered data collection by filtering the permanent data collection.

  • Bootstrap + mysql + php: robust solution for an educational dashboard?

    Hi. We are just beginning work on a dashboard for educational purposes. We need to show data tables of sts progress, notes etc...
    Kind of like the following tables:
    http://www.dreambox.com/district-reports
    We have downloaded a template based on bootstrap. It is all pretty easy except for the data integration. Before we were using flash datagrids and were also looking at flex components which were very easy to use. The questions are:
    1. Can we get the same "power" for our data tables/data grids with bootstrap "ready made" plugin ins.
    2. To replicate the datadrid in flash what do we use in bootstrap - ajax datatable or a j query plug in.
    3. How do we connect up the mysql + php + datagrid. Would it be very similar to an AS3 + php + mysql solution?
    Basically, is bootstrap html5 + CSS a viable robust solution to producing an educational dashboard.
    I use the term plugin because I don't think you call them components or widgets.
    You must also know that this will be on an enterprise level and there should be around 10,000 active users - not at the same time obviously. We will be hiring a freelancer or part tim staff to implement and maintain but we do need to know which way to go first.
    Pretty broad questions maybe, just trying to find my way and study up on what I am supposed to be studying up on. I am on Lynda.com which is OK but I need some guys creating these things to give me advice and point us in the right direction.
    Cheers in advance.

    Hi - thank you Nancy - I should get really specific now.
    I spent quite a few hours investigating and here's the run down.
    1. php + mysqli: Pretty easy as it is the same workflow as I use in flash - I was just a bit thrown by the html part and still have a few questions.
    I will post the link to the very clean and easy to follow mysql + php implementation on html tables just in case any newbies are following the post.
    http://www.sourcecodetuts.com/php/18/how-create-secure-registration-page-phpmysql-part-ii
        mysqli - they seem to use the "improved" mysqli now and this code seems to be very professional with encryption etc...
    My question is which is the best method for handling the recordset back from the database.
    1. In flash we used to use XML serialized which is easy for flash objects to pick up and then display in the datagrid tables.
    2. The example in the next link echos it out in the html table format which sounds very obvious but not sure if it is correct as I have never dome that before.
    http://www.sourcecodetuts.com/php/40/creating-and-populating-table-mysql-data-using-twitte r-bootstrap-framework
    while ($row = mysql_fetch_array($result)) {
        // Print out the contents of the entry
        echo '<tr>';
        echo '<td>' . $row['firstname'] . '</td>';
        echo '<td>' . $row['lastname'] . '</td>';
        echo '<td>' . $row['email'] . '</td>';
        echo '<td>' . $row['phone'] . '</td>';
    3. However I am more used to dealing with an object returned and then dealt with in flash BUT a simple html table couldn't deal with that so - I have just started reading re: ajax or javascript. Are they the best way to handle data returned from a database. As I say this dashboard wil have to be used my many thousands and we will be creating various tables with multiple parameters inputted via dropdown box lists.
    My workflow in flash - would it be javascript that would replicate that functionality or do I just echo out in tr and td tags as in above - seems to basic.
    Sorry about repeating mysel above and going on and on but I hace finally got there - just missing the last part in the puzzle.
    Cheers

  • JTable AbstractTableModel and TableChanged Event

    Could someone give me an example of inserting rows visually (on runtime) by using Abstract Table model and TableChangedEvent ?
    Thank you in advance

    Actually i used AbstractTableModel and java let me to use. Like this:And that only works because you extended the AbstractTableModel. You created something called an "Annonymous Inner Class". What you did is similiar to creating a new source file with code like:
    public class MyCustomTableModel extends AbstractTableModel
            public int getRowCount() {
                return heading.length;
            public int getColumnCount() {
                return data.length;
            public Object getValueAt(int rowIndex, int columnIndex) {
                return data[rowIndex][columnIndex];
            }It will not work if you try to do:
    AbstractTableModel model = new AbstractTableModel();
    But this was the sentence that i need:And I already stated that when I said:
    So the DefaultTableModel "DOES" use the AbstractTableModel because it extends the AbstractTableModel
    The concept of "inheritance" is basic to Java. Inheritance is accomplished by "extending" another class. If you do not understand this basic concept then you need to start reading because we don't have the time to explain the basics especially when you bad mouth the person that attempts to help.

  • TCP data server or better solution?

    Hi all,
    We upgraded our software system from 32 bit to 64 bit then LabVIEW is also upgraded from LabVIEW 2010 x86 to LabVIEW 2010 x64. However, one device of us does not have the 64 bit driver thus in order to make all the devices works seamlessly in one computer as before, I used TCP data server and client. The server and the main VI are set up on the LabVIEW x64 whereas the client, which drives one device with 32 bit driver, is running on the LabVIEW x86 process on the same computer. I used the Simple Data Server and Simple Data Client in Examples of LabVIEW.
    Would you please advise me or give me some suggestions for the following questions:
    1. By using this configuration, I can only transfer data in one way. If I want to transfer data in both directions, what should I do? Could you please give me some example codes?
    2. I do not understand clearly the synchronization of the server and the client in this case. For example, when I change the waiting time of server and client, sometimes it freezes the program, sometimes it does not work. Could you advise me the perfect way to set the synchronization (as fast as possible).
    3. Is there any possible solution that could be better than this data server/client approach for my 32 bit driver related problem as described above?
    Thank you very much, I appreciate your help.
    Trung

    Could you guys plesae give me some answers/suggestions. 
    I appreciate it.
    Regards,
    Trung

  • Mysql chokes after header install

    Hi
    I needed to compile DBI::mysql for my website so I donwloaded the mysql libraries per Apples instruction.. i.e downloading http://www.opensource.apple.com/darwinsource/tarballs/other/MySQL-43.tar.gz.
    I isnatlled per apples kb article TA25017 ( see http://support.apple.com/kb/TA25017?viewlocale=en_US).
    Having done that i did a install DBI::mysql via cpan. I Had to force it to install properly.
    I then tried to start the mysql server. And was told it had a problem and to check the logs. Which I did.
    The logs tell me the following
    /usr/libexec/mysqld: unknown option ' --skip-federated'
    I've done some googling but not found any good solution to this. Does anyone hace any ideas?
    By the way all of this is being done on my new xserve.

    Thanks Thomas, I've run into the same issue and I was clueless.
    I was looking for how to reinstall the pre-installed MySQL, but your solution is way better MySQL is running fine again!
    Thanks!
    Alejandro.

  • How do I install Rosetta Stone onto my Macbook running OSX 10.8 when installing it I go into the folder called For MAC Users and the files in there are .exe files which cant be open on a Mac. If anyone has a solution or even a download link let me know.

    This is really frustrating please let me know I looked around and all the downloads cost money and I would prefer if you guys could give me a free one but a solution would be even better!!
    Thanks

    You have the Windows version of the software.  You will need to contact Rosetta Stone directly to get the Mac version of their software.  I can confirm it does install on Mountain Lion without issues.

  • CRVS2010 Beta - Problems with CR for VS2010

    I just installed Crystal Reports for VS2010 beta2, but I can't create a new crystal report from the VS2010.
    It only displays a .mht file that informed "Crystal Reports for Visual Studio 2010 is a free download and so on..."
    I guess it is a matter of language: my SO and VS2010 versions are both in italian.
    Do you have any suggestion or should I wait november when the final CR version wil be available? (and this final version will have the Italian localization? )
    Thank you for the answer
    Carlos
    Edited by: Don Williams on Sep 24, 2010 6:30 AM

    Second, the solution is it's BETA and is ONLY supported for English only OS's, is what you are going to find. Only option is to wait until it goes GA and supports all languages. Or set your OS to English and then you can use it.
    If you had done a search and read the various posts before posting this same question again you would have got your answer right away.
    Thank you
    Don

  • Upgrade process to SAP Solution Manager 7.1

    Hello!
    We use SAP EHP 1 for SAP Solution Manager 7.0 (SPS 26) and plan to upgrade to the new SAP Solution Manager 7.1.
    We currently do not have Java Stack there.
    Some questions about Upgrade process
    1) Can a direct Upgrade from SAP EHP 1 for SAP Solution Manager 7.0 (SPS 26)  to SAP Solution Manager 7.1 be realized?
    2) Should we first install Java Stack and then proceed with the Upgrade or otherwise?
    3) Will Windows 32 Bit and None-Unicode Version of SAP Solution Solution Manager be supported?
    It will be great to get some helpful information.
    kind regards

    Hello!
    Trying to answer your question
    1)  As described in note 1244225, there no restriction to upgrade the Solman EHP1 to solman 7.1. Refer to the section:
    In case you do not participate in this current Solution Manager 7.1 beta shipment there are no  restrictions for implementing now SP stack 25 and upgrading in the future to an equivilant SP stack of release 7.1."
    2)  The Solman EHP1 must always be a dual stack system, I am not sure,  how you are  running the Solman EHP1 without a Java Stack, you should have one.
    3) I am not sure if there will be a Solman 7.1 32Bit Non-UNICODE version. But,  SAP recommends to run Solution Manager on Unicode (see also customer letter on http://service.sap.com/Unicode).  At solman EHP1 there are some issues when running the system as Non_UNICODE, refer note 1383407.
    I am not sure if I could clarify all your doubts.
    You may check the following URL:
    http://service.sap.com/instguides
    - SAP Components
    - Solution Manager 7.1
    As this is a very new software there is few documents in it, but soon you should see a upgrade guide here.
    Regards,
    Allam

  • Visual Age 3.5, WLS 5.1, Integration Kit 5.1 beta and JSP?

    Hello,
    i have a problem with the missing JSP-support in Visual Age. It would be a
    workaround to develop JSP outside Visual Age and just put them into the
    myserver/public_html directory. But if i start WLS from within Visual Age,
    the JSP won't compile, i get the error:
    D:\Java\bea51\myserver\classfiles\jsp_servlet\_test.java:48: Wrong number of
    arguments in method.
    if (sci.isResourceStale("/test.jsp", 978702001388L, "5.1.0 Service
    Pack 6 09/20/2000 21:03:19 #84511")) return true;
    Operating System is WinNT 4.0, Service Pack 6, i use the professional
    edition of Visual Age.
    Is there a wrong setting in the IDE or is it impossible to develop JSPs with
    the Integration Kit?
    Regards,
    Reinhard Maier
    D:\Java\bea51\myserver\classfiles\jsp_servlet\_test.java:48: Wrong number of
    arguments in method.
    if (sci.isResourceStale("/test.jsp", 978702001388L, "5.1.0 Service
    Pack 6 09/20/2000 21:03:19 #84511")) return true;
    ^
    1 error
    java.io.IOException: Compiler failed
    executable.exec([Ljava.lang.String;[d:/java/jdk1.2/bin/javac.exe, -classpath
    , "D:\Programme\IBM\VisualAge for
    Java\ide\program\lib\rt.jar;.;d:\programme\ibm\visualage for
    java\ide\project_resources\WebLogic Examples;d:\programme\ibm\visualage for
    java\ide\project_resources\Weblogic Java 2
    Classes;d:\programme\ibm\visualage for java\ide\project_resources\WebLogic
    Java Enterprises Libraries;d:\programme\ibm\visualage for
    java\ide\project_resources\WebLogic OCI;d:\programme\ibm\visualage for
    java\ide\project_resources\WebLogic Server;d:\programme\ibm\visualage for
    java\ide\project_resources\WebLogic Server
    Classes;d:\programme\ibm\visualage for java\ide\project_resources\WebLogic
    Support
    Libraries;d:\java\bea51\classes\boot\;d:\java\bea51\classes\;d:\java\bea51\l
    icense\;d:\java\bea51\myserver\serverclasses\;d:\java\bea51\lib\weblogicaux.
    jar;d:\java\bea51\myserver\ejb_basic_containerManaged.jar;d:\java\bea51\myse
    rver\ejb_extensions_readMostly.jar;d:\java\bea51\classes;D:\Java\bea51\myser
    ver\tmp_deployments\ejbjar30505.jar;d:\java\bea51\myserver\servletclasses;D:
    \Java\bea51\myserver\classfiles", -d, D:\Java\bea51\myserver\classfiles,
    D:\Java\bea51\myserver\classfiles\jsp_servlet\_test.java])
    java.lang.Throwable(java.lang.String)
    java.lang.Exception(java.lang.String)
    java.io.IOException(java.lang.String)
    void
    weblogic.utils.compiler.CompilerInvoker.compileMaybeExit(java.lang.String
    void weblogic.utils.compiler.CompilerInvoker.compile()
    void weblogic.servlet.jsp.JspStub.compilePage(java.lang.String,
    javax.servlet.http.HttpServletRequest,
    javax.servlet.http.HttpServletResponse, boolean)
    void
    weblogic.servlet.jsp.JspStub.prepareServlet(weblogic.servlet.internal.Servle
    tRequestImpl, weblogic.servlet.internal.ServletResponseImpl)
    javax.servlet.Servlet
    weblogic.servlet.internal.ServletStubImpl.getServlet(weblogic.servlet.intern
    al.ServletRequestImpl, weblogic.servlet.internal.ServletResponseImpl)
    void
    weblogic.servlet.internal.ServletStubImpl.invokeServlet(weblogic.servlet.int
    ernal.ServletRequestImpl, weblogic.servlet.internal.ServletResponseImpl)
    void
    weblogic.servlet.internal.ServletStubImpl.invokeServlet(weblogic.servlet.int
    ernal.ServletRequestImpl, weblogic.servlet.internal.ServletResponseImpl)
    void
    weblogic.servlet.internal.ServletContextImpl.invokeServlet(weblogic.servlet.
    internal.ServletRequestImpl, weblogic.servlet.internal.ServletResponseImpl,
    weblogic.servlet.internal.ServletStubImpl)
    void
    weblogic.servlet.internal.ServletContextImpl.invokeServlet(weblogic.servlet.
    internal.ServletRequestImpl, weblogic.servlet.internal.ServletResponseImpl)
    int
    weblogic.servlet.internal.ServletContextManager.invokeServlet(weblogic.socke
    t.MuxableSocketHTTP)
    int weblogic.socket.MuxableSocketHTTP.invokeServlet()
    void
    weblogic.socket.MuxableSocketHTTP.execute(weblogic.kernel.ExecuteThread)
    void weblogic.kernel.ExecuteThread.run()
    Mo Jan 08 12:00:03 GMT+01:00 2001:<E> <ServletContext-General> Servlet
    failed with Exception
    java.io.IOException: Compiler failed
    executable.exec([Ljava.lang.String;[d:/java/jdk1.2/bin/javac.exe, -classpath
    , "D:\Programme\IBM\VisualAge for
    Java\ide\program\lib\rt.jar;.;d:\programme\ibm\visualage for
    java\ide\project_resources\WebLogic Examples;d:\programme\ibm\visualage for
    java\ide\project_resources\Weblogic Java 2
    Classes;d:\programme\ibm\visualage for java\ide\project_resources\WebLogic
    Java Enterprises Libraries;d:\programme\ibm\visualage for
    java\ide\project_resources\WebLogic OCI;d:\programme\ibm\visualage for
    java\ide\project_resources\WebLogic Server;d:\programme\ibm\visualage for
    java\ide\project_resources\WebLogic Server
    Classes;d:\programme\ibm\visualage for java\ide\project_resources\WebLogic
    Support
    Libraries;d:\java\bea51\classes\boot\;d:\java\bea51\classes\;d:\java\bea51\l
    icense\;d:\java\bea51\myserver\serverclasses\;d:\java\bea51\lib\weblogicaux.
    jar;d:\java\bea51\myserver\ejb_basic_containerManaged.jar;d:\java\bea51\myse
    rver\ejb_extensions_readMostly.jar;d:\java\bea51\classes;D:\Java\bea51\myser
    ver\tmp_deployments\ejbjar30505.jar;d:\java\bea51\myserver\servletclasses;D:
    \Java\bea51\myserver\classfiles", -d, D:\Java\bea51\myserver\classfiles,
    D:\Java\bea51\myserver\classfiles\jsp_servlet\_test.java])
    java.lang.Throwable(java.lang.String)
    java.lang.Exception(java.lang.String)
    java.io.IOException(java.lang.String)
    void
    weblogic.utils.compiler.CompilerInvoker.compileMaybeExit(java.lang.String
    void weblogic.utils.compiler.CompilerInvoker.compile()
    void weblogic.servlet.jsp.JspStub.compilePage(java.lang.String,
    javax.servlet.http.HttpServletRequest,
    javax.servlet.http.HttpServletResponse, boolean)
    void
    weblogic.servlet.jsp.JspStub.prepareServlet(weblogic.servlet.internal.Servle
    tRequestImpl, weblogic.servlet.internal.ServletResponseImpl)
    javax.servlet.Servlet
    weblogic.servlet.internal.ServletStubImpl.getServlet(weblogic.servlet.intern
    al.ServletRequestImpl, weblogic.servlet.internal.ServletResponseImpl)
    void
    weblogic.servlet.internal.ServletStubImpl.invokeServlet(weblogic.servlet.int
    ernal.ServletRequestImpl, weblogic.servlet.internal.ServletResponseImpl)
    void
    weblogic.servlet.internal.ServletStubImpl.invokeServlet(weblogic.servlet.int
    ernal.ServletRequestImpl, weblogic.servlet.internal.ServletResponseImpl)
    void
    weblogic.servlet.internal.ServletContextImpl.invokeServlet(weblogic.servlet.
    internal.ServletRequestImpl, weblogic.servlet.internal.ServletResponseImpl,
    weblogic.servlet.internal.ServletStubImpl)
    void
    weblogic.servlet.internal.ServletContextImpl.invokeServlet(weblogic.servlet.
    internal.ServletRequestImpl, weblogic.servlet.internal.ServletResponseImpl)
    int
    weblogic.servlet.internal.ServletContextManager.invokeServlet(weblogic.socke
    t.MuxableSocketHTTP)
    int weblogic.socket.MuxableSocketHTTP.invokeServlet()
    void
    weblogic.socket.MuxableSocketHTTP.execute(weblogic.kernel.ExecuteThread)
    void weblogic.kernel.ExecuteThread.run()

    Hi ,
    There is a solution posted in "weblogic.beta.tools.visualage" newsgroup which will enable u to
    develope and debug JSP's from IVJ .
    TITLE "JSP debugging in IVJ "
    cheers
    Amjad
    Dana Jeffries wrote:
    Visual Age does not support the latest versrions of the JSP/servlet spec. I believe they're still
    .92 and 1.0.
    Reinhard Maier wrote:
    Hello,
    i have a problem with the missing JSP-support in Visual Age. It would be a
    workaround to develop JSP outside Visual Age and just put them into the
    myserver/public_html directory. But if i start WLS from within Visual Age,
    the JSP won't compile, i get the error:
    D:\Java\bea51\myserver\classfiles\jsp_servlet\_test.java:48: Wrong number of
    arguments in method.
    if (sci.isResourceStale("/test.jsp", 978702001388L, "5.1.0 Service
    Pack 6 09/20/2000 21:03:19 #84511")) return true;
    Operating System is WinNT 4.0, Service Pack 6, i use the professional
    edition of Visual Age.
    Is there a wrong setting in the IDE or is it impossible to develop JSPs with
    the Integration Kit?
    Regards,
    Reinhard Maier
    D:\Java\bea51\myserver\classfiles\jsp_servlet\_test.java:48: Wrong number of
    arguments in method.
    if (sci.isResourceStale("/test.jsp", 978702001388L, "5.1.0 Service
    Pack 6 09/20/2000 21:03:19 #84511")) return true;
    ^
    1 error
    java.io.IOException: Compiler failed
    executable.exec([Ljava.lang.String;[d:/java/jdk1.2/bin/javac.exe, -classpath
    , "D:\Programme\IBM\VisualAge for
    Java\ide\program\lib\rt.jar;.;d:\programme\ibm\visualage for
    java\ide\project_resources\WebLogic Examples;d:\programme\ibm\visualage for
    java\ide\project_resources\Weblogic Java 2
    Classes;d:\programme\ibm\visualage for java\ide\project_resources\WebLogic
    Java Enterprises Libraries;d:\programme\ibm\visualage for
    java\ide\project_resources\WebLogic OCI;d:\programme\ibm\visualage for
    java\ide\project_resources\WebLogic Server;d:\programme\ibm\visualage for
    java\ide\project_resources\WebLogic Server
    Classes;d:\programme\ibm\visualage for java\ide\project_resources\WebLogic
    Support
    Libraries;d:\java\bea51\classes\boot\;d:\java\bea51\classes\;d:\java\bea51\l
    icense\;d:\java\bea51\myserver\serverclasses\;d:\java\bea51\lib\weblogicaux.
    jar;d:\java\bea51\myserver\ejb_basic_containerManaged.jar;d:\java\bea51\myse
    rver\ejb_extensions_readMostly.jar;d:\java\bea51\classes;D:\Java\bea51\myser
    ver\tmp_deployments\ejbjar30505.jar;d:\java\bea51\myserver\servletclasses;D:
    \Java\bea51\myserver\classfiles", -d, D:\Java\bea51\myserver\classfiles,
    D:\Java\bea51\myserver\classfiles\jsp_servlet\_test.java])
    java.lang.Throwable(java.lang.String)
    java.lang.Exception(java.lang.String)
    java.io.IOException(java.lang.String)
    void
    weblogic.utils.compiler.CompilerInvoker.compileMaybeExit(java.lang.String
    void weblogic.utils.compiler.CompilerInvoker.compile()
    void weblogic.servlet.jsp.JspStub.compilePage(java.lang.String,
    javax.servlet.http.HttpServletRequest,
    javax.servlet.http.HttpServletResponse, boolean)
    void
    weblogic.servlet.jsp.JspStub.prepareServlet(weblogic.servlet.internal.Servle
    tRequestImpl, weblogic.servlet.internal.ServletResponseImpl)
    javax.servlet.Servlet
    weblogic.servlet.internal.ServletStubImpl.getServlet(weblogic.servlet.intern
    al.ServletRequestImpl, weblogic.servlet.internal.ServletResponseImpl)
    void
    weblogic.servlet.internal.ServletStubImpl.invokeServlet(weblogic.servlet.int
    ernal.ServletRequestImpl, weblogic.servlet.internal.ServletResponseImpl)
    void
    weblogic.servlet.internal.ServletStubImpl.invokeServlet(weblogic.servlet.int
    ernal.ServletRequestImpl, weblogic.servlet.internal.ServletResponseImpl)
    void
    weblogic.servlet.internal.ServletContextImpl.invokeServlet(weblogic.servlet.
    internal.ServletRequestImpl, weblogic.servlet.internal.ServletResponseImpl,
    weblogic.servlet.internal.ServletStubImpl)
    void
    weblogic.servlet.internal.ServletContextImpl.invokeServlet(weblogic.servlet.
    internal.ServletRequestImpl, weblogic.servlet.internal.ServletResponseImpl)
    int
    weblogic.servlet.internal.ServletContextManager.invokeServlet(weblogic.socke
    t.MuxableSocketHTTP)
    int weblogic.socket.MuxableSocketHTTP.invokeServlet()
    void
    weblogic.socket.MuxableSocketHTTP.execute(weblogic.kernel.ExecuteThread)
    void weblogic.kernel.ExecuteThread.run()
    Mo Jan 08 12:00:03 GMT+01:00 2001:<E> <ServletContext-General> Servlet
    failed with Exception
    java.io.IOException: Compiler failed
    executable.exec([Ljava.lang.String;[d:/java/jdk1.2/bin/javac.exe, -classpath
    , "D:\Programme\IBM\VisualAge for
    Java\ide\program\lib\rt.jar;.;d:\programme\ibm\visualage for
    java\ide\project_resources\WebLogic Examples;d:\programme\ibm\visualage for
    java\ide\project_resources\Weblogic Java 2
    Classes;d:\programme\ibm\visualage for java\ide\project_resources\WebLogic
    Java Enterprises Libraries;d:\programme\ibm\visualage for
    java\ide\project_resources\WebLogic OCI;d:\programme\ibm\visualage for
    java\ide\project_resources\WebLogic Server;d:\programme\ibm\visualage for
    java\ide\project_resources\WebLogic Server
    Classes;d:\programme\ibm\visualage for java\ide\project_resources\WebLogic
    Support
    Libraries;d:\java\bea51\classes\boot\;d:\java\bea51\classes\;d:\java\bea51\l
    icense\;d:\java\bea51\myserver\serverclasses\;d:\java\bea51\lib\weblogicaux.
    jar;d:\java\bea51\myserver\ejb_basic_containerManaged.jar;d:\java\bea51\myse
    rver\ejb_extensions_readMostly.jar;d:\java\bea51\classes;D:\Java\bea51\myser
    ver\tmp_deployments\ejbjar30505.jar;d:\java\bea51\myserver\servletclasses;D:
    \Java\bea51\myserver\classfiles", -d, D:\Java\bea51\myserver\classfiles,
    D:\Java\bea51\myserver\classfiles\jsp_servlet\_test.java])
    java.lang.Throwable(java.lang.String)
    java.lang.Exception(java.lang.String)
    java.io.IOException(java.lang.String)
    void
    weblogic.utils.compiler.CompilerInvoker.compileMaybeExit(java.lang.String
    void weblogic.utils.compiler.CompilerInvoker.compile()
    void weblogic.servlet.jsp.JspStub.compilePage(java.lang.String,
    javax.servlet.http.HttpServletRequest,
    javax.servlet.http.HttpServletResponse, boolean)
    void
    weblogic.servlet.jsp.JspStub.prepareServlet(weblogic.servlet.internal.Servle
    tRequestImpl, weblogic.servlet.internal.ServletResponseImpl)
    javax.servlet.Servlet
    weblogic.servlet.internal.ServletStubImpl.getServlet(weblogic.servlet.intern
    al.ServletRequestImpl, weblogic.servlet.internal.ServletResponseImpl)
    void
    weblogic.servlet.internal.ServletStubImpl.invokeServlet(weblogic.servlet.int
    ernal.ServletRequestImpl, weblogic.servlet.internal.ServletResponseImpl)
    void
    weblogic.servlet.internal.ServletStubImpl.invokeServlet(weblogic.servlet.int
    ernal.ServletRequestImpl, weblogic.servlet.internal.ServletResponseImpl)
    void
    weblogic.servlet.internal.ServletContextImpl.invokeServlet(weblogic.servlet.
    internal.ServletRequestImpl, weblogic.servlet.internal.ServletResponseImpl,
    weblogic.servlet.internal.ServletStubImpl)
    void
    weblogic.servlet.internal.ServletContextImpl.invokeServlet(weblogic.servlet.
    internal.ServletRequestImpl, weblogic.servlet.internal.ServletResponseImpl)
    int
    weblogic.servlet.internal.ServletContextManager.invokeServlet(weblogic.socke
    t.MuxableSocketHTTP)
    int weblogic.socket.MuxableSocketHTTP.invokeServlet()
    void
    weblogic.socket.MuxableSocketHTTP.execute(weblogic.kernel.ExecuteThread)
    void weblogic.kernel.ExecuteThread.run()

  • Uninstalling beta CS6 in mac

    Running under Lion 10.7.3 my Photoshop CS6 beta probably expired because it starts no more. But Bridge surprisingly does...
    In fact there are not 60 days transcurred from 21 mars untill now 29 april...
    When I try to uninstall with the uninstaller this one does'nt open and stays in the dock as open but without response. Trying to launch it again a second icon shows in the dock...
    What shall I do? The cleaner tool is not designed for the CS6 version. I was tempted to try a new installation and then uninstall...Can someone help me?

    Falling in temptation is sometimes the right solution. Probleme solved, beta working again and uninstaller able to do his work. Where was the problem?

  • MySQL DSNs

    Hi
    Is anyone out there able to do a quick test of MySQL DSNs?
    I am running CF10 beta on Win Vista Home Premium 64-bit, and trying to create DSNs to a  "MySQL 5.5.2-m2-community" DB, also installed locally.  When I do so, I get this:
    Connection verification failed for data source: dsntest
    com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Could not create connection to database server. Attempted reconnect 3 times. Giving up.
    The root cause was that: com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Could not create connection to database server. Attempted reconnect 3 times. Giving up.
    Connecting to the same DB with the same credentials on CF8 and CF9 (and Railo, OpenBD and BD.NET) works fine.
    I have ruled out firewall issues.
    I'm less interested in people offering advice as to what might be the cause (Adobe are on the case, and they'll be best placed to advise there), but just interested if someone who has a comparable environment could try to set up a MySQL DSN and see if it works.
    If someone can get a DSN to work on  Win Vista Home Premium 64-bit, and MySQL 5.5.2-m2-community (or similar, if not exactly the same point release), then I'd be pretty happy to just put it down to a vagary of my PC, and advise Adobe to stop looking at it.
    On the other hand if someone else has the same problem, it would be handy to know.
    Cheers.
    Adam

    Geoff
    You may need to use MySQL Administrator to add a host from which root
    can connect, if you want to be able to log in as root from workstations.
    By default I believe root can only connect from localhost, ie the
    server itself, and this is a security feature.
    However, you can add additional hosts, including %.yourinternaldomain,
    and re-assign the privileges you want root to have. I find it a bit
    confusing, but root@localhost and root@somewhere_else seem to behave as
    different users.
    I personally leave root for just localhost access and use another user
    for workstation access - a bit safer and if I stuff up the other user if
    worst comes to worst I can fix it from a command line on the server.
    Hope this helps
    Rob
    Geoff Roberts wrote:
    >>>> On 6/08/2007 at 8:53 am, in message <[email protected]>,
    > Christopher Premo<[email protected]> wrote:
    >> I've just loaded it as well. I am running the Free NSure Audit (version
    >> 2.0.2) on my File servers. Currently, I'm just tracking Netware and
    >> eDirectory Logins and outs and intruder detections.
    >>
    >> I've tried to connect to the MySQL database via the MySQL ODBC driver,
    >> but have been unsuccessful so far. However, I have been able to use the
    >> MySQL Administration and Query Browser program to access the MySQL
    >> database on the Master server.
    >>
    >> I'm in the processes of developing instruction for our unit to "export"
    >> the Audit data, clear the MySQL database, and import the data into an
    >> Access database for audit analysis. Unfortunately, there are some manual
    >
    >> steps, but the process seems to be easy and quick to accomplish.
    >
    > I've been able to login remotely. Finally. However NOT as root. I had to
    > create another user and grant it all rights for everything. That works from
    > console and remotely, root still only works from the console. I'm wondering
    > if this is a 'feature'...
    >
    >
    > Regards
    >

  • HP Pavilion Elite M9040N - Putting in a better Graphics Card

    Hi,I've been searching for a even better Graphics Card than what I have in my computer right now.It seems that when I play the new updated Train Simulator 2015,my graphics can't keep up with the games graphics which they reccommend the Graphics Card 512MB with Pixel Shader 3.0 (AGP PCIe only) Iam trying to figure out which Card would be in the best to get and also be in mid price range or for a good deal.If anybody knows of a Graphics Card that I could upgrade from the current Nvidia Zotac GT 520 card that I have in my CPU already.I'd be greatful for anyone's opinion on this,Thank's!  :-)

    I have some sad news for you. The m9040n is below the minimums required for gameplay of Trainz 2015.
    Your system has a 2.4Ghz processor, min is 2.8Ghz, recommended is an I-5 at 3.4Ghz.
    The Zotac GT520 1GB 64bit card is too weak, but no sense upgrading the card. You do not the CPU power.
    If your a steam internet sourced user, your ISP speed can be an added problem.  DSL is a no-play zone.
    CPU Mark Relative to performance
    As of 24th of October 2014 - Higher results represent better performance.
    Intel Core i5-4670K @ 3.40GHz               7,696
    Intel Core i5-3570K @ 3.40GHz               7,164
    Intel Core2 Quad Q6600 @ 2.40GHz      2,987    *** your CPU  (note the serious difference)
    source
    I have the hardcopy of 2006 and 2010 Trainz  (LifeMember).   I do not use Steam.
    I am a volunteer. I am not an HP employee.
    To say THANK YOU, press the "thumbs up symbol" to render a KUDO. Please click Accept as Solution, if your problem is solved. You can render both Solution and KUDO.
    The Law of Effect states that positive reinforcement increases the probability of a behavior being repeated. (B.F.Skinner). You toss me KUDO and/or Solution, and I perform better.
    (2) HP DV7t i7 3160QM 2.3Ghz 8GB
    HP m9200t E8400,Win7 Pro 32 bit. 4GB RAM, ASUS 550Ti 2GB, Rosewill 630W. 1T HD SATA 3Gb/s
    Custom Asus P8P67, I7-2600k, 16GB RAM, WIN7 Pro 64bit, EVGA GTX660 2GB, 750W OCZ, 1T HD SATA 6Gb/s
    Custom Asus P8Z77, I7-3770k, 16GB RAM, WIN7 Pro 64bit, EVGA GTX670 2GB, 750W OCZ, 1T HD SATA 6Gb/s
    Both Customs use Rosewill Blackhawk case.
    Printer -- HP OfficeJet Pro 8600 Plus

Maybe you are looking for