Import data from Informix DB to SQL Server 2012

I am trying to use the SSIS Import and Export Wizard in SQL Server Data Tools to migrate an Informix database to SQL Server 2012.  I go through the steps & when I hit Finish I get an error message that says:
TITLE: SQL Server Import and Export Wizard
Could not connect source component.
Error 0xc0047062: Source - material [1]: System.Data.Odbc.OdbcException (0x80131937): ERROR [42000] [Informix][Informix ODBC Driver][Informix]A syntax error has occurred.
   at System.Data.Odbc.OdbcConnection.HandleError(OdbcHandle hrHandle, RetCode retcode)
   at System.Data.Odbc.OdbcCommand.ExecuteReaderObject(CommandBehavior behavior, String method, Boolean needReader, Object[] methodArguments, SQL_API odbcApiMethod)
   at System.Data.Odbc.OdbcCommand.ExecuteReaderObject(CommandBehavior behavior, String method, Boolean needReader)
   at System.Data.Odbc.OdbcCommand.ExecuteReader(CommandBehavior behavior)
   at System.Data.Odbc.OdbcCommand.ExecuteDbDataReader(CommandBehavior behavior)
   at System.Data.Common.DbCommand.System.Data.IDbCommand.ExecuteReader(CommandBehavior behavior)
   at Microsoft.SqlServer.Dts.Pipeline.DataReaderSourceAdapter.ReinitializeMetaData()
   at Microsoft.SqlServer.Dts.Pipeline.ManagedComponentHost.HostReinitializeMetaData(IDTSManagedComponentWrapper100 wrapper)
ADDITIONAL INFORMATION:
ERROR [42000] [Informix][Informix ODBC Driver][Informix]A syntax error has occurred. (iclit09b.dll)
BUTTONS:
OK
I am getting this error when I use the "Copy data from one or more tables or views" option.  I am able to migrate a single table with no problem when I use the "Write a query to specify the data to transfer"
option.  This is my first time using SSIS so I am not sure what to do.  Can anyone help me out?  Thanks...

The following link explains the steps/processes requires to perform this in SSIS:
http://davidbridge.wordpress.com/2012/05/30/extraction-from-informix-database-using-ssis-data-warehouse-etl/
Thanks, hsbal

Similar Messages

  • Extra column to be added while importing data from flat file to SQL Server

    I have 3 flat files with only one column in a table.
    The file names are bars, mounds & mini-bars.
    Table 'prd_type' has columns 'typeid' & 'typename' where typeid is auto-incremented and typename is bars, mounds & mini-bars.
    I Import data from 3 files to prd_details table. This table has columns 'pid', 'typeid' & 'pname' where pid is auto-incremented and pname is mapped to flat files and get info from them, now i wanted the typeid info to be received from prd_type table.
    Can someone please suggest me on this?

    You can get it as follows
    Assuming you've three separate data flow tasks for three files you can do this
    1. Add a new column to pipeline using derived column transformation and hardcode it to bars, mounds or mini-bars depending on the source
    2. Add a look task based on prd_type table. use query as
    SELECT typeid,typename
    FROM prd_type
    Use full cache option
    Add lookup based on derived column. new column -> prd_type.typename relationship. Select typeid as output column
    3. In the final OLEDB destination task map the typeid column to tables typeid column.
    In case you use single data flow task you need to include a logic based on filename or something to get the hardcoded type value as bars, mounds or mini-bars in the data pipeline
    Please Mark This As Answer if it helps to solve the issue Visakh ---------------------------- http://visakhm.blogspot.com/ https://www.facebook.com/VmBlogs

  • Importing Data From XLS File to SQL Server

    Dear All,
    I want to import the data from Excel(.xls) file to SQL Server (2008 R2). But due to some problem (may be data), an error is occurring when I am going to import using Import Data Wizard. I want the rows to ignore those are creating issues and to keep track
    of those records. That's why I need to process rows one by one. How can I do it? Any idea?
    Thanks & Regards,
    Anujit Karmakar
    Anujit Karmakar Sr. Software Engineer

    Whats the error? Have you mapped the source-destination data types  in column mappings?
    Below is a link to video to guide you through the Steps of Import/Export Wizard
    SSIS Wizard Video: http://www.youtube.com/watch?v=9Wmdhnx1niU
    Please mark this reply as answer if it solved your issue or vote as helpful if it helped so that other
    forum members can benefit from it 

  • Is there any way of importing stuffs from Microsoft Access to SQL Server?

    I have quite a big store of information Microsoft Access DB, but now i am required to switch to SQL Server?
    Is there any way of importing to SQL Server, either by Java programming or manually?
    Thank you in advance.

    I like to give some tips on how to fulfil the requirement.. I haven't tried this. If you succeeded, it is well and good.
    1) Using Java:
    If you like to Java to import the data from MS Access to SQL Server, you have to write a JDBC Program in such a way that it has to retrieve the data from each MSAccess tables and store it in temperory java varaible.After writng into the temp. varaibles, the same thing will be written into SQL Server. The whole process is repeated for all the tables in MS Access.
    2) Manual Process:
    Try to get the data scripts from MS-Access for all the tables and Load the same into SQL Server
    I hope that Manual Process consumes less time compared in writing the codes for transformation..
    I hope that you got some idea on reading this. If you have any doubts, try to get back to me..

  • What is the easiest way to export all tables data from Oracle to MS SQL Server?

    Hello MS,
    I would like to export all tables from Oracle 11.2 to MS SQL Server 2012 R1.
    Using the tool "Microsoft SQL Server Migration Assistant v6.0 for Oracle" did not work for me because there are too many warnings and errors regarding the schema creation (MS cannot know it because they are not the schema designer). My idea is
    to leave/skip the schema creation to the application designer/supplier and instead concentrate on the Oracle data export and MS SQL data import.
    What is the easiest way to export all tables data from Oracle to MS SQL Server quickly?
    Is it:
    - the „MS SQL Import and Export Data“ Tool
    - the “MS SQL Integration Services” Tool
    - not Oracle dump *.dmp format because it is a propritery binary format
    - flat file *.csv (delimited format)
    Thanks!

    Hi lingodingo,
    If you want to directly export all tables from Oracle database to SQL Server, I suggest you use SQL Server Import and Export Wizard. Because you just need to follow the wizard with GUI, this is the easiest way.
    If you want to make some modification for the tables‘ data before loading to SQL Server, I suggest you use SQL Server Integration Services package. For more details, please refer to the following similar thread:
    https://social.msdn.microsoft.com/Forums/sqlserver/en-US/38b2bed2-9d4e-48d4-a33f-1d9eed1c062d/flat-file-to-sql-server?forum=sqldatamining
    Thanks,
    Katherine Xiong
    Katherine Xiong
    TechNet Community Support

  • Tsql import from xml to table - sql server 2012 = (o row(s) affected)

    Hello,
    here is my XML header and footer:
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <streetAndCities xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <record>
    <rowIndex></rowIndex>
    <cityCode></cityCode>
    <cityName></cityName>
    <streetCode></streetCode>
    <streetName></streetName>
    </record>
    </streetAndCities>
    with a bunch of <record></record> tags with data inside....
    I'm trying to import data from my XML file to my new and empty table with the following code:
    DECLARE @xml XML
    SELECT @xml = x.y
    FROM OPENROWSET( BULK 'c:\st.xml', SINGLE_CLOB ) x(y)
    INSERT INTO tblCitiesStreets(rowIndex, cityCode, cityName, streetCode, streetName)
    SELECT
    x.y.value('(Column[@Name="rowIndex"]/text())[1]', 'INT') rowIndex,
    x.y.value('(Column[@Name="cityCode"]/text())[1]', 'NVARCHAR(255)') cityCode,
    x.y.value('(Column[@Name="cityName"]/text())[1]', 'NVARCHAR(255)') cityName,
    x.y.value('(Column[@Name="streetCode"]/text())[1]', 'NVARCHAR(255)') streetCode,
    x.y.value('(Column[@Name="streetName"]/text())[1]', 'NVARCHAR(255)') streetName
    FROM @xml.nodes('Root/DataRow') AS x(y)
    but the output I get is 
    (0 row(s) affected)
    and of course when I select * from tblCitiesStreets, the table is empty.
    what is wrong with the code?
    regards

    Nothing's wrong with your code. You're working with the wrong file OR - I guess - you have copied those XPath expressions without further looking at them..
    This works with your XML:
    DECLARE @xml XML = N'
    <streetAndCities xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <record>
    <rowIndex>1</rowIndex>
    <cityCode>2</cityCode>
    <cityName>3</cityName>
    <streetCode>4</streetCode>
    <streetName>5</streetName>
    </record>
    </streetAndCities>';
    SELECT Record.value('rowIndex[1]', 'INT') rowIndex ,
    Record.value('cityCode[1]', 'NVARCHAR(255)') cityCode ,
    Record.value('cityName[1]', 'NVARCHAR(255)') cityName ,
    Record.value('streetCode[1]', 'NVARCHAR(255)') streetCode ,
    Record.value('streetName[1]', 'NVARCHAR(255)') streetName
    FROM @xml.nodes('streetAndCities/record') AS StreetsAndCities ( Record );

  • Import MS Access 2013 tables into SQL Server 2012

    Hi there,
    Is there a step by step example somewhere showing how to import an MS Access 2013 table into SQL Server 2012?
    I have read the existing posts and don't see a definitive answer.
    I have installed MS Access 2010 engine, first 32 bit then 64 bit.
    I have installed the MS Access 2013 runtime on my server.
    I use the Office 2015 Access Database Engine OLE DB Provider.
    I get the error:
    Error 0xc0202009: Source - APEntries [1]: SSIS Error Code DTS_E_OLEDBERROR.  An OLE DB error has occurred. Error code: 0x80040E37.
    Error 0xc02020e8: Source - APEntries [1]: Opening a rowset for "`TableName`" failed. Check that the object exists in the database.
    The post regarding the above errors doesn't resolve the issue.
    I have full administrative permissions on the server.
    What is the trick to making this work?
    Thanks,
    Ric
    Ric Miller

    Hi there,
    I tried the exact same operation on a third machine.
    This machine has Windows 8.1 64 bit, SQL Server 2012 64 bit, MS Office 2013 Plus 32 bit.
    I am the administrator on this machine.
    I installed this:
    Microsoft Access Database Engine 2010 Redistributable 32 bit (because I have MS Office 2013 plus 32 bit installed.)
    From here:
    http://www.microsoft.com/en-us/download/details.aspx?id=13255
    It won't let me install the 64 bit version without uninstalling MS Office 32 bit.
    I created an MS Access database on this machine using MS Access 2013 and created a table with 3 records.
    I used the "Import and Export Data (32 bit)" from the start menu.
    After I installed the "Database Engine 2010 32 bit" driver above, I now have the option of "Office 2015 Access Database Engine OLE DB Provider" as Data Source which I did not have prior to doing this installation.
    I selected the driver and added the Properties of the Data Source Name file location of the MS Access file. I am using a blank password.
    I go thru the same sequence of selecting a table to import and after running the result is the same:
    Error 0xc0202009: Source - APEntries [1]: SSIS Error Code DTS_E_OLEDBERROR.  An OLE DB error has occurred. Error code: 0x80040E37.
    "Error 0xc02020e8: Source - APEntries [1]: Opening a rowset for "`TableName`" failed. Check that the object exists in the database."
    This seems to be consistent across three machines with three operating systems with the same files and the same result.
    I understand that some people have gotten this to work.
    I would appreciate it if anyone can report an error in the above procedure to me.
    Thanks,
    Ric
    Ric Miller

  • Data types not compatible with Sql Server 2012

    HI All,
    I need to know what are data types which were present in sql server 2005 but are not in sql server 2012.
    Regards
    Rahul

    Hi vaibhav
    Thanks for help. Actually my requirement is that I have one database on sql server 2005 version. I am planning to migrate it to sql server 2012 version. I want to publish a list of all objects across all databases which cannot be replicated to sql server
    2012.How can I do this. Are there any data types which were in sql 2005 version but are depreciated in sql server 2012
    Regards
    Rahul
    yes there are
    but why not look at here for breaking changes
    http://msdn.microsoft.com/en-us/library/ms143179(v=sql.110).aspx
    The deprecated features would still work though new development using them is discouraged
    Please Mark This As Answer if it solved your issue
    Please Vote This As Helpful if it helps to solve your issue
    Visakh
    My Wiki User Page
    My MSDN Page
    My Personal Blog
    My Facebook Page

  • Importing Data from MS Access into SQL Serevr 2005 via Linked Server: User-Dependent failure

    I am operating an Express version of SQL Server 2005 on a Windows XP machine.
    I have successfully setup a linked server to a remote Access (.mdb) database. With my user account (Windows authentication) I can retrieve and store data without any problem.
    I have another user (apparently with same settings as my own account) that is always failing to get the data.
    The Error message he gets is:
    OLE DB provider "Microsoft.Jet.OLEDB.4.0" for linked server "TSU_Tmp" returned message "The Microsoft Jet database engine cannot open the file '\\DSITSO-NT0001\Exchange\Database5.mdb'.  It is already opened exclusively by another
    user, or you need permission to view its data.".
    Msg 7303, Level 16, State 1, Line 1
    Cannot initialize the data source object of OLE DB provider "Microsoft.Jet.OLEDB.4.0" for linked server "TSU_Tmp".
    Here below the code used to set up the linked server (coming from the Code Snippets of SQL Server 2005).
    EXEC sp_addlinkedserver
    @server = N'TSU_Tmp',
    @provider = N'Microsoft.Jet.OLEDB.4.0',
    @srvproduct = N'OLE DB Provider for Jet',
    @datasrc = N'\\DSITSO-NT0001\Exchange\Database5.mdb'
    EXEC sp_addlinkedsrvlogin
    @rmtsrvname = N'TSU_Tmp',
    @useself = N'TRUE',
    @locallogin = NULL,
    @rmtuser = N'Admin',
    @rmtpassword = NULL
    We both run the script, actually is a Stored Procedure, (see code below) on the same XP machine where SQL Server is running.
    EXEC('INSERT INTO tblFcst
    (StartBUCode, StartBUType, StartBUSeq, StartTrz, StartCty,
    EndBUCode, EndBUType, EndBUSeq, EndTrz, EndCty,
    FcstCreationPeriod, FcstValidForPeriod, Fcst, FcstExternalReference,
    IsProcessed, IsSolved)
    SELECT TSU.BUCodeSend, TSU.BUTypeSend, TSU.BuaNoSend, Null AS StartTrz, Null AS StartCty,
    TSU.BUCodeRcv, TSU.BUTypeRcv, TSU.BuaNoRcv, Null AS EndTrz, Null AS EndCty,
    TSU.[Current week], TSU.[Forecast for week], TSU.[Volume trp m3], TSU.[TSU_ID (Don''t touch me)],
    0 AS IsProcessed, 0 AS IsSolved
    FROM TSU_Tmp...tbl_TSU_trpm3 AS TSU;')
    PS: it is run using an 'EXEC(String)' format as at compile time of Store Procedure the Linked Server is not existing and otherwise compile would fail.
    We tried it with different files, in different locations. It always wors for me, never for him...
    The files were not used by anyone else. The folder(s) where they were stored are open to "Everyone".
    So I concluded it should be something linked to the User... :) But I really do not know what, as said apparently we have exactely the same setup in our Login profiles.
    Any idea or suggestion is welcome.
    Thanks
    Luca

    Hi Luca Lentati,
    According to your description and T-SQL statement, we need to verify if the download and install the Microsoft.Jet.OleDB.4.0 as a provider.
     If the 64bit SQL Server is running on the server,  The error, the Microsoft.Jet.OleDB.4.0 is not support, I reommend you download and install the Microsoft.ACE.OLEDB.12.0 as a provider.
    The error 7303 message indicates that the linked server does not have correct login mapping. You can execute the sp_helplinkedsrvlogin stored procedure to set the login information correctly. Also, verify that you have specified the correct parameters
    for the linked server configuration.
    In addition, if the issue still exists, I recommend you copy the access file to local Server, and create linked server between them , check if it can run well. If yes, it means that
     the account which SQL server uses to run the service does not have read/write access to that file share.
    There is an article about configuring a Linked Microsoft Access Server on SQL 2005 Server , you can review the following article.
    http://www.aspfree.com/c/a/Microsoft-Access/Configuring-a-Linked-Microsoft-Access-Server-on-SQL-2005-Server/
    Regards,
    Sofiya Li
    Sofiya Li
    TechNet Community Support

  • Import data from Excel to MS-SQL 2008?

    I'm taking data from excel, exporting it to a csv file.
    Importing it forst to Access so I can see if it fails and then using the SQL Server Import Export Wizard to pull it in.
    It keeps failing and there's very little information on the internet that points me to a solution.
    If I just let it create it's own tables, it does fine but I need it to import the data in specific character types.
    So, I think my problem goes back to Access and it's way of setting character types.
    Anyone else have this problem? Solutions?
    Thanks

    If anyone is wondering.
    It tuned out to be the data in the Excel file, being old and abused, it had a lot of "junk" in the rows.
    I ended up just copying all the columns and rows and pasted "Special" (with values) back in new rows and that seem to have gottem me past the major errors. I hate how Excel is so loose with the rules. You ad that to the fact that a lot of people that don't know how to use Excel and you end up with a mixure that's not good.
    It seems that everyone here at this company uses Excel and because there aren't any rules and because Excel is so easy to start using, it gets messy.
    In most cases here, people should be using Access but I doubt that's going to happen.
    Man, I miss the NNTP server.

  • Bacpac import from Windows Azure into sql server 2012 fails

    Very sorry if this is posted in the wrong froum I was not sure where to post
    I am trying to verify a bacpac file  I downloaded from my windows azure sql  instance and I am getting this error when trying to Import into SQl server express 2012. SQL server 2008r2 is also installed on this machine. How can  I fix this?
    Count not load schema model from package. (Microsoft.SqlServer.Dac)
    Program Location:
       at Microsoft.SqlServer.Dac.DacPackage.LoadModel(IPackageSource packageSource)
       at Microsoft.SqlServer.Dac.Extensions.DacExtensions.GetCollationString(IPackageSource packageSource)
       at Microsoft.SqlServer.Dac.Extensions.DacExtensions.GetCollationString(BacPackage package)
       at Microsoft.SqlServer.Management.Dac.DacWizard.CreateDatabaseOnTargetWorkItem.DoWork()
       at Microsoft.SqlServer.Management.TaskForms.SimpleWorkItem.Run()
    ===================================
    Internal Error.  The internal target platform type SqlAzureDatabaseSchemaProvider does not support schema file version '2.5'. (File: G:\Fbasic8-2014-2-2-12-10.bacpac) (Microsoft.Data.Tools.Schema.Sql)
    Program Location:
       at Microsoft.Data.Tools.Schema.SchemaModel.DataSchemaModel.UpgradeSchema(ExtensionManager em, String originalSchemaVersion, XmlReader originalSchemaReader, String source)
       at Microsoft.Data.Tools.Schema.SchemaModel.DataSchemaModel.DeserializeXml(TextReader input, ErrorManager errors, String source, Action`3 constructorParametersSetter)
       at Microsoft.Data.Tools.Schema.SchemaModel.DataSchemaModel.DeserializePackage(SqlPackage package, ErrorManager errors, Action`3 constructorParametersSetter)
       at Microsoft.SqlServer.Dac.DacPackage.LoadModel(IPackageSource packageSource)
    Jon Stroh

    Hello,
    Just as Mike post above, the issue may occurs as the previous SSDT releases are not compatible with this new version of DACFX.
    You can refer to the following blog about this issue and download the latest release of SSDT from
    here.
    Reference:http://blogs.msdn.com/b/ssdt/archive/2012/10/10/ssdt-amp-dacfx-october-2012-compatibility-notes.aspx
    Regards,
    Fanny Liu
    Fanny Liu
    TechNet Community Support

  • Migrating data from Oracle 9i to SQL Server 2005

    I am new to both. I need to first migrate data from oracle to sql server. After this I need to create a daily nightly batch process to insert new records from oracle to sql server into that table.
    As my knowledge in SQL server is zero. Can somebody help me how I can accomplish this.
    Somebody told me that I can use sql server import/export to do initial data dump into sql server and after that I can create a link in in oracle to do new iserts for new records. does any one have some example on this. I will really apprecite this if someone can give me step by step example. Thanks

    I have been to SQL Server training, but my SQL server databases are off the shelf system, so I don't have to muck with them. Anyway, Sql Server is just MS Access on steroids, so some of the same concepts apply. You need to create an external table links to oracle. The following tidbits I found by googling might help you.
    http://www.sqlmag.com/Article/ArticleID/22264/sql_server_22264.html
    http://www.lazydba.com/sql/1__152.html
    http://www.sswug.org/see/35034
    http://decipherinfosys.wordpress.com/2007/07/16/linked-servers-in-sql-server/
    Some of the above require subscriptions (free and or paid). Hope this helps.

  • Transfer data from Oracle 7 to SQL server 2005

    Hello guys,
    I am new in Oracle and I need some help from you:
    I have an Oracle database 7 and I need to transfer some tables into MS SQL Server 2005.
    Is there any ORACLE utility (compatible with ver 7) to help me in this task?
    If not, what is the way to trasfer data from a Oracle database 7 to SQL Server 2005?
    Thank in advance

    SQL Server can access Oracle database via the Linked Database feature however I do not know if you could find a Oracle 7 database compatiable Oracle client to use with a SQL Server 2005 database. i would not even try to configure this.
    What I suggest is you use SQLPlus to spool out delimited data into flat files, copy/FTP etc ... those flat files to your SQL Server box, and use BCP to load the data into SQL Server.
    There have been numberous posts of generating delimited flat files from Oracle data posted here on the forum but here is one method that will work on version 7:
    How do I export a database table to a flat file ?
         http://www.jlcomp.demon.co.uk/faq/flatfile.html
    HTH -- Mark D Powell --

  • Inserting date from a jsp into sql server 2005 database

    Dear Friends.,
    i have a jsp page, in that there is a form with various user input fields. in that one field is date field. i tried to insert the date field into the sql server 2005 database. but it is not getting inserted into the database.
    when i tried by inserting one field to database, it is getting inserted. for all the fields its works fine, except the date field.
    i need hint or code to insert the date get from the jsp page to database.
    i am using a servlet to do all database related things. i.e making connections, executing prepared statement queries
    thanks
    sekar.

    The variable needs to be outside of the string to be recognized as a variable. You need to remove the variable from the string, then concatinate it onto the string (and concatinate any remaining string parts - the closing paren). For example:
    stmt.executeUpdate("INSERT INTO table VALUES ('test', " + companyID + ")");
    Hope that's clear enough and helps. Good luck on your thesis!
    jim

  • Loading data from SAS tables to SQL server database

    Hi Guys
    I am championing a BI Proof of Concept project to create a self-service BI platform using tabular model parallel to  our traditional BI platform on SAS.
    I need to load certain SAS tables  to SQL server database so I can start creating reports in SSAS. Appreciate if anyone can suggest the process that I can load the files to database engine as a scheduled job.
    Appreciate your feedback and if further info needed please ask.
    Cheers
    Mark

    From VB6 there is not much alternative than to send row by row which indeed is slow.
    But you could write a C# application which uses a table-valued parameter to load the data, and this could be streamed so that the client never has the hold the entire file. I have an example of this in this article on my web site:
    http://www.sommarskog.se/arrays-in-sql-2008.html
    You can also use the SqlBulkCopy class, but I don't have any example of this myself.
    Erland Sommarskog, SQL Server MVP, [email protected]

Maybe you are looking for

  • Filenames with non-latin characters aren't found by the filesystem [S]

    This might be a bug, but I'm hoping it's just a config file problem. I have a few files here and there on my NTFS drive that have Japanese characters in their filenames.  Sometime recently (I don't have an exact date when they disappeared), they stop

  • How to find where the segments are get filled.

    Hi friends, I want to know, where the segments are getting filled for an IDoc. Actually i have failed IDoc's, in that IDoc the segment E1EDS01 the Qualifier is 009 its having 2 fields one is SUMMID its having value of 009 and another one is SUMME its

  • Macbook DVI out?

    ok so I just bought a new dell 20" 1650x1080 display as a secondary display for my macbook, replacing my old 17" crt. I was using the mini dvi out to VGA plug which I am also using right now on the new dell display. but my dell monitor also has DVI i

  • Cisco 526 Wireless express controller and Guest setup

    We are going to implement a small (2-3 APs) wireless network and we wanted gust to have access too. My question is how do we implemetn the guest setup and separate that accessf rom our network. How does the 526 do it. Do we need a separate internet a

  • Level Order binary traversal

    Hi, I need to do a Level Order binary traversal. Is there an easy way to do it. I'm not very good at java so any help will be appreciated thanks