SimpleDateFormater and MySql date errors
I've looked around in the forums for an answer to this, but failed to find anything.
I'm loading a date from a MySql (v 3.22) table and using SimpleDateFormatter to format it before I make an XML call to push it to the server. The formatter appears to fail on average 4 out of 11,000 times. The failure is "random" year, month, day, hour, minute or second. Sometimes just one of these is bad, sometimes multiples.
The end result is a bad date record on the server and no record of it on the client. No exceptions are thrown.
Not sure if this has anything to do with the error, but I've found that 80% of the errors occur the first time the SimpleDateFormatter is called.
Here's some examples of what is bad vs real (yyyy-mm-dd+hh:mm:ss):
2003-03-28+12:53:12 2003-03-25+12:53:12
2003-03-30+07:54:38 2003-03-22+07:54:38
2008-06-25+07:31:57 2003-03-22+07:31:57
2003-04-21+05:12:17 2003-03-22+05:12:17
2003-04-23+12:35:54 2003-03-21+12:35:54
2003-04-23+07:32:49 2003-03-21+07:32:49
Here's some snippits:
// this gets the date from the recordset.
// I have to typecast the date because of java.sql.Date vs java.util.Date.
java.util.Date d = (java.util.Date) recordSet.getTimestamp("InDate");
// Here's the method called to convert and format the date
public static String fixDateForCorp(java.util.Date d)
{if (d == null) return null;
String s = null;
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd+HH:mm:ss");
formatter.setTimeZone(java.util.TimeZone.getDefault());
try
{s = formatter.format(d)
catch (Exception e)
{// this really goes to a log
System.out.println("ERROR, fixDateForCorp:Exception:" + e.getMessage());
return null;
return (s);
} // getDateTimeStr
Thanks in advance,
Bit
Thanks for responding DrClap.
But each call to fixDateForCorp creates a new SimpleDateFormatYes, I'm grasping for straws on this one.
Your examples are all off by an exact number of days;Here's some more examples, Sorry bad sample of data the first time.
2005-03-25+20:07:28 2003-03-29+10:27:28
2003-03-23+13:56:44 2003-03-29+14:17:44
2003-03-26+22:28:11 2003-03-29+14:34:11
2003-03-30+15:40:40 2003-03-31+14:34:40
It is the MySQL JDBC driver that is creating those Timestamp objects, so it is possible that is where the error occurs.Interisting idea. For fun I did a toString() on the date that MySql returns, to my suprise it looked like this:
toString:2003-04-01 14:50:08.0
Leading zeros, just replace the space with the "+", kill the milliseconds and that should do it. Not using the formatter at all. I'm going to try this and it will nail the driver if it continues to fail.
SimpleDateFormat is not thread-safe; are there multiple threads involved here? A flag is set to determine if the record is sent and persists the data in the MySql table. Periodically, a record set of unreplicated records is retrieved and sent to the server. I have to create a new url for each push in the record set so I'm pretty certain that multiples are not called. I've written a thread handler as well to prevent multiple calls of the replication methods.
I'm going to try the toString() method for creating the string. I'll post here the results for anyone else having this problem. Will be a month or so before it's distributed though.
Thanks again,
Bit
Similar Messages
-
CS6, FTP and MySQL Connection ERRORs
Adobe CS6 Dreamweaver
I have the latest + updates of CS6 for Mac OS X 10.7.4.latest
I can FTP, but files are not readable after the upload, on any web hosting provider.
I have to use a thrid party FTP application (CyberDuck or Trnsmit) to make this happen.
NOT HAPPY about this £2500 CS6 Master Collection spend not working !!!!
When I try to connect via MySQL I get this error and failed actions:
https://dl.dropbox.com/u/5485939/adobe_CS6_dreamweaver_FTP_MySQL/Screen%20Shot%202012-07-1 3%20at%2011.11.57.png
https://dl.dropbox.com/u/5485939/adobe_CS6_dreamweaver_FTP_MySQL/Screen%20Shot%202012-07-1 3%20at%2011.11.45.png
https://dl.dropbox.com/u/5485939/adobe_CS6_dreamweaver_FTP_MySQL/Screen%20Shot%202012-07-1 3%20at%2011.11.19.png
I have checked the folders & content for ...
_mmServerScripts
Connections
are uploaded properly (having to use a third party FTP application, see above).
I have the correct logins details for FTP and MySQL, as other MySQL Apps (Sequel Pro) have no problem connecting to any web hosting proivdier for MySQL using the exact same login details.
This is the same on my iMac or my MacBook Pro.Hello David, I am having this issue getting errors while trying to get my SQL to connect with the server. I clicked on the link you provided and I get a "you do not have permission to view this" message. Can you please share what ever solution that adobe has with me too.
I am really really irritated with this issue, as someone else stated this is really inconvenient when I want to get some work done. I am also upset that I bought this software, especially if I cant find a solution. -
ColdFusion/Flashbuilder/MySql Date Error - This is a bug
In ColdFusion9/Flashbuilder4/MySql....
I generate a CFC completely with the flashbuilder wizard, throwing a datagrid on the page and dropping "get All" on top and run it,
On Hostek with CF9 and MySql 10.10.11.3, It produces a list of dates that are all one day prior to what is actually listed in the mysql database (phpMyAdmin), same for several custom written cfc's. If I run a cfm calling the cfc it gives the proper dates, but when Flashbuilder calls the same cfc it gives everything one day off.
Locally on my machine with Mamp circa 2004 this works correctly and lists the correct dates.
Any suggestions?
Thanks
Dan PrideThe following is a response from Hostek describing the problem from their end
From:
"HosTek.com Support" <[email protected]>
To:
[email protected]
Dan,
I just tested this using a MacOS 10.4,
Windows XP, Vista, 7, Ubuntu 10.04. Site shows correct date using all of the above, tested using external connection - the date is showing correctly. Yet, trying to pull it up using SkyFire 1.5 browser on WindowsMobile, I am getting the same "one day back" issue that you are seeing.
This really sounds like an issue with the client computer and the way the data is being interpreted localy, not the issue with the server. However, I think we might be able to help you pin point this bug.
If you are able to run this without a problem on your local machine, are you able to change your local DSN - BlueRose to point to "
xxxx instead of using localhost but run the application from your local machine? This will tell you if the bug might be related to MySQL version.
Another thing to check would be the version of flash player. Computers here that are displaying the page correctly are running 10,1,85,3 (with Ubuntu running 10,0,45,2) and SkyFire that is not displaying the date correctly is running 10,0,32,18.
Please let us know if you need any further assistance.
Alex Y. -
Help in establishing connection to php and mysql data base.
Hi,
i have been trying to execute a simple flash program that communicates with a php page which is linked to a mysql database.
somehow the php is not returning any data to flash , and even falsh is not sending any data to php.. I am using wamp server on win7.
Heres my actionscript code:
stop();
var variables:URLVariables = new URLVariables();
var varSend:URLRequest = new URLRequest("php.php");
varSend.method = URLRequestMethod.POST;
varSend.data = variables;
var varLoader:URLLoader = new URLLoader;
//varLoader.dataFormat = URLLoaderDataFormat.VARIABLES;
varLoader.dataFormat = URLLoaderDataFormat.TEXT;
varLoader.addEventListener(Event.COMPLETE, completeHandler);
variables.requestCode = "homepage";
//variables.myRequest="homepage";
trace(variables);
varLoader.load(varSend);
function completeHandler(event:Event):void
trace(event.target.data.t_passed);
var t_recieved = event.target.data.t_passed;
//t_txt.text = "t_passed";
t_txt.text=t_recieved;
try
varLoader.load(varSend);
catch (error:Error)
trace("error");
And this is my php code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<?php
//error_reporting(E_ALL & ~E_NOTICE);
$connection=mysql_connect("localhost" , "root" , "");
if(!$connection)
die("failed".mysql_error());
$db_select = mysql_select_db("questions",$connection);
if (!$db_select)
die("failed".mysql_error());
if ($_POST['requestCode'] == "homepage") {
$pageName = $_POST['requestCode'];
echo ($_POST['requestCode']);
$result=mysql_query("select q from quest where qno=111",$connection);
while($row=mysql_fetch_array($result))
$t=$row[0];
//print "t_passed = $s";
echo "t_passed=".$t;
mysql_close($connection);
?>
</head>
<body>
</body>
</html>
The php gives me Undifined notice for the 'requestCode' variable...
please help..
Thanks in advanceSample Flash Code:
package
import flash.display.*;
import flash.events.*;
import flash.net.*;
import flash.text.*;
public class sendtophp extends Sprite
var phpFile:String = "http://localhost/Raja/sendDataToServer.php";
public function sendtophp():void
callBtn.addEventListener(MouseEvent.CLICK, callServer);
function callServer(e:MouseEvent):void
var urlRequest:URLRequest = new URLRequest(phpFile);
var urlParams:URLVariables = new URLVariables();
urlParams.country = "India";
urlParams.animal="Tiger";
urlRequest.method = URLRequestMethod.POST;
urlRequest.data = urlParams;
var loader:URLLoader = new URLLoader();
loader.addEventListener(Event.COMPLETE, serverResponse);
loader.load(urlRequest);
function serverResponse(e:Event):void
trace("loaded");
var loader:URLLoader = URLLoader(e.target);
var variables:URLVariables = new URLVariables(loader.data);
responseTxt.text = variables.returnValue;
}//end of class sendtophp
}//end of package
Sample PHP code:
<?php
print "returnValue= Hi ".$_POST['country'].", it's working";
$host = "localhost";
$user = "root";
$pass = "";
$db = "test";
$country = $_POST['country'];
$animal = $_POST['animal'];
$connection = mysql_connect($host, $user, $pass) or die ("Unable to connect!");
mysql_select_db($db) or die ("Unable to select database!");
$query = "INSERT INTO symbols (country, animal) VALUES ('$country', '$animal')";
$result = mysql_query($query) or die ("Error in query: $query. ".mysql_error());
echo "New record inserted with ID ".mysql_insert_id();
mysql_close($connection);
?>
I had tested and it works fine. Please have this as an sample. If you have any clarification then reply to the thread -
Connection issue on 32 bit Linux OBIEE with Postgres and Mysql
I am having trouble running reports on 32 bit Linux OBIEE version 10.1.3.4.0 and 10.1.3.4.1 with Postgres or Mysql as data source . I can connect to same data source (postgres and Mysql) from presentation services on windows box and also run queries from nqcmd using 32 bit linux ODBC driver on linux box running OBIEE server. I turned on odbc trace and I see following failures from Postgres and Mysql.
Error Codes: OPR4ONWY:U9IM8TAC:OI2DL65P
State: HY000. Code: 10058. [NQODBC] [SQL_STATE: HY000] [nQSError: 10058] A general error has occurred. [nQSError: 12010] Communication error connecting to remote end point: address = ; port = 9703. (HY000)
SQL Issued: SELECT test_obiee.c1 saw_0 FROM test_Postgre30 ORDER BY saw_0
Mysql odbc trace file :
ppid=1:pid=2908 719a:f4c1fb90 ENTER SQLSetConnectOption
HDBC 0x08d4f170
UWORD 1042
UDWORD 4079342863
ppid=1:pid=2908 719a:f4c1fb90 EXIT SQLSetConnectOption with return code 0 (SQL_SUCCESS)
HDBC 0x08d4f170
UWORD 1042
UDWORD 4079342863
ppid=1:pid=2908 719a:f4c1fb90 ENTER SQLErrorW
HENV 0x00000000
HDBC 0x08d4f170
HSTMT 0x00000000
WCHAR * 0xf4c1e140 (NYI)
SDWORD * 0xf4c1e1a8
WCHAR * 0xf4c1dd40
SWORD 1022
SWORD * 0xf4c1e1ae
ppid=1:pid=2908 719a:f4c1fb90 EXIT SQLErrorW with return code 100 (SQL_NO_DATA_FOUND)
HENV 0x00000000
HDBC 0x08d4f170
HSTMT 0x00000000
WCHAR * 0xf4c1e140 (NYI)
SDWORD * 0xf4c1e1a8
WCHAR * 0xf4c1dd40
SWORD 1022
SWORD * 0xf4c1e1ae
ppid=1:pid=2908 719a:f4c1fb90 ENTER SQLFreeConnect
HDBC 0x08d4f170
ppid=1:pid=2908 719a:f4c1fb90 EXIT SQLFreeConnect with return code 0 (SQL_SUCCESS)
HDBC 0x08d4f170
Postgres odbc trace file :
ppid=1:pid=2951 734f:f4a56b90 ENTER SQLAllocConnect
HENV 0x0a0cf8c8
HDBC * 0x0a12f278
ppid=1:pid=2951 734f:f4a56b90 EXIT SQLAllocConnect with return code 0 (SQL_SUCCESS)
HENV 0x0a0cf8c8
HDBC * 0x0a12f278 ( 0x0a12f398)
ppid=1:pid=2951 734f:f4a56b90 ENTER SQLSetConnectOption
HDBC 0x0a12f398
UWORD 110
UDWORD 0
ppid=1:pid=2951 734f:f4a56b90 EXIT SQLSetConnectOption with return code 0 (SQL_SUCCESS)
HDBC 0x0a12f398
UWORD 110
UDWORD 0
ppid=1:pid=2951 734f:f4a56b90 ENTER SQLSetConnectOption
HDBC 0x0a12f398
UWORD 108
UDWORD 2
ppid=1:pid=2951 734f:f4a56b90 EXIT SQLSetConnectOption with return code 0 (SQL_SUCCESS)
HDBC 0x0a12f398
UWORD 108
UDWORD 2
ppid=1:pid=2951 734f:f4a56b90 ENTER SQLDriverConnectW
HDBC 0x0a12f398
HWND 0x00000000
WCHAR * 0xf31ad2c0 [ -3] "******"
SWORD -3
WCHAR * 0xf31ad2c0
SWORD 6
SWORD * 0xf4a4d9de
UWORD 0 <SQL_DRIVER_NOPROMPT>
I am new to OBIEE and would appreciate any help . I have verified that data source names used in administration matches ODBC DSN in odbc.ini.S Chatterji wrote:
We are in the process of testing backup recovery for our database. We want to test point in time recovery using RMAN.
Issue:
Our production has (64 bit)
Linux DbProd.xxx.dk 2.6.18-164.0.0.0.1.el5xen #1 SMP Thu Sep 3 00:34:43 EDT 2009 x86_64 x86_64 x86_64 GNU/Linux
and our test area on VMware has (32 bit)
Linux dbprod.xxx.dk 2.6.18-128.2.1.4.9.el5xen #1 SMP Thu Sep 3 00:34:43 EDT 2009 i686 i686 i386 GNU/Linux
Please advice a best practice to achieve this.
Thanks.
S ChatterjiDuplicate posts do not increase your chances for an answer
Database » Database - Upgrade, - Test recovery on 32 bit Linux where as Production is on 64 bit with Archive
Database » Installation, - Test recovery on 32 bit Linux where as Production is on 64 bit with Archive -
MySQL Sytax error with master and detail pages
Master and Detail pages.
I get an SQL error when I click on an Item in the Master
page.
“You have an error in your SQL syntax; check the manual
that corresponds to your MySQL server version for the right syntax
to use near 'ID = 16 LIMIT 0, 10' at line 1 “
If I try to open the detail page I get
“You have an error in your SQL syntax; check the manual
that corresponds to your MySQL server version for the right syntax
to use near 'ID = -1 LIMIT 0, 10' at line 1 “
I created this pair by simply clicking on Insert/data object/
master detail page.
I have tried this various ways, but always get the same
result.
Is there a bug in CS3?Sorry I have solved it myself.
I had accidentally put a space in a table header in the mySQL
data bank.
All works well now. -
MySQL php and CHARACTER SET error
Still very new to php and MySQL, in fact this is my first
site using it.
I have got an issue with displaying characters, namely the
£ sing, all I get is an ? displayed.
I have been told to use, utf8 in the database field but this
has not helped cure the problem.
I'm building the site in DW CS3 and it's all running off my
Mac using OS X 10.5.1 and the built in php client.
Could anyone show me the right way to go?Ok I think my IQ is falling me, it's been a long week.
<?php header('Content-type: text/html;charset=utf-8');
?>
Is the first line of code on the test page I have got
running. I have no error but I also have no £ sings.
Here is the live page:
http://www.epos-acoustics.com/test.php
The page code:
<?php header('Content-type: text/html;charset=utf-8');
?>
<?php require_once('Connections/epos.php'); ?>
<?php
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType,
$theDefinedValue = "", $theNotDefinedValue = "")
$theValue = get_magic_quotes_gpc() ? stripslashes($theValue)
: $theValue;
$theValue = function_exists("mysql_real_escape_string") ?
mysql_real_escape_string($theValue) :
mysql_escape_string($theValue);
switch ($theType) {
case "text":
$theValue = ($theValue != "") ? "'" . $theValue . "'" :
"NULL";
break;
case "long":
case "int":
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
break;
case "double":
$theValue = ($theValue != "") ? "'" . doubleval($theValue) .
"'" : "NULL";
break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" :
"NULL";
break;
case "defined":
$theValue = ($theValue != "") ? $theDefinedValue :
$theNotDefinedValue;
break;
return $theValue;
mysql_select_db($database_epos, $epos);
$query_rs01 = "SELECT * FROM epos_shop ORDER BY my_shop_id
ASC";
$rs01 = mysql_query($query_rs01, $epos) or
die(mysql_error());
$row_rs01 = mysql_fetch_assoc($rs01);
$totalRows_rs01 = mysql_num_rows($rs01);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0
Transitional//EN" "
http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="
http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html;
charset=UTF-8" />
<title>shop text test</title>
</head>
<body>
<?php do { ?>
<table width="600" border="0" cellspacing="2"
cellpadding="2">
<tr>
<td width="92">Product name: </td>
<td width="494" colspan="2"><?php echo
$row_rs01['my_shop_product']; ?></td>
</tr>
<tr>
<td valign="top">Description:</td>
<td colspan="2"><?php echo
$row_rs01['my_shop_text']; ?></td>
</tr>
<tr>
<td>Price:</td>
<td colspan="2"><?php echo
$row_rs01['my_shop_price']; ?></td>
</tr>
<tr>
<td height="30" colspan="3"> </td>
</tr>
</table>
<?php } while ($row_rs01 = mysql_fetch_assoc($rs01));
?></body>
</html>
<?php
mysql_free_result($rs01);
?>
Am I missing the point or do I have something wrong with the
table or field? -
Hello,
I'm on a Mac Pro Quad Core Intel Xeon (64-bit) using OS 10.6.4. I have mysqlnd 5.0.5-dev - 081106 - $Revision: 289630 $ and PHP Version 5.3.1.
I have also installed phpMyAdmin 3.3.1 and have set up the relations tables in a pmadb within mysql; created a new database with tables; and created some new users. I am able to access and use mysql via phpMyAdmin.
But now I am unable to login to mysql via the Terminal command:
mysql -u root -p
which now returns an error message of:
/usr/local/mysql/bin/mysql: unknown variable 'datadir=/usr/local/mysql/data'
my.cnf file reads:
[mysqld]
datadir=/usr/local/mysql/data
socket=/var/mysql/mysql.sock
#skip-grant-tables=1
[client]
datadir=/usr/local/mysql/data
socket=/var/lib/mysql/mysql.sock
and I can see the data directory in that location when using the Terminal.
My questions:
1. Is this related to anything I have done in setting up phpMyAdmin (tables, users)?
2. Is this a permissions problem with the directory named /usr/local/mysql/data?
Currently, the permissions and ownership are this:
drwxr-x--- 11 _mysql wheel 374 Jun 29 12:10 data
3. Is this a problem from upgrading to 10.6.4 recently?
4. Is this a my.cnf problem?
I would really like to be able to do things in the Terminal with mysql in addition to using phpMyAdmin.
Many thanks for any help on this.
Best,
ShelleyShelley Schreiber wrote:
Thanks for your suggestion, etresoft, but this was not helpful, I'm afraid. Removing datadir=/usr/local/mysql/data did not work. And prior to using phpMyAdmin, I was able to login via Terminal with this in place.
Try removing my.cnf. It isn't required and seems to be giving you problems.
Also, the mysql socket value is what comes with new Macs with Snow Leopard.
MySQL doesn't come on any new Mac except with Snow Leopard Server. I think we've had this conversation before and came to the conclusion that you don't have the server version, just a jacked up client.
I am noticing that the Terminal error message I get is saying:
/usr/local/mysql/bin/mysql: unknown variable . . .
whereas the data directory path is /usr/local/mysql/data
There is no data directory in /usr/local/mysql/bin/mysql
The program that is reporting the error is is /usr/local/mysql/bin/mysql.
My MySQL installation does not have a my.cnf file. It does have a number of example cnf files that I could use if I wanted to jack up my installation. None of them have a "datadir" value in them. If you don't want to get rid of my.cnf altogether, the just get rid of all of the datadir values inside it. -
Hi,
I am using Windows 8.1
I have an External Hard Disk i have partitioned it to 4 parts.
One drive is now inaccessible due to sudden power failure while listening Music from that drive few days ago.
Now it shows "Data error (Cyclic redundancy check)".
I tried all the procedures provided here like
chkdsk /f, diskpart, rescan etc
but no result :( (i mean all processes failed. They could not detect the drive).
Please help me to get those data, pictures and project files.
thank youThen why aren't you posting this in the Windows 8 forums found @
http://social.technet.microsoft.com/Forums/windows/en-US/home?category=w8itpro
This is a Windows 7 forum for discussion about Windows 7.
Please remember to click “Mark as Answer” on the post that helps you, and to click “Unmark as Answer” if a marked post does not actually answer your question. This can be beneficial to other community members reading the thread. ” -
hi Experts,
while running SQL Query i am getting an error as
The text, ntext, and image data types cannot be compared or sorted, except when using IS NULL or LIKE operator. for the query
select T1. Dscription,T1.docEntry,T1.Quantity,T1.Price ,
T2.LineText
from OQUT T0 INNER JOIN QUT1 T1 ON T0.DocEntry = T1.DocEntry INNER JOIN
QUT10 T2 ON T1.DocEntry = T2.DocEntry where T1.DocEntry='590'
group by T1. Dscription,T1.docEntry,T1.Quantity,T1.Price
,T2.LineText
how to resolve the issueDear Meghanath,
Please use the following query, Hope your purpose will serve.
select T1. Dscription,T1.docEntry,T1.Quantity,T1.Price ,
CAST(T2.LineText as nvarchar (MAX))[LineText]
from OQUT T0 INNER JOIN QUT1 T1 ON T0.DocEntry = T1.DocEntry LEFT OUTER JOIN
QUT10 T2 ON T1.DocEntry = T2.DocEntry --where T1.DocEntry='590'
group by T1. Dscription,T1.docEntry,T1.Quantity,T1.Price
,CAST(T2.LineText as nvarchar (MAX))
Regards,
Amit -
Any way to use OBDC in SAP to access MySQL DB and retrieve data
I'd like to logon to an external MySQL DB (can de done easily enough with PHP) but I'd like to do it with ABAP if possible.
Connecting via OBDC I should be able to retreive the data from the DB and then use it in my SAP application.
Some databases will allow connection via
EXEC SQL.
connect to :dbsid
ENDEXEC.
EXEC SQL.
set connection :dbsid
ENDEXEC.
EXEC SQL.
open xxxxxxx for
select
...... data from external DB
from tablespace in external db
ENDEXEC.
do.
EXEC SQL.
fetch next XXXXXX into
:db_table_field, .... etc
ENDEXEC.
if sy-subrc ne 0.
exit.
endif.
insert table int_sap_table.
enddo.
EXEC SQL.
close XXXXXX
ENDEXEC.
If you can make this type of stuff work for a MySQL DB i'd appreciate the answer.
Using PHP has a drawback as you need to have it installed on the front end PC and run in Foreground.
The EXEC SQL commands run in batch which is what you need if you are talking about 100,000's of records from an external DB.
Cheers
jimboHi Graham
Currently it doesn't seem to support MySQL.
Now that SAP has taken over again the development of MAXDB I can't see it providing direct MySQL to SAP functionality.
MAXDB is available but that would mean changing the entire architecture and we don't want to do that.
I think probably the best route to go would be to create a BAPI which is capable of performing a logon to the remote MySQL DB server, get the data and either send it back as IDOCS, an external flat file, or as an internal table depending on the volume of data to be retrieved.
The good thing about MySQL is that the command line interface makes logging on and retrieving data quite simple.
This data is actually wanted in a BI / BW system to provide for a number of business proces analyses.
I did think abut using "Web Services" but the data retrieval will essentially be done offline.
There is no requirement currently for transferring data FROM SAP back to the MySQL database ( although if you've ever dealt with top level management you know how quickly developments can change).
PHP for all it's drawbacks is the really easy way - but we'll have a problem doing this in background from the SAP servers. For foreground tasks it's a real doddle if you have php on your front end.
for example
<?php
$username = "pee_wee";
$password = "let_me_in";
$hostname = "localhost"; */* IP address of remote DB server */*
$dbh = mysql_connect($hostname, $username, $password)
or die("Unable to connect to MySQL");
print "Connected to MySQL<br>";
// you're going to do lots more here soon
mysql_close($dbh);
?>
Batch mode also seems OK also from the documentation
http://dev.mysql.com/doc/refman/5.1/en/batch-mode.html
so running an ABAP which can issue system commands (readily available) should work in theory provided the SAP server can connect to the remote MySQL server machine.
Thanks for your suggestions however
Cheers
jimbo -
Web Analysis Error -- Error while executing query and retrieving data
Regarding Web Analysis:
We have a number of reports that we created. yesterday they were all working fine. today we try to open them and most are generating an error.
The error is:
Error while executing query and retrieving data.; nested exception is:
com.hyperion.ap.APException: [1033] Native:
1013033[Thu Oct 22 09:08:17
2009]server name/application name/database name/user name/Error91013033)
ReportWriter exit abnormally
Does anyone have any insight into what is going on?
My version information is:
Hyperion System 9 BI+ Analytic Administration Services 9.3.0.1.1 Build 2
Web Analysis 9.3.0.0.0.286
Thanks in advance for your help.
DaveWHi,
And also click on check option by opening the query in Query designer,as Mr . Arun suggested.
And if you get any error in checking, see the long message(detail).
With rgds,
Anil Kumar Sharma .P -
How to catch date errors and continue processing in a PL/SQL procedure
I'm updating a date field with dates constructed from day, month and year fields. The incoming data has many instances of day and month that are not valid dates, ex 11 31 2007. There is no 31st day in November.
I would like to write a pl/sql script to scan the table containing these values and log the rows that produce conversion errors.
I thought I could do this with exceptions but there are no exceptions that correspond to the ORA-01847 error for mismatched day and month.
Here is what I tried (the print procedure is a local wrapper for DBMS_OUTPUT.put_line):
PROCEDURE date_check IS
start1 DATE ;
BEGIN
select to_date(nvl(yearcollected,'9999') ||'/'|| nvl(monthcollected,'01') ||'/'|| nvl(daycollected,'01'),'YYYY/MM/DD'))) into start1 from incoming_data where id=1 ;
BEGIN
update temp_test set test_date = start1 where id=1 ;
EXCEPTION
WHEN OTHERS THEN
print('Date error message from exception block');
END;
print('Processing continues after handling date exception') ;
END date_check ;
Is there a way to catch this kind of error and continue processing after logging a message?
-=beekyHi, Beeky,
There are lots of different error messages associated with bad dates. Rather than try to catch them all, I use a BEGIN ... EXCEPTION block that contains nothing but a TO_DATE call. This is one of the rare occassions when I think "EXCEPTION WHEN OTHERS" is okay,
The following function comes from a package. If you want to make a stand-alone function, remember to say " *CREATE OR REPLACE* FUNCTION ...".
-- ** t o _ d t **
-- to_dt attempts to convert in_txt (assumed to
-- be in the format of in_fmt_txt) to a DATE.
-- If the conversion works, to_dt returns the DATE.
-- If the conversion fails for any reason, to_dt returns in_err_dt.
FUNCTION to_dt
( in_txt IN VARCHAR2 -- to be converted
, in_fmt_txt IN VARCHAR2 DEFAULT 'DD-MON-YYYY' -- optional format
, in_err_dt IN DATE DEFAULT NULL
RETURN DATE
DETERMINISTIC
AS
BEGIN
-- Try to convert in_txt to a DATE. If it works, fine.
RETURN TO_DATE (in_txt, in_fmt_txt);
EXCEPTION -- If TO_DATE caused an error, then this is not a valid DATE: return in_err_dt
WHEN OTHERS
THEN
RETURN in_err_dt;
END to_dt
; -
Sql@loader-704 and ORA-12154: error messages when trying to load data with SQL Loader
I have a data base with two tables that is used by Apex 4.2. One table has 800,000 records . The other has 7 million records
The client recently upgraded from Apex 3.2 to Apex 4.2 . We exported/imported the data to the new location with no problems
The source of the data is an old mainframe system; I needed to make changes to the source data and then load the tables.
The first time I loaded the data i did it from a command line with SQL loader
Now when I try to load the data I get this message:
sql@loader-704 Internal error: ulconnect OCISERVERATTACH
ORA-12154: tns:could not resolve the connect identifier specified
I've searched for postings on these error message and they all seem to say that SQL Ldr can't find my TNSNAMES file.
I am able to connect and load data with SQL Developer; so SQL developer is able to find the TNSNAMES file
However SQL Developer will not let me load a file this big
I have also tried to load the file within Apex (SQL Workshop/ Utilities) but again, the file is too big.
So it seems like SQL Loader is the only option
I did find one post online that said to set an environment variable with the path to the TNSNAMES file, but that didn't work..
Not sure what else to try or where to look
thanksHi,
You must have more than one tnsnames file or multiple installations of oracle. What i suggest you do (as I'm sure will be mentioned in ed's link that you were already pointed at) is the following (* i assume you are on windows?)
open a command prompt
set TNS_ADMIN=PATH_TO_DIRECTOT_THAT_CONTAINS_CORRECT_TNSNAMES_FILE (i.e. something like set TNS_ADMIN=c:\oracle\network\admin)
This will tell oracle use the config files you find here and no others
then try sqlldr user/pass@db (in the same dos window)
see if that connects and let us know.
Cheers,
Harry
http://dbaharrison.blogspot.com -
Getting error while invoking ADF Start and End Dates
Hi,
I am new to developing ADF Application.
Into :
I am developing a search Page which has a select (drop down), startDate and endDate and a 'GO' Button
when user selects 'data from Drop Down', selects startDate and endDate and Presses 'GO' Button
Based on the Selected combination of Data i should get the Data.
Problem :
I am getting the following Error
WARNING: JBO-25058: Definition TheStartDate of type Variable not found in FastTelcoQueryTransactionDetailsVO1
What i have done / doing
Jspx -
<af:selectInputDate label="Start Date" value="#{FastTelcoTransactionBean.startDate}"></af:selectInputDate>
<af:selectInputDate label="End Date" value="#{FastTelcoTransactionBean.endDate}"></af:selectInputDate>
Bean File
I am converting the this.startDate and this.endDate (both Date format) (which i have taken startDate & endDate as Dates and Generated Getters & Setters for them ) to String format.
DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.SHORT).format(this.startDate);
map.put("_startDate", startDate);
map.put("_endDate", endDate);
VOImpl File
public void getTransStartEndDate(Number transTypeId, String startDate, String endDate)
TransactionDetailsVOImpl QueryVO = getQueryTransactionDetailsVO1();
QueryVO.setNamedWhereClauseParam("MstTransTypeId", transTypeId);
QueryVO.setNamedWhereClauseParam("TheStartDate",_startDate);
QueryVO.setNamedWhereClauseParam("TheEndDate",_endDate);
QueryVO.executeQuery();
BindVariables Used
TheStartDate - String format
TheEndDate - String format
SQL Query in VOIMPL - JDEV
SELECT DISTINCT
TransactionDetail.TRANS_TYPE_ID,
MstTransaction.TRANS_DESC,
TransactionDetail.TRANSACTION_NUMBER,
TransactionDetail.CREATOR_NAME,
TransactionDetail.CREATOR_EMAIL,
TO_CHAR(TransactionDetail.TRANS_DATE, 'MM/DD/YYYY hh:mm:ss') TRANS_DATE,
Error.ERROR_SH_MSG,
Error.ERROR_DETAIL_MSG
FROM
TRANSACTION_DETAIL TransactionDetail,
MST_TRANSACTION MstTransaction,
ERROR Error
WHERE
(TransactionDetail.TRANS_TYPE_ID = MstTransaction.TRANS_TYPE_ID)
AND (TransactionDetail.ERROR_ID = Error.ERROR_ID)
AND MstTransaction.TRANS_TYPE_ID=(:MstTransTypeId)
AND MstTransaction.IS_NOTIFICATION_REQ='Y'
AND TransactionDetail.TRANS_DATE BETWEEN (TO_DATE((:TheStartDate), 'MM/DD/YYYY')) AND (TO_DATE((:TheEndDate), 'MM/DD/YYYY'))
order by TRANS_DATE
NOTE : TheStartDate & TheEndDate are not in Attribute list of JDEV
i think i made it clear ...
anybody as a solution or Idea please provide
Thanx in advance
regards,
anvv sharmaHi,
I have started developing the code with the following SQL Query -
Query 1
SELECT DISTINCT
TransactionDetail.TRANS_TYPE_ID,
MstTransaction.TRANS_DESC,
TransactionDetail.TRANSACTION_NUMBER,
TransactionDetail.CREATOR_NAME,
TransactionDetail.CREATOR_EMAIL,
TO_CHAR(TransactionDetail.TRANS_DATE, 'MM/DD/YYYY hh:mm:ss') TRANS_DATE,
Error.ERROR_SH_MSG,
Error.ERROR_DETAIL_MSG
FROM
TRANSACTION_DETAIL TransactionDetail,
MST_TRANSACTION MstTransaction,
ERROR Error
WHERE
(TransactionDetail.TRANS_TYPE_ID = MstTransaction.TRANS_TYPE_ID)
AND (TransactionDetail.ERROR_ID = Error.ERROR_ID)
AND MstTransaction.TRANS_TYPE_ID=(:MstTransTypeId)
After that there is a change in the Requirement to add "Start Date" and "End Date" with a "Go Button" --> Clicking on this Go Button displays the Data Based on
"Drop Down" box, "Start Date" & "End Date" --> Corresponding Data is Picked From Database and Displayed....
Now, i have Updated the VO (From JDEV Design Time) with the latest Updated Query (added Start Date and End Date in the Query),
also check the Corresponding XML file is also Updated with the latest Query.
Query 2
SELECT DISTINCT
TransactionDetail.TRANS_TYPE_ID,
MstTransaction.TRANS_DESC,
TransactionDetail.TRANSACTION_NUMBER,
TransactionDetail.CREATOR_NAME,
TransactionDetail.CREATOR_EMAIL,
TransactionDetail.TRANS_DATE,
Error.ERROR_SH_MSG,
Error.ERROR_DETAIL_MSG
FROM
TRANSACTION_DETAIL TransactionDetail,
MST_TRANSACTION MstTransaction,
ERROR Error
WHERE
(TransactionDetail.TRANS_TYPE_ID = MstTransaction.TRANS_TYPE_ID)
AND (TransactionDetail.ERROR_ID = Error.ERROR_ID)
AND MstTransaction.TRANS_TYPE_ID=(:MstTransTypeId)
AND MstTransaction.IS_NOTIFICATION_REQ='Y'
AND TransactionDetail.TRANS_DATE BETWEEN (TO_DATE((:TheStartDate), 'YYYY-MM-DD')) AND (TO_DATE((:TheEndDate), 'YYYY-MM-DD')) order by TRANS_DATE
So now at Design Time i have Query 2, but Strangely at RUN Time Query 1 is Excecuting asking for "Start Date" Binding Variable NOT Found (as there is no Start Date Bind Variable in Query 1)
for this i have to re-Design the required Part...to make it work
can any body explain why it behaved like this ??
regards,
anvv sharma
Maybe you are looking for
-
Playback issues - squishing in Premiere CC
Hey All, So I've run into this problem a couple of times. In the past, it has just sort of fixed itself, but now I'm having it again and want to know how I can fix it. I have a sequence that's been edited and rendered, however, during playback, the i
-
Need help with Adobe Interactive Form Saving
Hi Gurus, I need your help with Adobe Interactive form saving. I have written the code in pre-save event to prompt a message when user didn't enter any value before saving. The form data should not be saved upon clicking save (Just prompt the message
-
HEY MSI. READ THIS (regarding ICH5R and compatibility with WD Raptors)
The following issue has not been resolved. Seems like several people have given up and are just using the onboard Promise controller. Thread on issues regarding WD Raptors configured in RAID via ICH5R Does it not suprise you that nobody is using R
-
How do I restore Windows 7 in Boot Camp after the Lion Update?
I was hoping my Lion update would be as smooth as other users' - unfortunately, it has messed up Boot Camp. The partition is now "Lion Recovery HD". I would like to know: if the original Boot Camp partition has been erased - i.e. I need to do a full
-
GL should not shown in NOT ASSIGNED node in T-Code: F.01
Dear Gurus, My user don't want to show few GLs in FSV (i.e., in T-Code: F.01), that too in Non Assigned Node also. Is there any setting for the same? Regards JS