Connections to CMS/AUDIT system Databases lost
we are often losing connection to CMS/AUDIT system Databases therefore
users can not log into Infoview.
The work around is to restart the Server Intelligence Agent (sia.exe)
Server Details: we have BusObjects Edge standard XI 3.0
Application Server: MS Windows Server 2003 Standard Edition SP2
Database Server: MS Windows Server 2003 Standard Edition SP2
There are multiple errors in our event viewer showing these errors.
They have been happening for the last week.
Not sure why this is happening or how to reproduce anyone know how to fix?
Event viewer > application details:
Event Type: Error
Event Source: BusinessObjects_CMS
Event Category: Database
Description:
BusinessObjects Enterprise CMS: All connections to CMS system database ""BO_CMS"" have been lost. The CMS is entering the ""Waiting For Resources"" state. Reason [Microsoft][ODBC SQL Server Driver]Communication link failure
Description:
BusinessObjects Enterprise CMS: All connections to CMS audit database ""BO_AUDIT"" have been lost. The CMS can no longer serve as Auditor. Reason: [Microsoft][ODBC SQL Server Driver]Communication link failure
Edited by: Dennis Alishah on Dec 15, 2010 11:37 PM
no network problems
thanks
Found this is the SAP SMP I also asked them waiting for their reply to see if the below fix is suitable:
SAP Knowledge Base Article
Symptom
CMS restarts and throws Database access error. Reason [Microsoft][ODBC SQL Server Driver]Communication link failure in the event viewer.
BusinessObjects_CMS,Warning,Database ,33300,N/A,GADEVBO1,Database access error. Reason [Microsoft][ODBC SQL Server Driver]Communication link failure.
BusinessObjects_CMS,Warning,Database ,33301,N/A,GADEVBO1,Retryable error returned from CMS database. Will retry the request 3 time(s).
BusinessObjects_CMS,Warning,Database ,33300,N/A,GADEVBO1,Database access error. Reason [Microsoft][ODBC SQL Server Driver][DBNETLIB]ConnectionWrite
Cause
The error occurs because Microsoft Windows Server 2003 Service Pack 1 (SP1) and Windows Server 2003 Service Pack 2 (SP2) implement a security feature that the queue for concurrent TCP/IP connections to the server. This feature helps prevent denial of service attacks.
Under heavy load conditions, the TCP/IP protocol in Windows Server 2003 SP1 and in Windows Server 2003 SP2 may incorrectly identify valid TCP/IP connections service attack.
Resolution
WARNING *** The following resolution involves editing the registry. Using the Registry Editor incorrectly can cause serious Use the Registry Editor at your own risk. Refer to Note 1323322 for more information.
To resolve this issue, turn off this new functionality in Windows Server 2003 SP1 or in Windows Server 2003 SP2 by adding the SynAttackProtect entry to the following registry computer that is running Microsoft SQL Server that houses your BizTalk Server databases.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
Set the SynAttackProtect entry to a DWORD value of 00000000.
To do this, follow these steps:
1. Click Start, click Run, type regedit, and then click OK.
2. Locate and then click the following registry key:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
3. On the Edit menu, point to New, and then click DWORD Value.
4. Type SynAttackProtect, and then press ENTER.
5. On the Edit menu, click Modify.
6. In the Value data box, type 00000000. Click OK.
7. Quit Registry Editor.
Note To complete this registry change, you must restart the computer that is running SQL Server.
See Also
For detailed information, go to the following Microsoft website:
http://support.microsoft.com/default.aspx?scid=kb;en-us;899599
Header Data
References
Product
1375277 - CMS lost the SQLServer 2000/2005 communication and restarts intermittently
Version 1 Validity: 12.08.2009 - active Language English
Released on 07.10.2009 15:35:25
Release status Released to Customer
Component BI-BIP-ADM User & server configuration, InfoView refresh, user rights
Priority Normal
Category Problem
Database MSSQLSRV 2005
Operating System WIN 2003
Type ID Title
Business Objects Notes 1323322 Editing the Windows Registry - Warning
Product Product Version
SAP BusinessObjects Business Intelligence platform (formerly SB BOBJ ENTERPRISE XI R2
1375277 - CMS lost the SQLServer 2000/2005 communication and restarts intermitte... Page 1 of 1
https://websmp130.sap-ag.de/sap(bD1lbiZjPTAwMQ==)/bc/bsp/sno/ui/main.do?para... 16/12/2010
Edited by: Dennis Alishah on Dec 16, 2010 12:23 AM
Similar Messages
-
Connection pooling and auditing on an oracle database
Integration of a weblogic application with an oracle backend,
Connection pooling, and auditing ,2 conflicting requirements ?
Problem statement :
We are in the process of maintaining a legacy client server application where
the client is
written in PowerBuilder and the backend is using an Oracle database.
Almost all business logic is implemented in stored procedures on the database.
When working in client/server mode ,1 PowerBuilder User has a one-to-one relation
with
a connection(session) on the oracle database.
It is a requirement that the database administrator must see the real user connected
to the database
and NOT some kind of superuser, therefore in the PowerBuilder app each user connects
to the database
with his own username.(Each user is configured on the database via a seperate
powerbuilder security app).
For the PowerBuilder app all is fine and this app can maintain conversional state(setting
and
reading of global variables in oracle packages).
The management is pushing for web-based application where we will be using bea
weblogic appserver(J2EE based).
We have build an business app which is web-based and accessing the same oracle
backend app as
the PowerBuilder app is doing.
The first version of this web-based app is using a custom build connector(based
on JCA standard and
derived from a template provided by the weblogic integration installation).
This custom build connector is essentially a combination of a custom realm in
weblogic terms
and a degraded connection pool , where each web session(browser) has a one-to-one
relation
with the back end database.
The reason that this custom connector is combining the security functionality
and the pooling
functionality , is because each user must be authenticated against the oracle
database(security requirement)
and NOT against a LDAP server, and we are using a statefull backend(oracle packages)
which would make it
difficult to reuse connections.
A problem that surfaced while doing heavy loadtesting with the custom connector,
is that sometimes connections are closed and new ones made in the midst of a transaction.
If you imagine a scenario where a session bean creates a business entity ,and
the session bean
calls 1 entity bean for the header and 1 entity bean for the detail, then the
header and detail
must be created in the same transaction AND with the same connection(there is
a parent-child relationship
between header and detail enforced on the back end database via Primary and Foreing
Keys).
We have not yet found why weblogic is closing the connection!
A second problem that we are experincing with the custom connector, is the use
of CMP(container managed persistence)
within entity beans.
The J2EE developers state that the use of CMP decreases the develoment time and
thus also maintenance costs.
We have not yet found a way to integrate a custom connector with the CMP persistence
scheme !
In order to solve our loadtesting and CMP persistence problems i was asked to
come up with a solution
which should not use a custom connector,but use standard connection pools from
weblogic.
To resolve the authentication problem on weblogic i could make a custom realm
which connects to the
backend database with the username and password, and if the connection is ok ,
i could consider this
user as authenticated in weblogic.
That still leaves me with the problem of auditing and pooling.
If i were to use a standard connection pool,then all transaction made in the oracle
database
would be done by a pool user or super user, a solution which will be rejected
by our local security officer,
because you can not see which real user made a transaction in the database.
I could still use the connection pool and in the application , advise the application
developers
to set an oracle package variable with the real user, then on arrival of the request
in the database,
the logic could use this package variable to set the transaction user.
There are still problems with this approach :
- The administrator of the database can still not see who is connected , he will
only see the superuser connection.
- This scheme can not be used when you want to use CMP persistence , since it
is weblogic who will generate the code
to access the database.
I thought i had a solution when oracle provided us with a connection pool known
as OracleOCIConnectionPool
where there is a connection made by a superuser, but where sessions are multiplexed
over this physical pipe with the real user.
I can not seem to properly integrate this OCI connectionpool into weblogic.
When using this pool , and we are coming into a bean (session or entity bean)
weblogic is wrapping
this pool with it's own internal Datasource and giving me back a connection of
the superuser, but not one for the real user,
thus setting me with my back to the wall again.
I would appreciate if anyone had experienced the same problem to share a possible
solution with us
in order to satisfy all requirements(security,auditing,CMP).
Many Thanks
Blyau Gino
[email protected]Hi Blyau,
As Joe has already provided some technical advice,
I'll try to say something on engineering process level.
While migrating an application from one technology to
other, like client-server to n-tier in you case, customers and
stakeholders want to push into the new system as many old
requirements as possible. This approach is AKA "we must
have ALL of the features of the old system". Mostly it happens
because they don't know what they want. Ad little understanding
of abilities of the new technology, and you will get a requirement
like the one you have in you hands.
I think "DBA must see real user" is one of those. For this
type of requirements it can make sense to try to drop it,
or to understand its nature and suggest alternatives. In this
particular case it can be a system that logs user names,
login and logout times.
Blind copying of old features into an incompatible new architecture
may endanger the whole project and can result in its failure.
Hope this helps.
Regards,
Slava Imeshev
"Blyau Gino" <[email protected]> wrote in message
news:[email protected]...
>
Integration of a weblogic application with an oracle backend,
Connection pooling, and auditing ,2 conflicting requirements ?
Problem statement :
We are in the process of maintaining a legacy client server applicationwhere
the client is
written in PowerBuilder and the backend is using an Oracle database.
Almost all business logic is implemented in stored procedures on thedatabase.
When working in client/server mode ,1 PowerBuilder User has a one-to-onerelation
with
a connection(session) on the oracle database.
It is a requirement that the database administrator must see the real userconnected
to the database
and NOT some kind of superuser, therefore in the PowerBuilder app eachuser connects
to the database
with his own username.(Each user is configured on the database via aseperate
powerbuilder security app).
For the PowerBuilder app all is fine and this app can maintainconversional state(setting
and
reading of global variables in oracle packages).
The management is pushing for web-based application where we will be usingbea
weblogic appserver(J2EE based).
We have build an business app which is web-based and accessing the sameoracle
backend app as
the PowerBuilder app is doing.
The first version of this web-based app is using a custom buildconnector(based
on JCA standard and
derived from a template provided by the weblogic integrationinstallation).
This custom build connector is essentially a combination of a custom realmin
weblogic terms
and a degraded connection pool , where each web session(browser) has aone-to-one
relation
with the back end database.
The reason that this custom connector is combining the securityfunctionality
and the pooling
functionality , is because each user must be authenticated against theoracle
database(security requirement)
and NOT against a LDAP server, and we are using a statefull backend(oraclepackages)
which would make it
difficult to reuse connections.
A problem that surfaced while doing heavy loadtesting with the customconnector,
>
is that sometimes connections are closed and new ones made in the midst ofa transaction.
If you imagine a scenario where a session bean creates a business entity,and
the session bean
calls 1 entity bean for the header and 1 entity bean for the detail, thenthe
header and detail
must be created in the same transaction AND with the same connection(thereis
a parent-child relationship
between header and detail enforced on the back end database via Primaryand Foreing
Keys).
We have not yet found why weblogic is closing the connection!
A second problem that we are experincing with the custom connector, is theuse
of CMP(container managed persistence)
within entity beans.
The J2EE developers state that the use of CMP decreases the develomenttime and
thus also maintenance costs.
We have not yet found a way to integrate a custom connector with the CMPpersistence
scheme !
In order to solve our loadtesting and CMP persistence problems i was askedto
come up with a solution
which should not use a custom connector,but use standard connection poolsfrom
weblogic.
To resolve the authentication problem on weblogic i could make a customrealm
which connects to the
backend database with the username and password, and if the connection isok ,
i could consider this
user as authenticated in weblogic.
That still leaves me with the problem of auditing and pooling.
If i were to use a standard connection pool,then all transaction made inthe oracle
database
would be done by a pool user or super user, a solution which will berejected
by our local security officer,
because you can not see which real user made a transaction in thedatabase.
I could still use the connection pool and in the application , advise theapplication
developers
to set an oracle package variable with the real user, then on arrival ofthe request
in the database,
the logic could use this package variable to set the transaction user.
There are still problems with this approach :
- The administrator of the database can still not see who is connected ,he will
only see the superuser connection.
- This scheme can not be used when you want to use CMP persistence , sinceit
is weblogic who will generate the code
to access the database.
I thought i had a solution when oracle provided us with a connection poolknown
as OracleOCIConnectionPool
where there is a connection made by a superuser, but where sessions aremultiplexed
over this physical pipe with the real user.
I can not seem to properly integrate this OCI connectionpool intoweblogic.
When using this pool , and we are coming into a bean (session or entitybean)
weblogic is wrapping
this pool with it's own internal Datasource and giving me back aconnection of
the superuser, but not one for the real user,
thus setting me with my back to the wall again.
I would appreciate if anyone had experienced the same problem to share apossible
solution with us
in order to satisfy all requirements(security,auditing,CMP).
Many Thanks
Blyau Gino
[email protected] -
The CMS system database is not available (FWM 02088)
Hi all,
After installation of BOE 3.1 the system fires back the error message on attempt to logon to CMS:
Account Information Not Recognized: The CMS system database is not available. This error cannot be rectified by the end user. Report this error to your system administrator or database administrator. (FWM 02088)
Any inputs? I've tried with new SIA as well as fresh installation but the issue persists.
Regards.were you able to see any DB error messages in event log ?
can you connect to your DB from the server itself ? (could be FW issue)
What do you see under the CCM ? Do the SIA is in green state ?
For me it is probably one of 2 things : FW issue (but install will have failed) or DB issue
Sam.
Edited by: sjolly on Sep 17, 2009 9:46 AM -
I downloaded the iOS7 system and lost connectivity to my in-ceiling speakers and Air Play. How do I get it back?
Use the iOS7 Control Center to select AirPlay, and then, choose the appropriate AirPlay speaker to stream to.
-
We are running SAP using Oracle 11 G on Windows Cluster on 2008 R2 and I am facing disconnection issue after near about 80 to 90 minutes user face the error connection to database lost and in even viewer of cluster show the error Cluster resource 'PRD.WORLD' in clustered service or application 'ORACLEPRD' failed.Any one have the answer.
Maahjoor wrote:
the network guy said that i could continously ping the oracle server from vmware.
so the problem is from your database or vmware.
Not really valid for testing TCP connectivity. ICMP is very simplistic stateless protocol. TCP is not. ICMP working does not automatically mean that TCP will work.
it may take time to resolve the IP? ( i will give this tip to our network guy).
but it connects very fastly, and queries bring result, after 5 seconds, we got disconnected.
Two things to check.
On the server, check the kernel log for networking issues, and use ethtool to check the (virtual) NIC. Could be a DHCP leasing issue. Could be a driver/config issue. Etc.
On the client, trace client-server tcp communication by using a sqlnet.ora file for that client process (with tracing enabled) to use. -
How to implement an audit system to track ADF applications DML activity?
We have implemented a complete audit system for one of our databases in order to keep history for every table and every value that has been modified.
The solution that we currently have can be split into two discrete parts:
1. Keeping a record of all connections to the db account
This is achieved via a table ‘user_sessions’ into which we record data for every session in the database with the help of on-logon and on-logoff triggers and some PL/SQL procedures:
Column name | Explanation
-------------------|-------------------------------------------
US_ID | PK, based on a sequence
SESSION_ID | sys_context('USERENV' ,'SESSIONID')
USER_NAME | sys_context('USERENV' ,'OS_USER')
LOGON_TIME | when the on-logon trigger fires
LOGOFF_TIME | when the on-logoff trigger fires
USER_SCHEMA | sys_context('USERENV' ,'SESSION_USER')
IP_ADDRESS | sys_context('USERENV' ,'IP_ADDRESS')
us_id |session_id |user_name|user_sschema|ip_address|logon_time |logoff_time
560066|8498062 |BOB |ABD |1.1.1.2 |14-SEP-06 03.51.52.000000|14-SEP-06 03.52.30.000000
560065|8498061 |ALICE |ABC |1.1.1.1 |14-SEP-06 02.45.31.000000|14-SEP-06 04.22.43.0000002. Keeping the history of every change of data made by a given user
For every table in the account there is a corresponding history table with all of the columns of the original table plus columns to denote the type of the operation (Insert, Delete, Update), start and end time of validity for this record (createtime, retiretime) and us_id (which points to the user_sessions table).
The original table has triggers, which fire if there is an insert, update or delete and they insert the data into the corresponding history table. For every record inserted into a history table the us_id taken from the user_sessions table is recorded as well, allowing us to determine who has modified what data via the combination of these two tables.
Below is an example of a table TASKS, the history related triggers and the history table TASKS_HIST.
At the moment we are developing new applications by using ADF. Since there is an Application Module Pool and Database Connection Pool implemented for the ADF, one connection to the database could be used by several users at different moments of time. In that case the history records will point to a database session logged into the user_sessions table, but we will not know who actually modified the data.
Could you, please, give us a suggestion, how we can know at any moment of time who (which of our users currently making use of an ADF application) is using a given database connection?
By way of an example of the problem we are facing, here is how we solved the same problem posed by the use of Oracle Forms applications.
When the user starts to work with a given Forms application, user_sessions table would attempt to record the relevant information about he user, but since the db session was created by the application server, would in actual fact record the username and ip address of the application server itself.
The problem was easy to solve due to the fact that there is no connection pooling and when a user opens their browser to work with Forms applications, a db connection is opened for the duration of their session (until they close their browser window).
In that case, the moment when the user is authenticated (they log in), there is a PL/SQL procedure called from the login Form, which updates the record in the user_sessions table with the real login name and ip address of the user.
Example of a table and its ‘shadow’ history table
CREATE TABLE TASKS (
TASKNAME VARCHAR2(40),
DESCRIPTION VARCHAR2(80)
ALTER TABLE TASKS ADD (
CONSTRAINT TASKS_PK PRIMARY KEY (TASKNAME));
CREATE OR REPLACE TRIGGER TASKS_HISTSTMP
BEFORE INSERT OR UPDATE OR DELETE ON TASKS
BEGIN
HISTORY.SET_OPERATION_TIME('TASKS');
EXCEPTION
WHEN OTHERS THEN
ERROR.REPORT_AND_GO;
END TASKS_HISTSTMP;
CREATE OR REPLACE TRIGGER TASKS_WHIST
AFTER INSERT OR UPDATE OR DELETE ON TASKS
FOR EACH ROW
BEGIN
CASE
WHEN INSERTING THEN
UPDATE TASKS_HIST
SET retiretime = HISTORY.GET_OPERATION_TIME
WHERE createtime = (SELECT MAX(createtime)
FROM TASKS_HIST
WHERE retiretime IS NULL AND TASKNAME=:NEW.TASKNAME)
AND retiretime IS NULL AND TASKNAME=:NEW.TASKNAME;
INSERT INTO TASKS_HIST (TASKNAME ,DESCRIPTION ,optype
,createtime
,us_id)
VALUES (:NEW.TASKNAME ,:NEW.DESCRIPTION ,'I'
,HISTORY.GET_OPERATION_TIME
,USER_SESSION.GET_USER_SESSIONS_ID);
WHEN UPDATING THEN
UPDATE TASKS_HIST
SET retiretime = HISTORY.GET_OPERATION_TIME
WHERE createtime = (SELECT MAX(createtime)
FROM TASKS_HIST
WHERE TASKNAME=:OLD.TASKNAME)
AND TASKNAME=:OLD.TASKNAME;
INSERT INTO TASKS_HIST (TASKNAME ,DESCRIPTION ,optype
,createtime
,us_id)
VALUES (:NEW.TASKNAME ,:NEW.DESCRIPTION ,'U'
,HISTORY.GET_OPERATION_TIME
,USER_SESSION.GET_USER_SESSIONS_ID);
ELSE
UPDATE TASKS_HIST
SET retiretime = HISTORY.GET_OPERATION_TIME
WHERE createtime = (SELECT MAX(createtime)
FROM TASKS_HIST
WHERE TASKNAME=:OLD.TASKNAME)
AND TASKNAME=:OLD.TASKNAME;
INSERT INTO TASKS_HIST (TASKNAME ,DESCRIPTION ,optype
,createtime
,us_id)
VALUES (:OLD.TASKNAME ,:OLD.DESCRIPTION ,'D'
,HISTORY.GET_OPERATION_TIME
,USER_SESSION.GET_USER_SESSIONS_ID);
END CASE;
EXCEPTION
WHEN OTHERS THEN
ERROR.REPORT_AND_GO;
END TASKS_WHIST;
CREATE TABLE TASKS_HIST (
TASKNAME VARCHAR2(40),
DESCRIPTION VARCHAR2(80),
OPTYPE VARCHAR2(1),
CREATETIME TIMESTAMP(6),
RETIRETIME TIMESTAMP(6),
US_ID NUMBER
ALTER TABLE TASKS_HIST ADD (
CONSTRAINT TASKS_HIST_PK PRIMARY KEY (TASKNAME, CREATETIME)
);Frank,
Thanks for your reply.
I checked the site that you mentioned.
I try the sample “demo with bundle. The sample worked.
But it needed to start separately with the application.
I do not know how to build a help system with the existed web application developed with Jdeveloper (It has two projects: model and user-view-control. It is deployed on Oracle Application server).
Could you help me step by step to build the help system? -
Unable to connect to CMS :6400
Hi Everyone,
I just finished installing CR Server 2008. I've been looking though posts and user guides and can't seem to find an explanation of what I am missing. I have everything installed. I had it create a new SQL database with a user name and password but I am unable to log on to the Business View Manager. I can get to Central Management Server, Central Configuation Manager seems to be running fine and when I run the the BO XI 3.0 Deployment Diagnostic Tool everything passes except the "Crystal Reports Tier". Can someone point me a direction to address these things. This is my first experience with anything beyond Crystal Reports or Xcelsius.
The complete error message I get is below;
Unable to connect to CMS :6400. A wrong connection is made to @@WIN-KP9N33QGFL:6400(WIN-KP9N33QGFL:6400). Logon cannot continue.
Thanks,
Thomas
Edited by: Thomas Rao on Oct 7, 2009 5:04 PMQuestion was answered by SAP Support. We used the computer name and port for the system information when logging in.
EX: Computer123:6400 -
Error connecting to CMS after fresh installation
I finish installing XI 3.0 on our Window 2003 server, Tomcat is installed. When I try to login to CMS I got the following error message:"Error: Server servername:6400 not found or server may be down (FWM 01003) null". I have tried the Administrator and blank password and my CMS DB owner password.
When I install XI 3.0 I have left the password blank. This is the second time I install XI 3.0 on this server. I have uninstalled my 1st XI 3.0 and than reinstall it for the second time. Not sure if this is related for my first install I have set a Administrator password. I am not sure if it is cached something in the system. However I did try to login to CMS with my 1st install password but still unable to login.
I have checked CCM that Tomcat and SIA is both running and I able to bring up the CMS webpage. I did research on the forum that there is a table mod I can do to reset the Administrator password. Can someone post these instructions?
One More thing is when I install Tomcat I changed the port number:
8080 -> 7080
8005 -> 7005
8443 -> 7443
Thank you
Edited by: Alan Mui on Sep 26, 2008 12:26 AMHi,
If this is a new installation - without any data - open your CCM and stop SIA. Double Click SIA, select configuration and tick under CMS System Database Configuration on "Specify". Select "Recreate the current datasource". This option will re-initialize the current data source and all data present will be lost. The Administrator password will be reset to deafult.
I hope this helps,
Regards,
Tim -
Auditing direct database access
I'm a database security engineer and quite unfamiliar with SAP.
From the viewpoint of SOX/IT control, I just wonder if there is any necessity to audit Oracle database using Oracle's auditing features (audit_trail=db/os).
Privileged Oracle users can login to the database bypassing SAP application. In addition, they may be able to change any financial data by executing DML commands directly.
Is such scenario realistic?
I'd like your opinions.
Thanks in advance,
ebiHi Ebi,
in my opinion all that Auditing is only interesting to watch your Administrators hands...
What do you need to access the oracle database?
- client-software ... at least a jdbc driver
(May be available on many computers)
- the hostname, the listener port, a network connection that works and the DB SID
(that should not be so easy... DB Server should be in a seperate network zone... at best only reachable via the Application Servers)
- OR: physical access to the database
(if that is possible... don't think of auditing anymore... there is no security then)
- a valid user account that has access to the SAP<sid> schema
(Ok, that should only be the SYSDBA/SYSTEM account, nothing else. Access to these accounts has to be highly secured. Not so much technically but much more on the "human side". It just has to be a real secret. Period.)
- you've to know at least a bit about the datamodel of SAP databases. Not that easy in a system with more than 40000 tables...
Really problematic (in my opinion) are the approaches to "connect" the SAP database to the other systems in the company. People make up export and import interfaces (sometimes also direct table access) on database level.
Let's face it: businesswise security is gone in these cases.
SAP systems rely on the access "from above", that is through the interfaces and APIs.
Direct database access is like taking money out of the banks safe instead of withdraw it.
To come back to your question: if you want to check the dba actions, yes auditing is a nice thing. But it is just a way to proof later on who did something wrong. It's a finger pointing tool.
I would put more effort in trying to avoid such things from happening - limit the access to the database. Double check changes to the database - via procedures (e.g. no interactive sqlplus access to the productive database) and 4 eyes checks.
Best regards,
Lars -
Hi!
I'm using consume adapter service> sqlbinding > to connect to sql database in order to generate sql schemas.
I'm getting below error:
Connecting to the LOB system has failed.
A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider:
SQL Network Interfaces, error: 26 - Error Locating Server/Instance Specified).
ChristianeHi,
As suggested earlier this seems to be a DTC related issue. It can only occur if the DTC settings are not proper or if firewalls don't allow the default ports to communicate.
Check DTC settings on both SQL and BizTalk Box and also check if MSDTC service is up and running.
Go to Start
à Run
à (type in) Dcomcnfg. You should be inside Component Services MMC.
Expand Component Services
à Computers
à My Computer (right click)
à Properties
à MSDTC tab
à Security Configuration button.
Select the checkboxes as following :
Check the below article from Microsoft Support Team, they have listed all the errors which may come during setting up a new system. They also have your MSDTC error listed.
Resolving the issues you may face during BizTalk Runtime Configuration
Thanks,
Prashant
Please mark this post accordingly if it answers your query or is helpful. -
How to determine the connection string to a SQLite database, in C# code
Hello. I'm trying to figure out how to specify the connection string to a SQLite database, I would like to access using the following code:
string connectionString = null;
SqlConnection connection;
SqlCommand command;
SqlDataAdapter adapter = new SqlDataAdapter();
DataSet ds1 = new DataSet();
string sql = "SELECT DataName, Data, Id, UserId, DateLastUpdated FROM MainTable";
connectionString = "Data Source=C:\\SQLITEDATABASES\\SQLITEDB1.sqlite;Version=3;";
connection = new SqlConnection(connectionString);
try
connection.Open();
command = new SqlCommand(sql, connection);
catch
The value I assigned to the variable connectionString, in the code above, I obtained somewhere from the Internet. It does not work. I'm using Visual Studio 2013, against the file sqlite-netFx451-setup-bundle-x86-2013-1.0.96.0.exe, which
I installed, and got from
here.
My application's App.config file looks as follows:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
</configSections>
<connectionStrings>
<add name="DC_Password_Saver.Properties.Settings.DC_Password_SaverConnectionString" connectionString="data source="C:\Users\patmo_000\Documents\Visual Studio 2013\Projects\DC Password Saver\DC Password Saver\DC Password Saver.db"" providerName="System.Data.SQLite.EF6"/>
</connectionStrings>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.1"/>
</startup>
</configuration>
I tried to use the value assigned to connectionString in the XML settings above, replacing single backslash characters with double backslash characters, because the Visual Studio editor flagged them as unrecognizable, and wound up with the
following.
SqlDataAdapter adapter = new SqlDataAdapter();
DataSet ds1 = new DataSet();
string sql = "SELECT DataName, Data, Id, UserId, DateLastUpdated FROM MainTable";
connectionString = "data source="C:\\Users\\patmo_000\\Documents\\Visual Studio 2013\\Projects\\DC Password Saver\\DC Password Saver\\DC Password Saver.db"";
connection = new SqlConnection(connectionString);
The above code however does not work either. So again, does anyone know how I can specify in C# code, a connection string to access my SQLite database? Thanks in advance for your reply.What does SQLite connection strings has to do with WPF?
You will find some valid connection strings here:
https://www.connectionstrings.com/sqlite/
But you cannot use the SqlConnection class to connect to a SQLite database. You will need to download and add a reference to the System.Data.SQLite library and then use the SQLiteConnection class:
connection = new System.Data.SQLite.SQLiteConnection(connectionString);
try
connection.Open();
command = new System.Data.SQLite.SQLiteCommand(sql, connection);
catch
Please refer to the following article for more information and an example of how to connect and read and write data from an SQLite database using C#:
http://blog.tigrangasparian.com/2012/02/09/getting-started-with-sqlite-in-c-part-one/.
There is contains a link where you can download the required assemblies.
Hope that helps.
Please remember to mark helpful posts as answer to close your threads and then start a new thread in an approproate forum if you have a new question. -
Best practise for creating an application that connects to a SQL Server database
I have created an application that connects to a SQL Server database and views information using a datagrid and performs several updates when a button
is selected.
I have created a SQLcontrol.vb using the following code:
Imports System.Data.Sql
Imports System.Data.SqlClient
Public Class SQlControl
'connection 1
Public SQLCon As New SqlConnection With {.ConnectionString
= "Data Source=;Initial Catalog=;Integrated Security=True"}
'connection 2
Public SQLCon1 As New SqlConnection With {.ConnectionString
= "Data Source;Initial Catalog=;Integrated Security=True"}
Public sqlcmd As SqlCommand
Public sqlda As SqlDataAdapter
Public sqldataset As DataSet
Public Function hasconnection() As Boolean
Try
SQLCon.open()
SQLCon.close()
Return True
Catch ex As Exception
MsgBox(ex.Message)
Return False
End Try
End Function
Public Sub runquery(query As String)
Try
SQLCon.Open()
sqlcmd = New SqlCommand(query,
SQLCon)
'LOAD
SQL RECORDS FOR DATAGROD
sqlda = New SqlDataAdapter(sqlcmd)
sqldataset = New DataSet
sqlda.Fill(sqldataset)
BH READ DIRECTLY FROM THE DATABASE
'Dim
R As SqlDataReader = sqlcmd.ExecuteReader
'While
R.Read
'MsgBox(R.GetName(0)
& ": " & R(0))
'End
While
SQLCon.Close()
Catch ex As Exception
MsgBox(ex.Message)
'will
close connection if still open
If SQLCon.State
= ConnectionState.Open Then
SQLCon.Close()
End If
End Try
End Sub
Public Sub runquery1(query As String)
Try
SQLCon1.Open()
sqlcmd = New SqlCommand(query,
SQLCon1)
'LOAD
SQL RECORDS FOR DATAGROD
sqlda = New SqlDataAdapter(sqlcmd)
sqldataset = New DataSet
sqlda.Fill(sqldataset)
BH READ DIRECTLY FROM THE DATABASE
'Dim
R As SqlDataReader = sqlcmd.ExecuteReader
'While
R.Read
'MsgBox(R.GetName(0)
& ": " & R(0))
'End
While
SQLCon1.Close()
Catch ex As Exception
MsgBox(ex.Message)
'will
close connection if still open
If SQLCon1.State
= ConnectionState.Open Then
SQLCon1.Close()
End If
End Try
End Sub
End Class
A code for one of my button which views displays data grid contains the following code:
Private Sub Button1_Click_1(sender As Object,
e As EventArgs) Handles Button1.Click
If SQL.hasconnection
= True Then
SQL.runquery("select
* from tablea")
If SQL.sqldataset.Tables.Count
> 0 Then
DGVData.DataSource = SQL.sqldataset.Tables(0)
End If
End If
End Sub
I am fairly new to vb.net and have read a few books and followed a few tutorials on youtube, what I would like to know is, are there any disadvantages
to the way I have connected to a SQL database using the SQLControl.vb. A lot of the vb books include data adapter and dataset within the form, I'm not sure if I'm following best practice by have the connection details outside of the form.
My other question is, I have created two connections in the SQLControl and call these connections within the same form using the same data adapter
and dataset. It all works fine but I just wanted to know of any potential issues?
Public SQLCon As New SqlConnection With {.ConnectionString
= "Data Source=;Initial Catalog=;Integrated Security=True"}
'connection 2
Public SQLCon1 As New SqlConnection With {.ConnectionString
= "Data Source;Initial Catalog=;Integrated Security=True"}
ThanksMy other question is, I have created two connections in the SQLControl and call these connections within the same form using the same data adapter and dataset. It all works fine but
I just wanted to know of any potential issues
1) You are not using Sepration of concerns for a solution that is doing data access, like using a DAL.
http://en.wikipedia.org/wiki/Separation_of_concerns
2) You are directly issuing SQL commands at the UI, leading to sql injection attacks.
3) You are not using a UI design pattern, which leads you to tightly couple database activity to the UI.
http://www.codeproject.com/Articles/228214/Understanding-Basics-of-UI-Design-Pattern-MVC-MVP
@System243trd, parameters are important to prevent SQL injection attacks (people will insert SQL commands into the database if you do not perform basic checking of what you are passing to the database). If you write a stored procedure try to make
the variables the correct SQL server data type to avoid problems later of people trying to call it directly. Darnold924 is right, I see no code to prevent against SQL injection attacks. In addition, during development in some instances LocalSQLDB
database system is used and during deployment you usually need to use the production SQL server database. Moreover, Linq-to-SQL is used on Windows Phone 8.1 and it is required for phone development later and so I highly recommend learning
it if you plan on developing windows phone applications.
@System243trd, If you want the code for the windows phone app I think it uses the MVVM model or that might be for universal apps or regular windows phone apps. I have been using the windows phone Silverlight pivot or panorama template (it might
be pieces of both). I've already submitted to the windows phone marketplace and it had to go through certification first. I plan on later making an article on it but I need to first fix one or two simple problems I have with it. Here's a link to
the source code if you later want to look at the source code (in vb.net):
https://jeffsblogcodesamples.codeplex.com/downloads/get/1445836
Once you eliminate the impossible, whatever remains, no matter how improbable, must be the truth. - Sherlock Holmes. speak softly and carry a big stick - theodore roosevelt. Fear leads to anger, anger leads to hate, hate leads to suffering - Yoda. Blog
- http://www.computerprofessions.us -
Problem in OWB: connecting to a non-oracle database
Good day,
i'm working on a windows 32 bit machine,i have Oracle database , OWB 11.2.0.1 installed on it
i'm trying to make OWB connect to a "Sybase" source database on another server , using ODBC
i've tested the connection from SQLPLUS and it's working perfectly
but when i test the connection from OWB locations , it gives me this error:
"ORA-28500: connection from ORACLE to a non-Oracle system returned this message:
[OpenLink][ODBC][SQL Server]Statement(s) could not be prepared (0)
{42000}[OpenLink][ODBC][SQL Server]"DUAL" not found. Specify owner.objectname
or use sp_help to check whether the object exists (sp_help may produce lots of
output).
(208) {42S02,NativeErr = 208}
my questions are :
-why would OWB check for DUAL table on a sybase database? is that a bug in OWB?
-can i bypass this step and just import metadata from the sybase source database? (i tried importing,but OWB performs the same test before importing)Hi Chris,
I haven't tried it, and these are just some of my thoughts, but I
think you would need to load the JDBC driver for the other database
into the Oracle database (using the "loadjava" tool, of-course).
Then your java stored procedure should be able to instantiate the
third party JDBC driver and obtain a connection to the other database.
Hope this helps.
Good Luck,
Avi. -
I just updated my Iphone 4s to the new operating system but lost ALL MY CONTACTS on my phone. The contact list on my phone is completely blank. PLEASE HELP!
Hello 6underwood,
Thanks for using Apple Support Communities.
For more information on this, take a look at:
iOS: Troubleshooting car stereo connections
http://support.apple.com/kb/TS3581
If you are experiencing difficulties with the connection between your stereo and device, disconnect the device, and then power cycle the stereo and your iPhone, iPod touch, or iPad. When the Home screen reappears, reconnect your device. If you cannot power cycle the stereo, turn the car off and then back on to allow the stereo to power off.
Best of luck,
Mario -
Connecting SPSS to my oracle database
Hello I am trying to connect my SPSS to our database.
My system includes:
SPSS 14
Oracle 8.17
Windows XP
and now Oracle 10g
(I am not very computer literate, so if you need more info let me know)
I initially did not have Oracle 10g on my computer, but it was suggested I try it out.
I still get an error, but now its a different error.
Before installing 10g, I was using the SPSS OEM 5.0 Oracle driver to try to connect and was getting the following error:
SQL driverconnect failed: Specified driver could not be loaded due to system error 127. (SPSS OEM 5.0 Oracle)
Now after I installed 10g, I tried both the SPSS OEM 5.0 Oracle driver and the
Oracle in OraClient10g_home1 driver and I get the following error:
TNS:could not resolve the connect identifier specified.
Any help would be greatly appreciated.You have two different tnsnames.ora files.
Which one you use depends on the database you connect to.
The two files are not in sync which is why you are getting this error.
You need to sync them and/or set TNS_ADMIN to the directory of one of those files.
TNS_ADMIN is a string value in the registry in hkey\local_machine\software\oracle
Sybrand Bakker
Senior Oracle DBA
Maybe you are looking for
-
How do i put money on my ipod touch
how do i put money on my ipod touch
-
How to restart OracleXe service in windowsXP?
how to restart OracleXe service in windowsXP? by sample for restart: mysql: service mysql restart OracleXE howto? thanks
-
An unknown error occured (5)
I paid for and downloaded the 2.0 update and when trying to update or restore, it says, "The iPhone 'iPhone' could not be restored. An unknown error occurred (5)" This is an ipod touch and not an iphone. I have tried uninstalling and reinstalling iTu
-
Recent iphoto videos not showing
In iMovie, under the file "iPhoto videos" only videos up to the end of last year are showing, despite there being a lot of video imported after this. I have checked iPhoto and everything is still there but not showing on iMovie, PLEASE HELP
-
Joining Two Tables by Database View
HI There, I'm trying to join two tables BNKA and LFBK to get the Bank details according to the requirement. Now, I wanted to go head and create a Generic datasource and bring the fields from these two tables by Vew. Can someone please explain me step