DSN setting
i have a jar file(a desktop aplication) in my computer,how to configure dsn in another computer?.(just have jar file)
Yes you can use the new driver.
Google is a wonderful thing:
http://www.google.com/search?q=sql+jdbc+site%3Amicrosoft.com&ie=utf-8&oe=utf-8&aq=t&rls=or g.mozilla:en-US:official&client=firefox-a
Similar Messages
-
Confirm that SHMMAX kernel parameter is set datastore size
Hi,
I'm getting below exception when i'm trying to create datastore. The error is complaining about failure to create shared memory segment.
I did go through the T-10 documentation and various post on this forum, and have made sure that the OS and the DSN settings are as per the recommended values. The values meets(or rather exceeds) the minimum values.
The values are based on below formulas:
kernel.shmmax (in bytes) = Should be >= PermSize + TempSize + LogBufMB +~50MB overhead
kernel.shmall (in pages) = Should be >= ceil ( SHMMAX / PAGE_SIZE)
SwapTotal (in KB) = Swap space should generally be at least 1.5x total physical memory size. It should be sufficient to allow allocation of a large enough shared memory segment
TempSize (in MB) = Should be >= 40 MB + ceiling( PermSize / 8 MB)
I have pasted below following things. Please, can any one help me resolve this issue.
- exception in ttmessg.log
- output of cat /etc/sysctl.conf
- sys.odbc.ini datastore configuration
- cat /proc/meminfo
- Swap space
- output of ttstatus
- output of ttversion
[oracle@ttnode1 info]$ ttdaemonadmin -stop
TimesTen Daemon stopped.
[oracle@ttnode1 info]$ ttdaemonadmin -start
TimesTen Daemon startup OK.
[oracle@ttnode1 info]$ ttisql "dsn=tt"
Copyright (c) 1996-2011, Oracle. All rights reserved.
Type ? or "help" for help, type "exit" to quit ttIsql.
connect "dsn=tt";
*836: Cannot create data store shared-memory segment, error 22*
The command failed.
Done
The exception in ttmesg.log
[oracle@ttnode1 info]$ tail -f ttmesg.log
2013-01-14 17:42:49.98 Warn: : 6533: TimesTen Daemon Release 11.2.2.4.0.tt started.
2013-01-14 17:42:59.45 Err : : 6533: TT14000: TimesTen daemon internal error: Error 22 creating shared segment, KEY 0x0200778b
2013-01-14 17:42:59.45 Err : : 6533: -- OS reports invalid shared segment size
2013-01-14 17:42:59.45 Err : : 6533: -- Confirm that SHMMAX kernel parameter is set > datastore size
2013-01-14 17:45:32.67 Warn: : 6533: request id check 'MKB9+MF7V7DybTjglCEC/10d5/N7FCEFtayvZF4a9xQ=' failed (-5)
2013-01-14 17:47:18.45 Warn: : 6533: request id check 'u6GF7bBtmRQCXKYMAWa7LhwCv1GtIG8HXdW0GLRLHEU=' failed (-5)
2013-01-14 17:47:41.62 Warn: : 6533: request id check 'nNAzUc/plNUStN85qP9htbsz/E5psODMEeRYLmE/n50=' failed (-5)
2013-01-14 23:15:34.58 Warn: : 8590: TimesTen Daemon Release 11.2.2.4.0.tt started.
2013-01-14 23:15:43.44 Err : : 8590: TT14000: TimesTen daemon internal error: Error 22 creating shared segment, KEY 0x02008294
2013-01-14 23:15:43.44 Err : : 8590: -- OS reports invalid shared segment size
2013-01-14 23:15:43.44 Err : : 8590: -- Confirm that SHMMAX kernel parameter is set > datastore size
2013-01-14 23:16:11.23 Warn: : 8590: request id check 'v4TJ+ZyP3KRvGxfkguLgxNyRUdtfw/MMFrvR2tWMUBk=' failed (-5)
2013-01-14 23:18:01.34 Warn: : 8590: request id check 'p4DVyvW75Fjlo3dQ5f8OFbk4qpolqj8gFyQhqfW4ekQ=' failed (-5)
2013-01-14 23:19:50.28 Warn: : 8590: request id check 'DPQ8gSYcljQtkuvx6ccI5a5OGcjXklItV4Mj3Cf0DmA=' failed (-5)
2013-01-14 23:41:01.97 Warn: : 8820: TimesTen Daemon Release 11.2.2.4.0.tt started.
*2013-01-14 23:41:10.10 Err : : 8820: TT14000: TimesTen daemon internal error: Error 22 creating shared segment, KEY 0x02008294*
*2013-01-14 23:41:10.10 Err : : 8820: -- OS reports invalid shared segment size*
*2013-01-14 23:41:10.10 Err : : 8820: -- Confirm that SHMMAX kernel parameter is set > datastore size*
2013-01-14 23:42:20.31 Warn: : 8820: request id check 'sHRtjK5AUKI/RYPN6Mf6ivOPeGVFysbXT4eU9dfBZPw=' failed (-5)
2013-01-14 23:43:24.14 Warn: : 8905: TimesTen Daemon Release 11.2.2.4.0.tt started.
2013-01-14 23:43:29.64 Err : : 8905: TT14000: TimesTen daemon internal error: Error 22 creating shared segment, KEY 0x02008294
2013-01-14 23:43:29.64 Err : : 8905: -- OS reports invalid shared segment size
2013-01-14 23:43:29.64 Err : : 8905: -- Confirm that SHMMAX kernel parameter is set > datastore size
Here is the OS setting.
*[oracle@ttnode1 ~]$ cat /etc/sysctl.conf*
# Kernel sysctl configuration file for Red Hat Linux
# For binary values, 0 is disabled, 1 is enabled. See sysctl(8) and
# sysctl.conf(5) for more details.
# Controls IP packet forwarding
net.ipv4.ip_forward = 0
# Controls source route verification
net.ipv4.conf.default.rp_filter = 1
# Do not accept source routing
net.ipv4.conf.default.accept_source_route = 0
# Controls the System Request debugging functionality of the kernel
kernel.sysrq = 0
# Controls whether core dumps will append the PID to the core filename
# Useful for debugging multi-threaded applications
kernel.core_uses_pid = 1
# Controls the use of TCP syncookies
net.ipv4.tcp_syncookies = 1
# Controls the maximum size of a message, in bytes
kernel.msgmnb = 65536
# Controls the default maxmimum size of a mesage queue
kernel.msgmax = 65536
# Controls the maximum shared segment size, in bytes
kernel.shmmax = 68719476736
# Controls the maximum number of shared memory segments, in pages
kernel.shmall = 4294967296
Here's the DSN setting
* Datastore configuration in sys.odbc.ini file*
*[oracle@ttnode1 info]$ grep -v ^# sys.odbc.ini | sed '/^ *$/d'
[ODBC Data Sources]
TT=TimesTen 11.2.2 Driver
[TT]
Driver=/home/oracle/TimesTen/tt/lib/libtten.so
DataStore=/home/oracle/TimesTen/tt/info/DStore/itt_11224
DatabaseCharacterSet=AL32UTF8
PermSize=128
TempSize=96
ReplicationApplyOrdering=0
ReplicationParallelism=4
LogBufParallelism=4
LogBufMB=32
LogFileSize=32
LogFlushMethod=2
*[ice@ttnode1 ~]$ cat /proc/meminfo*
MemTotal: 3865624 kB
MemFree: 2287936 kB
Buffers: 9744 kB
Cached: 189340 kB
SwapCached: 62588 kB
Active: 739244 kB
Inactive: 796816 kB
HighTotal: 0 kB
HighFree: 0 kB
LowTotal: 3865624 kB
LowFree: 2287936 kB
SwapTotal: 2031608 kB
SwapFree: 1755480 kB
Dirty: 316 kB
Writeback: 0 kB
AnonPages: 1310800 kB
Mapped: 24260 kB
Slab: 12952 kB
PageTables: 8712 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
CommitLimit: 3964420 kB
Committed_AS: 2886040 kB
VmallocTotal: 34359738367 kB
VmallocUsed: 1616 kB
VmallocChunk: 34359736599 kB
HugePages_Total: 0
HugePages_Free: 0
HugePages_Rsvd: 0
Hugepagesize: 2048 kB
*[ice@ttnode1 ~]$ grep SwapTotal /proc/meminfo*
SwapTotal: 4128752 kB
Earlier the swap space was 2031608 KB, but snice it shuold be 1.5 times the physical memory, i bumped it up to its current value
*[oracle@ttnode1 info]$ ttstatus*
TimesTen status report as of Mon Jan 14 17:47:32 2013
Daemon pid 6533 port 53398 instance tt
TimesTen server pid 6550 started on port 53399
Accessible by group oinstall
End of report
*[oracle@ttnode1 info]$ ttversion*
TimesTen Release 11.2.2.4.0 (64 bit Linux/x86_64) (tt:53398) 2012-09-24T08:28:05Z
Instance admin: oracle
Instance home directory: /homankse/oracle/TimesTen/tt
Group owner: oinstall
Daemon home directory: /home/oracle/TimesTen/tt/info
Thanks,
VedHi,
On continuing my debugging steps, if checked the limits for IPC facility.
ipcs -m -l
------ Shared Memory Limits --------
max number of segments = 4096
max seg size (kbytes) = 32768
max total shared memory (kbytes) = 8388608
min seg size (bytes) = 1
This says that "max number of segments = 4096", where as the kernel parameter is defined as "kernel.shmall = 4294967296".
Am i correct in understanding that "max number of segments" is same as "kernel.shmall" and the values should be same.
Also, it says that "max seg size (kbytes) = 32768" ie around 32MB, where as the kernel parameter is defined as "kernel.shmmax = 68719476736" i.e around 64BG.
and since, the DSN is requesting to create shared memory segment of 128MB, which is greater that 32MB(as per max seg size (kbytes) = 32768), Timesten is throwing the error.
Thanks everyone for helping me out.
_ved -
How to store data in a file without using DB
Hi all
I want to develop a small application that could contain at most 10000 records, so if it is possible I want to store the data in a file, therefore the installation of the application can be simplified and the users don't need to add a ODBC dataSource in the control panel before running the program.
If the above is not possible. Does anyone know how to use Java to programmatically add a ODBC dataSrouce in the control panel in the Windows Platform?
Thank you very much !
Kind Regards
Edmond1 ) Save the records into a vector and write it to a file. You will have to load all the records when you read the file though.
2 ) Use a dsn-less connection. You do not need to have a dsn set up and you can access a file using the bridge driver:
url = "jdbc:odbc:Driver={Microsoft Excel Driver (*.xls)};DBQ="+file.getPath();
//Obtain the driver for the
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
//Create the connection
con = DriverManager.getConnection(url, "", "");
//Ensure that the connection allows two way commands
if (con.isReadOnly()) con.setReadOnly(false);
//Create the statement to be executed
stmt = con.createStatement();
//execute the select statement
ResultSet rs = stmt.executeQuery("SELECT * FROM \"Sheet1$\"");
This should work, let me know if it dwosnt -
Accessing BSP File Download using HTTPS URL
Hi,
I'm struggling with a problem of downloading a file from a https url. I wrote a BSP App for downloading a file from a unix server.. It works fine when I use a http URL with port 8080 and does not work when I use https.!!
Example:
https://comms.gmsanet.co.za/supplier [ download does not work ]
http://comms.gmsanet.co.za:8080/supplier [ download works ]
When I try to download using https.. it does not pull the file name and path
see code below and suggest me if anything to be chnaged.
In the Form Initialization method:
event handler fr data retrieval
DATA: i_file type string,
s_fields TYPE tihttpnvp,
s_fields_line TYPE ihttpnvp,
multipart_form type ref to if_http_entity,
file_upload type xstring,
lv_backend type string,
success type string,
entity type ref to if_http_entity,
file type xstring,
content_type type string,
content_filename type string,
content_length type string,
content_disposition type string,
num_multiparts type i,
i type i value 1,
doEcho type string value 'X',
value type string,
filename type ZFILETAB-fileinfo,
ext1 type string,
ext2 type string,
dsn type string,
bptype like sy-uname,
itab TYPE ZFILETAB,
itab_line TYPE ZFILETABLINE,
file_ext type ZFILETABLINE,
fileinfo type c,
zcount type i.
filename = '/NewMessge.doc'.
content_filename = filename.
Check the extension and assign the content type
split filename at '.' into ext1 ext2.
case ext2.
when 'zip'.
content_type = 'application/x-zip-compressed'.
when 'doc'.
content_type = 'application/msword'.
when 'txt'.
content_type = 'text/plain'.
when 'ppt' or 'pps'.
content_type = 'application/vnd.ms-powerpoint'.
when 'xls' or 'exe'.
content_type = 'application/octet-stream'.
when 'gif'.
content_type = 'image/gif'.
when 'jpg' or 'jpeg'.
content_type = 'image/pjpeg'.
when 'htm' or 'html'.
content_type = 'text/html'.
endcase.
dsn = filename.
OPEN DATASET dsn FOR INPUT IN BINARY MODE.
IF sy-subrc NE 0.
zmessage = 'Error opening file'.
navigation->set_parameter( name = 'zmessage' value = zmessage ).
navigation->goto_page( 'downloaderror.htm' ).
exit.
ENDIF.
DO.
READ DATASET dsn INTO <b>file</b>.
EXIT.
ENDDO.
CLOSE DATASET dsn.
set response data to be the file content
runtime->server->response->set_data( <b>file</b> ).
runtime->server->response->set_header_field(
name = 'Content-Type'
value = content_type ).
concatenate 'attachment; filename=' filename into content_disposition.
runtime->server->response->set_header_field(
name = 'Content-Disposition'
value = content_disposition ).
set the file size in the response
content_length = xstrlen( file ).
runtime->server->response->set_header_field(
name = 'Content-Length'
value = content_length ).
runtime->server->response->delete_header_field(
name = 'Cache-Control' ).
runtime->server->response->delete_header_field(
name = 'Expires' ).
navigation->response_complete( ).
Thanks
AjayHi Brian,
I have the same problem as Ajay Yeluguri. In http mode I can generate a download of an Excel document but when we use the portal in https it doesn't work.
When I try to download using https it does not pull the file name and path and when I choose download I have a error message : "Internet Explorer cannot download from ..."
I've test the point 3.2 "... including file up/download" of the BSP application IT00 and it works fine in http and https mode. My problem is not the upload but the download. And in this application the uploaded document is opened in the Internet Explorer window but I want to generate a Save as... window to download the file.
Have you an idea what i can do to solve my problem.
Thanks
Yann -
RE: (forte-users) FW: (forte-users)
Hi there
Thanks very much for the solution - just wanted to let you know . We
implemented the design that technote 11378 suggested .
It worked .
Thanks very much
Cheers
Jen
-----Original Message-----
From: Adamek, Zenon [mailto:ZAdamekpurolator.com]
Sent: Tuesday, 20 March, 2001 9:21 PM
To: 'forte-userslists.xpedior.com'
Subject: (forte-users) FW: (forte-users)
Hi David,
The problem is that the SO uses an attribute of its class ACBAccount as
the ObjectReference pointer. SO is not a stateless object. The possible
scenario before crash can be that client A and B calls SO at the same
time. A's thread creates ACBAccount gets the ObjectReference. At this
point B's thread is activated, does the same as A creates new
ObjectReference. Probably the next switch between A and B will be in the
Connect() (B should wait for OLE server). If A is reactivated it doesn't
get the original own reference but the B's reference. It can cause the
crash and means that a thread can use reference created in some other
thread.
Regards,
Zenon
-----Original Message-----
From: David McPaul [SMTP:dmcpaullumley.com.au]
Sent: Monday, March 19, 2001 11:52 PM
To: 'forte-userslists.xpedior.com'
Subject: RE: (forte-users)
Jenni,
As Zenon has pointed out, technote 11378 talks about problems that
can occur if the calls made to an OLE object are not from within the same
thread the OLE object was created in. It goes on to show a design to
avoid
this.
However, the code you have given DOES communicate to the OLE object
in the same thread as it was created. So the problem as I see it is more
likely to be that the OLE object is not being garbage collected. Although
you do explicitly NIL out the ACBAccount object there is a technote 12453
that deals with the need to set the ObjectReference of CDispatch objects
to
NIL to allow the OLE object to be completely reclaimed by the garbage
collector. Failure to do so when using code that creates a new OLE object
every time you ask for an account validation will eventually run the
partition out of memory.
As pointed out in a previous post you can also increase
FORTE_STACK_SIZE but this will delay the problem not correct it.
Rather than create the connection each time you may want to think
about redesigning the method as shown in tech note 11378.
Cheers
David
-----Original Message-----
From: Adamek, Zenon [mailto:ZAdamekpurolator.com]
Sent: Tuesday, March 20, 2001 5:05 AM
To: 'Els, Jenni'
Cc: 'forte-userslists.xpedior.com'
Subject: RE: (forte-users)
Hi Jenni,
The most important issue by designing an OLE connection between a Forte
server partition and an OLE component is taking into account that an OLE
object can be referenced from the NT thread in Forte partition that it was
created in. It is the reason that you have no problems with your mini-app
in
single-threaded version.
This problem is discussed in the Technote 11378. You can find a workaround
for your problem there, too.
Regards,
Zenon
-----Original Message-----
From: Els, Jenni [SMTP:JElsnbs.co.za]
Sent: Monday, March 19, 2001 2:28 AM
To: 'forte-userslists.xpedior.com'
Subject: (forte-users)
Hi there
We have this situation
We are calling a Service Object (in the server partition) from ourclient
partition.This service object calls a method which calls a DLLregistered
on our server (VB code) . This VB code access a database on anotherserver
.(DSN set up on our server ).The database is sql server .
We are having the problem where for about 3 hours in the morning , the
system works perfectly. We then get a segmentation violation on this
partition . When we run interpreted we can see that this is an OLEinvoked
exception. The partition does not always show as offline in econsole
and
because it does not , we cannot 'online' another . We cannot take the
entire app down as everything hangs . Eventually our technical depthas
to
down the server
We set up a mini-app looping through and calling the DLL to simulate
the
problem . It worked fine. When we put another asynchronous task in the
method to call the service object , it erred quite soon. We thencreate
an
attribute of type mutex and locked using that. The mini-app worked.
However our app in development eventually hanged (without the
partition
coming though) .
The service Object is an environment visible service object in asingle
(non-replicated partition) . It has a dialog duration = session .
In the project is
ACB : ACBObject
ACBObject : CDispatch (shared = disallowed , distributed =
disallowed, transactional = disallowed, monitored = allowed)
ACBValidator : Object (shared = allowed , distributed =allowed,
transactional = disallowed, monitored = disallowed)
ACBVaidatorSO : ACBValidator
In this method we have this code to call the DLL
self.ACBAccount = new;
self.ACBAccount.CreateUsingCLSID(classID='{2EFD3084-7B05-11D3-857F-00105A4
8CEA0}');
pErrorMessage = new;
acbaccount.BankCode = pBankCode.value;
acbaccount.BranchCode = pBranchCode.value;
at : VariantI2 = new;
at.Value = pAccountType.Value;
acbaccount.AccountType = at.Value;
acbaccount.AccountNo = pAccountNo.value;
begin
acbaccount.Connect();
exception
when e : GenericException do
ex : GenericException = new;
ex.SetWithParams(severity = SP_ER_ERROR,
message = 'There was an error connecting to the database');
raise ex;
end;
begin
err : i2 = acbaccount.ValidateAccount();
if err != 0 then
pErrorMessage.SetValue(acbaccount.ErrDescriptionStr(iErrorCode= err));
acbaccount.Disconnect();
return false;
else
pErrorMessage.SetValue('The account is
valid!!');
acbaccount.Disconnect();
self.ACBAccount = NIL ;
return true;
end if;
exception
when e : GenericException do
acbaccount.Disconnect();
ex : GenericException = new;
ex.SetWithParams(severity = SP_ER_ERROR,
message = 'There was an error Validating the account');
Task.ErrorMgr.AddError(ex);
task.errormgr.ShowErrors();
raise e;
end;
exception
when e : GenericException do
acbaccount.Disconnect();
Task.ErrorMgr.ShowErrors();
raise e;
If anybody has any suggestions , they would be most welcome
Thanks very much
Cheers
Jenni Els************************************************************************Th
is e-mail is intended for the use of the individual or entity named above
and may contain information that is confidential and privileged. If you
are not the intended recipient, you are hereby notified that any
dissemination, distribution or copying of this e-mail is strictly
prohibited. If you have received this e-mail in error, please notify us
immediately at helpdesklumley.com.au and destroy the original message.
While this mail and any attachments have been scanned for common computer
viruses and found to be virus free, we recommend you also perform your own
virus checking processes before opening any attachments.
For the archives, go to: http://lists.xpedior.com/forte-users and use
the login: forte and the password: archive. To unsubscribe, send in a new
email the word: 'Unsubscribe' to: forte-users-requestlists.xpedior.com--
For the archives, go to: http://lists.xpedior.com/forte-users and use
the login: forte and the password: archive. To unsubscribe, send in a new
email the word: 'Unsubscribe' to: forte-users-requestlists.xpedior.com
WARNING:
Any unauthorised use or interception of this email is illegal. If this email
is not intended for you, you may not copy, distribute nor disclose the
contents to anyone. Save for bona fide company matters, the BoE Group does
not accept any responsibility for the opinions expressed in this email.
For further details please see: http://www.nbs.co.za/emaildisclaim.htmHi there
Thanks very much for the solution - just wanted to let you know . We
implemented the design that technote 11378 suggested .
It worked .
Thanks very much
Cheers
Jen
-----Original Message-----
From: Adamek, Zenon [mailto:ZAdamekpurolator.com]
Sent: Tuesday, 20 March, 2001 9:21 PM
To: 'forte-userslists.xpedior.com'
Subject: (forte-users) FW: (forte-users)
Hi David,
The problem is that the SO uses an attribute of its class ACBAccount as
the ObjectReference pointer. SO is not a stateless object. The possible
scenario before crash can be that client A and B calls SO at the same
time. A's thread creates ACBAccount gets the ObjectReference. At this
point B's thread is activated, does the same as A creates new
ObjectReference. Probably the next switch between A and B will be in the
Connect() (B should wait for OLE server). If A is reactivated it doesn't
get the original own reference but the B's reference. It can cause the
crash and means that a thread can use reference created in some other
thread.
Regards,
Zenon
-----Original Message-----
From: David McPaul [SMTP:dmcpaullumley.com.au]
Sent: Monday, March 19, 2001 11:52 PM
To: 'forte-userslists.xpedior.com'
Subject: RE: (forte-users)
Jenni,
As Zenon has pointed out, technote 11378 talks about problems that
can occur if the calls made to an OLE object are not from within the same
thread the OLE object was created in. It goes on to show a design to
avoid
this.
However, the code you have given DOES communicate to the OLE object
in the same thread as it was created. So the problem as I see it is more
likely to be that the OLE object is not being garbage collected. Although
you do explicitly NIL out the ACBAccount object there is a technote 12453
that deals with the need to set the ObjectReference of CDispatch objects
to
NIL to allow the OLE object to be completely reclaimed by the garbage
collector. Failure to do so when using code that creates a new OLE object
every time you ask for an account validation will eventually run the
partition out of memory.
As pointed out in a previous post you can also increase
FORTE_STACK_SIZE but this will delay the problem not correct it.
Rather than create the connection each time you may want to think
about redesigning the method as shown in tech note 11378.
Cheers
David
-----Original Message-----
From: Adamek, Zenon [mailto:ZAdamekpurolator.com]
Sent: Tuesday, March 20, 2001 5:05 AM
To: 'Els, Jenni'
Cc: 'forte-userslists.xpedior.com'
Subject: RE: (forte-users)
Hi Jenni,
The most important issue by designing an OLE connection between a Forte
server partition and an OLE component is taking into account that an OLE
object can be referenced from the NT thread in Forte partition that it was
created in. It is the reason that you have no problems with your mini-app
in
single-threaded version.
This problem is discussed in the Technote 11378. You can find a workaround
for your problem there, too.
Regards,
Zenon
-----Original Message-----
From: Els, Jenni [SMTP:JElsnbs.co.za]
Sent: Monday, March 19, 2001 2:28 AM
To: 'forte-userslists.xpedior.com'
Subject: (forte-users)
Hi there
We have this situation
We are calling a Service Object (in the server partition) from ourclient
partition.This service object calls a method which calls a DLLregistered
on our server (VB code) . This VB code access a database on anotherserver
.(DSN set up on our server ).The database is sql server .
We are having the problem where for about 3 hours in the morning , the
system works perfectly. We then get a segmentation violation on this
partition . When we run interpreted we can see that this is an OLEinvoked
exception. The partition does not always show as offline in econsole
and
because it does not , we cannot 'online' another . We cannot take the
entire app down as everything hangs . Eventually our technical depthas
to
down the server
We set up a mini-app looping through and calling the DLL to simulate
the
problem . It worked fine. When we put another asynchronous task in the
method to call the service object , it erred quite soon. We thencreate
an
attribute of type mutex and locked using that. The mini-app worked.
However our app in development eventually hanged (without the
partition
coming though) .
The service Object is an environment visible service object in asingle
(non-replicated partition) . It has a dialog duration = session .
In the project is
ACB : ACBObject
ACBObject : CDispatch (shared = disallowed , distributed =
disallowed, transactional = disallowed, monitored = allowed)
ACBValidator : Object (shared = allowed , distributed =allowed,
transactional = disallowed, monitored = disallowed)
ACBVaidatorSO : ACBValidator
In this method we have this code to call the DLL
self.ACBAccount = new;
self.ACBAccount.CreateUsingCLSID(classID='{2EFD3084-7B05-11D3-857F-00105A4
8CEA0}');
pErrorMessage = new;
acbaccount.BankCode = pBankCode.value;
acbaccount.BranchCode = pBranchCode.value;
at : VariantI2 = new;
at.Value = pAccountType.Value;
acbaccount.AccountType = at.Value;
acbaccount.AccountNo = pAccountNo.value;
begin
acbaccount.Connect();
exception
when e : GenericException do
ex : GenericException = new;
ex.SetWithParams(severity = SP_ER_ERROR,
message = 'There was an error connecting to the database');
raise ex;
end;
begin
err : i2 = acbaccount.ValidateAccount();
if err != 0 then
pErrorMessage.SetValue(acbaccount.ErrDescriptionStr(iErrorCode= err));
acbaccount.Disconnect();
return false;
else
pErrorMessage.SetValue('The account is
valid!!');
acbaccount.Disconnect();
self.ACBAccount = NIL ;
return true;
end if;
exception
when e : GenericException do
acbaccount.Disconnect();
ex : GenericException = new;
ex.SetWithParams(severity = SP_ER_ERROR,
message = 'There was an error Validating the account');
Task.ErrorMgr.AddError(ex);
task.errormgr.ShowErrors();
raise e;
end;
exception
when e : GenericException do
acbaccount.Disconnect();
Task.ErrorMgr.ShowErrors();
raise e;
If anybody has any suggestions , they would be most welcome
Thanks very much
Cheers
Jenni Els************************************************************************Th
is e-mail is intended for the use of the individual or entity named above
and may contain information that is confidential and privileged. If you
are not the intended recipient, you are hereby notified that any
dissemination, distribution or copying of this e-mail is strictly
prohibited. If you have received this e-mail in error, please notify us
immediately at helpdesklumley.com.au and destroy the original message.
While this mail and any attachments have been scanned for common computer
viruses and found to be virus free, we recommend you also perform your own
virus checking processes before opening any attachments.
For the archives, go to: http://lists.xpedior.com/forte-users and use
the login: forte and the password: archive. To unsubscribe, send in a new
email the word: 'Unsubscribe' to: forte-users-requestlists.xpedior.com--
For the archives, go to: http://lists.xpedior.com/forte-users and use
the login: forte and the password: archive. To unsubscribe, send in a new
email the word: 'Unsubscribe' to: forte-users-requestlists.xpedior.com
WARNING:
Any unauthorised use or interception of this email is illegal. If this email
is not intended for you, you may not copy, distribute nor disclose the
contents to anyone. Save for bona fide company matters, the BoE Group does
not accept any responsibility for the opinions expressed in this email.
For further details please see: http://www.nbs.co.za/emaildisclaim.htm -
I am trying to create a app that will use a database I created with MS Access. My problem is when i do to create the database. I have the DSN set up for the database. When I go to create a connection i get this error:
Unable to obtain schema. There is insufficient information to establish a connection to obtain list of schemas. Check database URL, user and password. Driver Message: [Microsoft][ODBC Microsoft Access Driver]Optional feature not implemented.
I was able to add the database to netbeans but I am unable to look at the tables in it. I was able to add a new table but it was only viewable from access and not Netbeans itself. I am using the JDBC-ODBC Bridge drivers. If anyone can help, let me know. Thank you.>
If you post some code we can probably tell you where
you're going wrong.I suspect (mainly from experience of reading vague problem descriptions on here) that the real problem here is that the OP is using Netbeans which I guess has some widget to help you with your JDBC programming. And this widget shows you the various schemas and tables within.
So of course with Access this is not working. But it doesn't matter because it's only used by the Netbeans widget and not the OP's code. -
Hello all,
I have a VB6 application that is currently using CR8 to view and print reports. We are moving to CRXI R2 and I am having an issuw ith moving the old reports into CRXi format. My issue is connecting to the database with the newly converted report.
Hre is my scenario, I open one of the CR8 reports in CRXI and move a field to force a save. When I save the report I get the message that I can not go back. I say OK and when I open the report in my VB6 application it open just fine.
But now I go back into the report and do a "Verify Database" and it tells me that the database has changed and to procedd to fix up the report. I click OK and OK on "The database is up to date". Now when I go back to my VB6 app and try to view the report I get an error on Line19 below that says Logon Failed for user dbo. But that is not the user id that I am passing in CPProperty.
11 Set CPProperty = crDBTables.ConnectionProperties("DSN")
' Set the ODBC data source name. Note: You do not need to set this property if you are using the same ODBC data source.
12 CPProperty.Value = "MDBSLOCAL"
' Get the "User ID" property from the ConnectionProperties collection.
13 Set CPProperty = crDBTables.ConnectionProperties("User ID")
' Set the user name. Note: You do not need to set this property if you are using the same user name.
14 CPProperty.Value = strUID
' Get the "Password" property from the ConnectionProperties collection. Note: You must always set the password if one is required.
15 Set CPProperty = crDBTables.ConnectionProperties("Password")
' Set the password.
16 CPProperty.Value = strPwd
' Get the "Database" property from the
' ConnectionProperties collection.
17 Set CPProperty = crDBTables.ConnectionProperties("Database")
' Set the database.
18 CPProperty.Value = connLite.DefaultDatabase
19 crDBTables.Location = connLite.DefaultDatabase & ".mdbs." & crDBTables.Name
Thanks in advance for the assisstance
DaveHi Dave,
In CR 9 the database drivers and SDK methods were updated completely as well as the names of the DB drivers.
I suggest you have a look at the RDC sample app's to see what the new methods are and how to use them. Also, the Parameters API's were also rewritten so you'll have to update those also.
Another "gotcha" is the order of the various API's now. You must set the Log on info first, then parameters and then Record Selection formula and if you are then the SQL query, also note that editing the SQL is no longer a function in the Designer. Use Commands in the database wizard to write your own SQL.
Samples:
http://wiki.sdn.sap.com/wiki/display/BOBJ/CrystalReportsSDKSampleApplications
Look at the COM link.
One more bit of info, the RDC has been deprecated as of CR XI R2 ( 11.5 ) which is end of life and support now. To get the latest and final Service Packs you can get them from here:
http://downloads.businessobjects.com/akdlm/crystalreports/crxir2_sp4_full_bld_0-20008684.exe
http://downloads.businessobjects.com/akdlm/crystalreports/CRYSTALREPORTS06_0-20008684.EXE
Distribution files are also on our download page.
Next is to move to Visual Studio 2010 and Cr for Vs 2010 and using RAS which is the replace reporting engine for RDC. Samples are also on that sample page.
Don -
Trying to connect to Sybase with Java jdbc
Hoping someone can help me to connect to Sybase database (version is Sybase Adaptive Server Enterprise 12.5.3). I am using a technique I read that worked with Access and adapting by some examples for Syabase I found on the web but keep getting errors. Below is my code with some of the examples Ive been using commented out.
I have created a DSN on my Windows Xp o/s named GPTS_SYBASE via ODBC Use DSN set-up wizard, driver is Sybase ASE ODBC Driver.
import java.sql.*;
public class DBConn {
public DBConn(){
public static void main(String[] args) {
try {
//Class.forName("com.sybase.jdbc2.jdbc.SybDriver.class.getname()");
//Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Class.forName("com.sybase.jdbc2.jdbc.SybDriver");
String sourceURL = "jdbc.odbc.GPTS_SYBASE";
//String sourceURL = "jdbc.sybase.Tds:GPTSPSYB1:5000/gpts";
Connection conn = DriverManager.getConnection(sourceURL, "gptsdbo", "gptsdbo");
//Connection conn = DriverManager.getConnection(sourceURL);
System.out.println("Success");
} catch (Exception e) {
System.err.println("Got an excpetion! ");
System.err.println(e.getMessage());
Error message from this code is
Got an excpetion!
com.sybase.jdbc2.jdbc.SybDriverHave you read the Sybase docs or the Java JDBC docs? ODBC != JDBC. They sound the same but are totally different. The DSN is totally irrelevant for type 4 JDBC drivers.
It would help to actually print the stack trace by changing your code to:
catch (Exception e) {
System.err.println("Got an excpetion! ");
e.printStackTrace();
}Also, you're mixing the wrong class name with the URL. You need "com.sybase.jdbc2.jdbc.SybDriver" and, in your case jdbc:sybase:Tds:GPTSPSYB1:5000/gpts - note the change to colons, not periods! - when in doubt read the docs! -
I just started working as the only CF developer at a company
that doesn't seem to have CF administrator anywhere in production.
If I go to website/cfide/administrator I get a page-not-found
error. I did a file search on the c and d drives in production on
'cfide' and no directory was found. I also tried 'administrator'
and all that was found was an unrelated Windows directory.
The odd thing, on top of that, is that the datasources are
working. If I run CF queries against a DSN set from
application.cfm, I get data back.
Could it be that CF Admin was either uninstalled or removed
after datasources were set up? Can DSNs be set up via SQL Server
without CF?
Also, I found out that production used to be load balanced,
but the other prod server has been down for 6 months. Could it be
that only this server had CF Admin installed?
If at some point I need to install CF Admin, is it possible
to install just this piece and not CF altogether?> Could it be that CF Admin was either uninstalled or
removed after datasources
> were set up? Can DSNs be set up via SQL Server without
CF?
Yes, some people do this for security reasons. Personally I
prefer just
locking down the administrator web site to local or other
given IP
address(es). But it is possible to remove this directory and
only put
it in place when one wants to use it.
> Also, I found out that production used to be load
balanced, but the other prod
> server has been down for 6 months. Could it be that only
this server had CF
> Admin installed?
Possible. I've never had to worry about a multiple server
load balanced
system so I do not know the nuances. But this sounds possible
on the
surface.
> If at some point I need to install CF Admin, is it
possible to install just
> this piece and not CF altogether?
Not really possible to just do an "install" of the
administrator. But
it is quite easy to just copy an administrator directory from
any
compatible ColdFusion installation (same version and build)
to the cfide
folder of your production server.
Then remove again when done if you do not want to leave it
there. -
How to filter French language spam in Mail?
Is there a way of adding a rule in Mail 7.3 in OS 10.9.4 to automatically identify French-language e-mails as spam (as indeed all the French-language e-mails I receive are)? Merely marking the messages as spam hasn't made Mail any smarter about recognizing them as spam.
There are a whole bunch of things that must all be setup properly for this to work; some of them are not related specifically to TimesTen. For example:
1. The setting for 'DatabaseCharacterSet' determines how TimesTen will interpret character data (other than NCHAR/NVARCHAR2/NCLOB) stored in the database. So this must be set to a suitable and correct value based on your requirements.
2. The DSN setting for 'ConnectionCharacterSet' determines how the TimesTen driver (ODBC, OCI, JDBC etc.) will treat data presented to it by the application. This setting must ,match, or at least be compatible with, the actual data encoding used by the application. Note that the default value for this if it is not set explicitly is US7ASCII which is certainly *not* suitable for your needs. What value do you have for ConnectionCharacterSet?
3. If you are using a shell based client (such as ttIsql) to insert or display the data then it is very important that both your shell and terminal NLS parameters are set properly. If they are not then even if the data is correct being inserted and retrieved it may not display correctly. I cannot provide detailed guidance on this as it depends on your OS etc. but for Mac OS X for example I work in UTF8 and my shell environment specifies NLS_LANG=ENGLISH_UNITED KINGDOM.UTF8.
4. Applications often have their own locale settings and those also need to be set properly.
5. Java always works in UTF16 so usually that is not an issue.
So, you need to check all of the above very carefully; if any one of these is not set exactly right you will get unexpected (and possibly incorrect) results. For example, if ConnectionCharacterSet is not set properly at the time the data is inserted then the data in the database may not be correct.
Hope that helps,
Chris -
I have had a airport for quite some time now and I have forgotten my WEP and admin password. I was going to do a soft reset but I dont want to loose my IP and DSN set up info.
If I do a soft reset will it just reset my password to "public" and then allow me to find out my WEP key or will I have to re set up my IP and DNS stuff.If I do a soft reset will it just reset my password to "public" and then allow me to find out my WEP key or will I have to re set up my IP and DNS stuff.
Yes, it will only reset the base station password. (ref: http://docs.info.apple.com/article.html?artnum=107451) -
RAS Error - The table could not be found.
Hi,
Bo version : XI2 SP2
BO SDK : RAS
I am getting following error while setting table location for the report going against Sybase (ODBC CR driver 5.1 wired protocol) database report.
com.crystaldecisions.sdk.occa.report.lib.ReportSDKServerException: The table 'CASH' could not be found.
Error in File C:\WINDOWS\TEMP\{6F59C5DB-DB01-4905-BFE6-5A302D2A9283}.rpt:
The table could not be found.---- Error code:-2147482939 Error code name:failed
at com.crystaldecisions.sdk.occa.report.lib.ReportSDKServerException.throwReportSDKServerException(Unknown Source)
at com.crystaldecisions.proxy.remoteagent.s.a(Unknown Source)
at com.crystaldecisions.sdk.occa.report.application.cf.a(Unknown Source)
at com.crystaldecisions.sdk.occa.report.application.z.a(Unknown Source)
at com.crystaldecisions.sdk.occa.report.application.ak.if(Unknown Source)
at com.crystaldecisions.sdk.occa.report.application.ad.int(Unknown Source)
at com.crystaldecisions.sdk.occa.report.application.bk.for(Unknown Source)
at com.crystaldecisions.proxy.remoteagent.v.a(Unknown Source)
at com.crystaldecisions.proxy.remoteagent.v.if(Unknown Source)
at com.crystaldecisions.sdk.occa.report.application.DatabaseController.a(Unknown Source)
at com.crystaldecisions.sdk.occa.report.application.DatabaseController.setTableLocation(Unknown Source)
what all properties needs to be set for Logon and also Location specific, any sample code for the RAS + ODBC + SYBASE will be highly appreciated.
code giving error
// DatabaseController databaseController = reportClientDoc.getDatabaseController();
Tables tables = reportClientDoc.getDatabaseController().getDatabase().getTables();
ITable newTable = null;
for (Object object : tables) {
Table table = (Table) object;
newTable = (Table) table.clone(true);
log.info("Table Name " + table.getName());
IConnectionInfo connectionInfo = table.getConnectionInfo();
com.crystaldecisions.sdk.occa.report.lib.PropertyBag propertyBag = connectionInfo.getAttributes();
log.info("propertyBag.size >> " + propertyBag.size());
databaseName = (String) propertyBag.get(DB_NAME);
dsnName = (String) propertyBag.get(DSN);
Set<Object> set = propertyBag.keySet();
for (Object key : set) {
log.info("Key >> " + key);
log.info(" === Value >> " + propertyBag.get(key));
log.info("----
// newTable.setQualifiedName(table.getAlias());
// Change connection information properties
connectionInfo = newTable.getConnectionInfo();
// Set new table logon properties
// 1. Set the DSN
// 2. Set the Data Source (Database)
PropertyBag newPropertyBag = (PropertyBag) propertyBag.clone(true);
// Set new table logon properties (the DSN and the data source)
PropertyBag logonPb = new PropertyBag();
//logonPb.putStringValue("DSN", dsnName);
logonPb.put("Database Type", "ODBC (RDO)");
logonPb.put("Data Source Name", dsnName);
logonPb.put("DSN", dsnName);
logonPb.putStringValue("Database", databaseName);
logonPb.putBooleanValue("UseDSNProperties", false);
String dataSource = "";
DatabaseInfoVO databaseInfoVO = null;
if (StringUtils.indexOf(dsnName, "XXXX") != -1) {
dataSource = "EPAM-" + databaseName;
databaseInfoVO = this.getDatabaseInfoMap().get(dataSource.toUpperCase());
} else if (StringUtils.indexOf(dsnName, "YYYY") != -1) {
dataSource = "EIMCO-" + databaseName;
databaseInfoVO = this.getDatabaseInfoMap().get(dataSource.toUpperCase());
} else if (StringUtils.indexOf(dsnName, "ZZZZ") != -1) {
dataSource = "CRD-" + databaseName;
databaseInfoVO = this.getDatabaseInfoMap().get(dataSource.toUpperCase());
} else if (StringUtils.indexOf(dsnName, "WWWW") != -1) {
dataSource = "AA-" + databaseName;
databaseInfoVO = this.getDatabaseInfoMap().get(dataSource.toUpperCase());
log.info("databaseInfoVO >>" + databaseInfoVO);
// Overwrite any existing properties with updated values
newPropertyBag.put(PropertyBagHelper.CONNINFO_CRQE_LOGONPROPERTIES, logonPb);
newPropertyBag.putStringValue(PropertyBagHelper.CONNINFO_CRQE_SERVERDESCRIPTION, dsnName);
newPropertyBag.putStringValue(PropertyBagHelper.CONNINFO_CRQE_DATABASENAME, databaseName);
newPropertyBag.putStringValue(PropertyBagHelper.CONNINFO_DATABASE_DLL, "crdb_odbc.dll");
newPropertyBag.putBooleanValue(PropertyBagHelper.CONNINFO_CRQE_SQLDB, true);
newPropertyBag.putBooleanValue(PropertyBagHelper.CONNINFO_SSO_ENABLED, false);
set = newPropertyBag.keySet();
for (Object key : set) {
log.info("Key2 >> " + key);
log.info("Value2 >> " + newPropertyBag.get(key));
connectionInfo.setAttributes(newPropertyBag);
connectionInfo.setUserName(databaseInfoVO.getUserName());
connectionInfo.setPassword(EZSuiteEncodeUtil.decrypt(databaseInfoVO.getPassword()));
connectionInfo.setKind(ConnectionInfoKind.CRQE);
newTable.setConnectionInfo(connectionInfo);
newTable.setName(table.getName());
newTable.setAlias(table.getAlias());
newTable.setQualifiedName(table.getQualifiedName());
// Update the table information
reportClientDoc.getDatabaseController().setTableLocation(table, newTable);
Thanks,
Rupesh
Edited by: Rupesh Raut on Oct 28, 2008 8:45 PM
Edited by: Rupesh Raut on Oct 28, 2008 8:46 PMHi,
This error message appears when the user does not have sufficient rights to the business view on which the report is based.
To resolve this error message, open the Business View Manager and verify that the user's rights are set up correctly.
To view a report based on a business view, the user or the group to which the user belongs, must have 'View' rights to the business view. Also, verify that none of the groups, including the Everyone group, to which the user belongs, has been explicitly denied 'View' rights.
If this does'nt help try to update database driver.
Make the copy of database and save it with different name ( without underscore) and point the crystal report to it.
Regards,
Shweta -
Variable(?) name in NQSConfig.INI [ REPOSITORY ] section
Originally I had this entry in my environment
BIEE = BIC2G_EE.rpd, DEFAULT;
in Classroom for BI EE course
Star = appdev.rpd, DEFAULT;
Where was declared this (variable?) name (eg. BIEE or Star) ?
Is it arbitrary name ?.RPD is a repository file which reads the Metadata from the data source , so when you set the Star variable make sure you have the DSN set up and you have stopped BI server and BI presentation services.
-
How do I code for oracle database in asp to interact with
database? I know I may sound stupid in this.
DSN:
Set Conn = server.createobject("ADODB.Connection")
Conn.Open "dsn=oradb;uid=test;pwd=test"
Set Res = Server.CreateObject("ADODB.RecordSet")
above is mapping to microsoft or oracle drivers? How about
DSNless? like Driver or Provider?
I'm still confused abt oracle ODBC mapping. I don't know how to
write oracle DB connectivity for asp scripts.
I'm grateful if anyone can help me in this.1) Are you sure that you get no results? It sounds like you are having name resolution issues, which would imply that you should be getting an ORA-00942 error indicating that the table doesn't exist (or that you don't have access to the table). If you are not seeing this error, I would tend to suspect an overzealous exception handler.
2) What database account owns the table? What database account is your ASP.Net application using to connect? Assuming these two accounts are different, your application would either have to
- Explicitly prefix the table name with the schema name
- Have a public or private synonym that maps the table name to the fully qualified identifier schema_name.table_name
- Issue the command ALTER SESSION SET CURRENT_SCHEMA = <<schema name>> in each session, in which case all queries in the session would use the specified schema name as the default if no schema name is prefixed.
Justin -
Application.cfm in root and subdirectory, help.
I cannot figure this out. I understand that an application
will use the application.cfm file in it's current directory first
and not search further. However, my page in a subdirectory seems to
not see the application.cfm in it's own directory and instead uses
the root application.cfm. Can anyone explain? And I have tried
capitalizing the "A", etc. but I am not using Linux so I do not
think it matters anyway. (CF MX)Hard to tell exactly, but in the subdirectory, is the ONLY
line the <cfset application.dsn_test = "DiningHall">?
If so, the subdirectory application.cfm would execute and the
parent would not, which would cause the undefined error since from
what I can tell, you haven't used the <cfapplication> tag in
the subdirectory.
What you can do is use a cfinclude in the subdirectory
application.cfm.
<cfinclude template="../application.cfm">
<cfset application.dsn_test = "DiningHall">
However.... That's a big no no if you're using this to
actually change application scope parameters, since someone
visiting the subdirectory would reset the DSN for someone that
might still be navigating around in the parent directory.
So what good is using the cfinclude method? Well, you can
lock subdirectories to roles this way.
<cfinclude template="../application.cfm">
<cfif getAuthUser() eq "" or not IsUserInRole("Admin")>
Access Denied!
<cfabort>
<cfif>
Consider changing the DSN setting to use the request.scope to
isolate the change to the user.
<cfset Request.appDSN = "DININGHALL">
Maybe you are looking for
-
Multiple payers for one sold to party
Hi All, Can we have multiple payers for one sold to party? Thanks
-
Making synchronous call to mdb!!!!!!!!
Hi All, I am using SomeTaskMDB to store data in database, and then same mdb is trying to retrive that stored value for the next call to onMessage(). But some time my code is failing and some time it is getting success, the probable reseon for this is
-
Hello, I'm looking for some updates on the timelines for SCPM 2.0 HANA integration and the next release of SCPM. I understand SCPM 2.0 is to be validated with BW 7.3 on HANA, is this up and running now? Also I understand the next release (Next year)
-
Another broadband speed issue- please help
My employer is a bb customer who uses this connection and also she is able to access email from her mobile when abroad, although i should think that this will have no effect on the download speed achieved on the home connection. I have been asked by
-
Synchronizing the read of two timer tasks (Period and Two Edge Separation)
Hello, I am using labview 2011 and need to latch the data from two timer tasks of a 6602 board at the same time and then perform the read. One task is a period measurement the other is a two edge speration. It sounds pretty simple and I am sure it i