Wednesday, September 14, 2011

Biztalk error:Cannot locate document specification because multiple schemas matched the message type

I have two biztalk application querying data from oracle database one of them connecting to testing db and other staging db.both db have the objects with same schema, tables,views,packages,procedures,functions.....

so when i start the orchestartion and test the application i get error

There was a failure executing the response(receive) pipeline: "Microsoft.BizTalk.DefaultPipelines.XMLReceive, Microsoft.BizTalk.DefaultPipelines, Version=3.0.1.0, Culture=neutral, PublicKeyToken=4FbH8369ad789B92" Source: "XML disassembler" Send Port: "SENDPORTNAME" URI: "oracledb://connectionstring/" Reason: Cannot locate document specification because multiple schemas matched the message type "http://Microsoft.LobServices.OracleDB/2007/03/SCHEMA/View/VIEW_NAME#SelectResponse".

i could easily understand the error is due to the same object name in both databases because other application is already using the message type.

what i could do is

go to BizTalk Administration - Applications - Application Name - Send Ports - open SENDPORTNAME - click on Receive Pipeline properties

and set AllowUnrecognisedMessage to True

click ok  and apply . check the orchestration again by dropping a message or calling the webservice . it works !!

IIS 7.0 IP Address Security

i was totally lost with the new approach of security in Windows Server 2008. in older version of OS there used to be ip address restriction if you go to iis website properties, well i couldn't figure it out untill today in windows 2008.

From Server Manager - Roles - Web Server (IIS) - Internet Information Service (IIS) Manager
click on your computer name - sites- Default Website - your site

on the right side you can see under IIS IP Address and Domain Restrictions - double click and open


click on Add Allow Entry and add the ip address to allow and also allow 127.0.0.1 if you are specifying <ipSecurity allowUnlisted="false" /> in applicationHost.config file

allowUnlisted - Specifies whether to allow unlisted IP addresses. Setting the allowUnlisted attribute to true allows an unlisted IP address to access the server. Setting the allowUnlisted attribute to false locks down the server, preventing access to all IP address unless they are listed. If you were to set this attribute to false and do not list the local loopback address (127.0.0.1) as an allowed IP address, you would not be able to access your server by using a browser from a local console.
This attribute can also affect delegation. If you were to set this attribute to false in a parent configuration, you would not be able use the <clear> element to clear this configuration in child configuration files.
The default value is true.


to set <ipSecurity allowUnlisted="false" /> . open notepad, then file open , \\windows\system32\inetsrv\config\applicationhost.config search for ipSecurity andchange the entry. save the file and now test it.

References:

http://www.iis.net/ConfigReference/system.webServer/security/ipSecurity
http://forums.iis.net/t/1041077.aspx

Wednesday, September 7, 2011

peoplepicker property in sharepoint

here i am adding few info about peoplepicker property which is useful to work with users from other domains. i have used it before and it worked successfully. but didn't try to add in blog .
--------------
stsadm -o setproperty -pn peoplepicker-searchadcustomquery
stsadm -o setproperty -pn peoplepicker-searchadcustomquery -pv "(canonicalName=[YOURDOMAIN]*)" -url http://[yoursharepointsitecollection]
e.g stsadm -o setproperty -pn peoplepicker-searchadcustomquery -pv "(canonicalName=DEV*)" -url http://vmsd-sharepoint
If you want to switch this off then run the same command but change the -pv parameter to ""
e.g stsadm -o setproperty -pn peoplepicker-searchadcustomquery -pv "" -url http://vmsd-sharepoint
---------------
Here's a list of the people picker properties that can be set ()
peoplepicker-activedirectorysearchtimeout
peoplepicker-distributionlistsearchdomains
peoplepicker-nowindowsaccountsfornonwindowsauthenticationmode
peoplepicker-onlysearchwithinsitecollection
peoplepicker-searchadcustomquery
peoplepicker-searchadforests
---------
peoplepicker-searchadforests
If it is not a two way trust then you will need to specify an account and password, which are encrypted and stored in the config database.  The "peoplepicker-searchadforests" stsadm property allows you to search multiple values when picking users.  With the command you can add multiple forests, domains, and accounts and even specific property searching.
stsadm.exe -o setproperty -url http://server:port -pn "peoplepicker-searchadforests" -pv "forest:foo.corp.com;domain:bar.foo.corp.com", LoginName, Password
To use peoplepicker-searchadforests with credentials, which you need to specify if you don’t have two-way trusts in place, you must first set an encryption key:
stsadm.exe -o setapppassword -password key
----------
peoplepicker-searchadcustomquery
Allows the administrator to set the custom query that is sent to Active Directory.
For example, we could set it to
stsadm.exe -o setproperty -pn peoplepicker-searchadcustomquery -pv "(physicalDeliveryOfficeName={0})"
------------
peoplepicker-onlysearchwithinsitecollection
This will restrict the picker to only people and groups that are in the site collection.

Exclude list views from search scope in Sharepoint

My search results show list views also while searching for a documents apart from real document name. i didnot want users to see the source of the document or source url.
for eg: it was showing http://sitename/listname/Forms/AllItems.aspx

fix: create new crawl rule from sharepoint search administration SSP not from search administration scope (Shared Services Administration: SharedServices1 > Search Administration > Crawl rules).
1) click on New Crawl Rule > in Path enter *://*allitems.aspx*> make sure exclude is selected> click OK
2) go to content sources in Search adminisration >select the content source > do a full crawl

do a search list view will not show in search results. you can do the same for all list views including custom list views and also i added *://*DispForm.aspx*

Change Service Accounts & Passwords for MOSS2007

For reference article microsoft

http://support.microsoft.com/kb/934838

run commands
stsadm -o updatefarmcredentials -identitytype NetworkService
iisreset

this didn't work for me even i changed the identity from IIS application pool property. no luck

FIX:
  1. Go to Sharepoint Central Administration.
  2. On the top navigation bar, click Operations.
  3. On the Operations page, in the Security Configuration section, click Service accounts.
  4. On the Service Accounts page, in the Credential Management section, under Select the component to update, select Web application pool.
  5. In the Web service list, click a Web service.
  6. In the Application pool list, click the application pool that you want associated with the Web application.
  7. Under Select an account for this component, select one of the following:
  8. Predefined. Select this option to use a predefined account, such as the Network Service account or the Local Service account.
  9. Configurable. Select this option to specify a different account.
  10. Click OK.

other references:
http://geekswithblogs.net/influent1/archive/2009/04/15/131231.aspx
http://ithinksharepoint.blogspot.com/2008/10/renaming-user-accounts-within.html

Monday, September 5, 2011

BizTalk : The published message could not be routed

when working with flat file in recieve port . don't forget to configure the send port filter to BTS.ReceivePortName = <receive port name>
otherwise biztalk will give error message

A message received by adapter "FILE" on receive location "Receive Location1" with URI "\\share\FileReceive\*.xml" is suspended.
 Error details: The published message could not be routed because no subscribers were found. This error occurs if the subscribing orchestration or send port has not been enlisted, or if some of the message properties necessary for subscription evaluation have not been promoted. Please use the Biztalk Administration console to troubleshoot this failure. 
 MessageId:  {xxx...........}
 InstanceID: {xxx...........}


A subscriber is an orchestration or send port with a filter that matches the promoted properties in the message.if it is not configured when using flat file schema you get the above message.

BizTalk - WcfSendPort - BtsActionMapping - is invalid

I have been getting the below error when sending request message to oracle db from biztalk 2009 R2

The adapter failed to transmit message going to send port "WcfSendPort_OracleDBBinding_SCHEMA_View_VIEWNAME_Custom" with URL "oracledb://CONNECTIONSTRING/". It will be retransmitted after the retry interval specified for this Send Port. Details:"Microsoft.ServiceModel.Channels.Common.MetadataException: Argument <BtsActionMapping xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <Operation Name="Select" Action="
http://Microsoft.LobServices.OracleDB/2007/03/SCHEMA/View/VIEWNAME/Select" />
</BtsActionMapping> is invalid.

Server stack trace:
   at System.ServiceModel.AsyncResult.End[TAsyncResult](IAsyncResult result)
   at System.ServiceModel.Channels.ServiceChannel.SendAsyncResult.End(SendAsyncResult result)
   at System.ServiceModel.Channels.ServiceChannel.EndCall(String action, Object[] outs, IAsyncResult result)
   at System.ServiceModel.Channels.ServiceChannel.EndRequest(IAsyncResult result)

Exception rethrown at [0]:
   at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
   at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
   at System.ServiceModel.Channels.IRequestChannel.EndRequest(IAsyncResult result)
   at Microsoft.BizTalk.Adapter.Wcf.Runtime.WcfClient`2.RequestCallback(IAsyncResult result)".


Scenario: i auto generated schema from oracle db view. created orchestration(file receive-db req-db resp - transform(for final resp) - final response). deployed on biztalk 2009 successfully.
created output instance from the adapter generated schema with root reference "Select"

<ns0:Select xmlns:ns0="http://Microsoft.LobServices.OracleDB/2007/03/SCHEMA/View/VIEWNAME">
  <ns0:COLUMN_NAMES>*</ns0:COLUMN_NAMES>
  <ns0:FILTER></ns0:FILTER>
</ns0:Select>

used this xml in file receive location.in db req stage it is stuck . checked the binding, everything is fine since i imported the binding from the project i never suspected the <BtsActionMapping> tag.
changed EnableBizTalkCompatibiltyMode to True & UseAmbientTransaction to False. still no luck.
created a new DB request-response port removed the imported binding port.changed EnableBizTalkCompatibiltyMode to True & UseAmbientTransaction to False.didn't forget to set credentials username in CAPS,in SOAP Action header added only

http://Microsoft.LobServices.OracleDB/2007/03/SCHEMA/View/VIEWNAME/Select
without <BtsActionMapping> tag.

tried again

voila it works!!!

Thursday, August 18, 2011

Oracle BIEE login problem

I got the following message when logging to BI dashboard
Logging in...... Please wait. it just hang there. i had many requests / connection from the main page .
from one of the OTN forums i got the solution as

"
This message will appear if the connection pool limit set in the repository has exceeded its maximum value.

If a particular dashboard has many pages/report requests, than a single run of the request can exhaust all the connections set in the repository connection pool.In such a case, until the dashboard has completed its run other users trying to log into the system simultaneously would be held up with this message.

This can be solved by increasing the maximum connection in the connection pool in the repository.
Also, effort can be put in designing the Dashboard where number of pages can be reduced.
"

Actually i had to restart my server as few other things also hanged in the system.after a restart everything worked fine. i guess the above solution could be a possible answer as i got lot of connections to the database from a single page. i have increased the maximum connections earlier for some other reason i do not remember.

Hope it will be helpful to someone and for me too in future :)


Sunday, August 14, 2011

Steps to install and use BizTalk 2009 with Oracle Adapters

Here i will add the steps involved in installing BizTalk Server 2009 and SQL Server 2008 R2 Ent Edition as Database on Windows Server 2008 R2 Operating System in a standalone server with oracle adapters.
  1. Windows Server 2008 R2
  2. OS Language pack
  3. IIS 7.0
  4. MS Office Excel 2007
  5. UltraISO
  6. Visual Studio Pro 2008
  7. Visual Studio 2008 SP1
    1. VS90sp1-KB945140-ENU
  8. SQL Server 2008 Ent R2
    1. SW_DVD9_SQL_Svr_Enterprise_Edtn_2008_R2_English_MLF_X16-29540
  9. SQL Notification Services
    1. sqlncli_x64
    2. SQLServer2005_XMO_x64
    3. SQLServer2005_NS_x64
  10. BizTalk Server 2009 Ent
    1. SW_DVD5_BizTalk_Server_Ent_2009_English_Core_MLF_X15-46665
  11. Oracle instantclient_11_2
    1. ODBC Instant Client Release 11.2
  12. Configure Environment Variables
    1. ORACLE_HOME
    2. TNS_ADMIN
    3. NLS_LANG
  13. Create ODBC connection & test
  14. ODTwithODAC1110720 (this installation is required for BizTalk, refer my blog for details http://seenstechs.blogspot.com/2011/05/oracle-database-connection-problem.html )
    1. 11.1.0.7.0
  15. WCL LOB Adapter
    1. AdapterFramework64
    2. WCF LOB Adapter SDK SP1 x64
    3. WCF LOB Adapter SDK SP2 x64
  16. BizTalk Adapter Pack 2.0
    1. SW_CD_BizTalk_Adapter_Pack_2.0_English_MLF_X15-49578 ( installed both x86 and x64 softwares . refer my blog http://seenstechs.blogspot.com/2011/05/biztalk-2009-adpter-pack-no-valid.html for details)
  17. Run Visual Studio as Administrator and create a new biztalk project, add generated items you should be able to configure oracle binding and see the schemas.
To create WebService from the orchestration you need to deploy . Run BizTlak WebService Publishing Wizard and create WebService . test it with SoapUI software (i used version soapUI-x32-3_0_1)




Tuesday, August 9, 2011

My experience with the Installation of SQL Server 2005 on Windows Server 2008

As part of the SQL upgrade process i had to create an alternate setup for SQL Server on Windows Server 2008 . I had two choices

option1: install SQL Server 2005 Enterprise on windows Server 2008 R2 Standard

option2: install SQL Server 2008 Enterprise R2 on Windows Server 2008 R2 Standard

i choose option1 as i wanted to test the upgrade process to SQL Server 2008 later

so i started the installation of SQL Server 2005, during system configuration check i got the warning

-----------

IIS Feature Requirement (Warning) :



Microsoft Internet Information Services (IIS) is either not installed or is disabled. IIS is required by some SQL Server features. Without IIS, some SQL Server features will not be available for installation. To install all SQL Server features, install IIS from Add or Remove Programs in Control Panel or enable the IIS service through the Control Panel if it is already installed, and then run SQL Server Setup again. For a list of features that depend on IIS, see Features Supported by Editions of SQL Server in Books Online.



For installation IIS on Windows 2008 follow the article

http://support.microsoft.com/kb/920201/en-us and http://learn.iis.net/page.aspx/29/installing-iis-7-on-windows-server-2008-or-windows-server-2008-r2/

another reference http://blogs.technet.com/b/seanearp/archive/2008/07/01/installing-sql-server-2005-on-windows-server-2008.aspx

--------------

you can ignore the warning as IIS is required only for reporting services.the reason is because Windows Server 2008 have just been released and the operating system information on the page is not fully up to date .



According to Microsoft, SQL Server 2005 requires Microsoft SQL Server 2005 Service Pack 2 (SP2) to run on Windows Server 2008 and Windows Vista SP1. And the full release version of SQL Server 2005 has to be first installed before the SP2 can be applied.



After the successfull installation of SQL Server 2005 , i was able to install SP1 got a warning for analysis services to install hotfix 2047. i didnot do that as i am on the way to install SP2, hoping it will remove the warning. as expected the installation was successfull without any warning. did the SQL provisioning and restarted the server.so far good. tried to open database with SQL Server management studio, there comes the error. No instance, No database is shown. checked with ODBC data source database and instance exist.



followed the article http://decoding.wordpress.com/2008/04/18/how-to-install-sql-server-2005-on-windows-server-2008/

downloaded the hotfix from http://support.microsoft.com/kb/950636

no luck.got the message the update is not applicable to your computer .

installed the backup feature still the same error.

now the next option for me is to do an upgrade to sql server 2008 r2. the upgrade advisor tells me no reporting services is installed. ofcourse its not. will do it later.now continuing with upgrade.upgrade was successfull. but the sql server management studio cannot find the instances.



Now i did not want to spent more time on this process . so removed all installation of SQL 2005 and SQl 2008 and went for the option2. to those who don't have option2 can check the below reference as well



List of known issues when you install SQL Server 2005 on Windows Server 2008 :

http://support.microsoft.com/kb/936302















Wednesday, July 27, 2011

Open Task Manager on Remote Desktop

recently i was stuck with a problem on remote desktop that the programs are hanged and i cannot click on anything, task manager is not accessible to end the processes. now how to open task manager in a remote desktop. if you can't do it then you haveto login to the remote machine locally or restart the machine manually. this is not a good option

so here is a command to open the task manager on remote desktop

CTRL+SHIFT+ESC - work same as right click taskbar and open task manager
CTRL+ALT+END - work same as CTRL+ALT+DEL

guess this post was useful!!

Wednesday, July 6, 2011

Login problem with MSDE

recently i came across a problem with MSDE (Microsft SQL Server Desktop engine) which gets installed mostly with third party software which do not require Standard SQL Server.

MSDE does not have its own user interface as it is primarily designed to run in the background.Users interact with MSDE through the program in which it is embedded. The only tool that is provided with MSDE is the osql utility. The executable file, osql.exe, for me is located in the C:\Program Files\Microsoft SQL Server\80\Tools\Binn\osql.exe

more information about osql.exe utility is available at
http://support.microsoft.com/kb/325003
http://support.microsoft.com/kb/325022
now the problem where i have to dig in is when my program which i downloaded was asking for a database username/password which i never entered during installation. i am able to see MSDE is started from the icon on the right hand side of the windows taskbar.but what is the username and password to connect to MSDE and how to connect to. once the program prompted for username as 'sa' .

to reset the password for user 'sa' since you have no idea about password, there is a way with osql utility.
go to start-run and type osql -U sa (here you are trying to connect to MSDE with username sa) and press enter. the command prompt for password .
do not type anything -----press enter (you came to know password is null for sa at this point)
to reset password type sp_password null 'yournewpassword','sa' ----press enter
type go -----press enter.you get a message Password chnaged
now you can use the sa/yournewpassword to connect from your application or from osql.exe

SQL Server Alias to connect to database

I have got a very good article which explains how to create SQL Server Alias to connect from client to server for named instance of SQL database

http://decipherinfosys.wordpress.com/2007/11/26/using-a-server-alias-to-connect-to-sql-server-instances/
-----------------------------------------------------------------------------
When connecting to SQL Server from your PC or from your application/web servers, you can choose to create aliases for connectivity. Before we start getting into the nitty-gritty details of aliases, let us see how you can set one up. You can use SQL Server Connection Manager in SQL Server 2005 to set it up and in case the tools are not installed, then you can also use cliconfg.exe (note – there is no i in confg) which is located under C:\Windows\System32 folder. If you use the connection manager, you will get a screen like this one:

You can then create a new alias as shown in the next image:

If you are using cliconfg.exe (the same is called in SQL Server 2000 when you use the SQL Server Client Network Utility), you will get a dialog box like the one shown below (showing the alias tab):

As you can see from above, the same alias that we had created using the SQL Server Connection Manager is automatically visible using the cliconfg.exe as well – that is because both of them read this entry from the registry. The place where these connection aliases can be found in the registry is:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Client\ConnectTo

So, now that we have seen how to go about creating an alias and where it is stored, what exactly is the use of this feature? There are a couple of benefits of using aliases:

1) An alias can be used to define a user-defined name for connecting to a server -even if the IP address changes later on, there are no changes to the connection string – you just need to update the alias and the application will keep on working as before. You will not need to specify any instance name in the application connection string(s). And using an IP address directly in the alias definition can also save you some time in doing the DNS look-up.

2) You can make connection to SQL Server using different protocols: TCP/IP, Named Pipes etc. and specify specific parameters like the TCP port or the pipe name etc.

3) Aliases are also good for performance reasons. Since an alias has a pre-defined protocol, it can help you speed up the connection. Think about what happens when a connection is made to SQL Server from a client application. It has to try various protocols in the order that they are defined in your SQL Server Connection Manager (SQL 2005) or the SQL Server Client Network Utility (SQL 2000). If you already know which protocol and port your server is listening on, by configuring an alias you can by-pass the discovery phase that SQL Browser service goes through. In addition, if you know and have benchmarked your application using a specific protocol, you can standardize the alias technique across the board.

many thanks to decipherinfosys
---------------------------------------------------------------------------
After doing the above

From SQL Server Configuration Manager - SQL Native Client Configuration - Aliases , i can see my alias. when connecting using alias from SQL Server Management Studio didn't work . in my Configuration Manager there is another SQL Native Client Configuration (32bit). i had to create alias there in order for my client to connect.

Other references:-

http://blogs.msdn.com/b/sql_protocols/archive/2007/01/07/connection-alias.aspx
http://support.microsoft.com/kb/265808

Sunday, May 8, 2011

File Receive Location is disabled in BizTalk

File receive location is disabled in BizTalk 2009 even if you have configured file receive adapter and receive location in BizTalk Administration.

You receive a "The receive location '[drive:]\[path]\*.xml' is shutting down" error message

share the directory and use unc path for receive location \\servername\sharename

http://support.microsoft.com/kb/839453

give permission only to biztalk host instance users on the share

Access Denied-Deploy BizTalk project

You get access denied message when deploying BizTalk 2009 project from Visual Studio 2008 on MS Windows 2008 R2 OS.

run Visual Studio 2008 as Administrator when deploying

Oracle Database connection problem after configuring client

Connecting to the LOB system has failed.
Could not load file or assembly 'Oracle.DataAccess, Version=2.111.7.0, Culture=neutral,
PublicKeyToken=89b483f429c47342' or one of its dependencies. The system cannot find the file
specified..

i was getting this error when using Consume Adapter Service from Visual Studio 2008 to connect to oracle database using OracleDBBinding configuration.

i could not see Oracle.DataAccess in the c:\windows\assembly folder. i was using instantclient to connect to oracle server

downloaded Oracle 11g ODAC 11.1.0.7.20 with Oracle Developer Tools for Visual Studio OTN website

http://www.oracle.com/technetwork/developer-tools/visual-studio/downloads/index.html (ODAC 11.1.0.7.20 with Oracle Developer Tools for Visual Studio). install it clicking on setup.exe

now add generated items from visual studio project .select consumer adapter service.
click on Add . Select a binding --> OracleDBBinding
configure a URI --> oracledb://yourdbalias

click on configure in URI properties tab make sure data source name is correct.

in Binding properties tab changed EnableBizTalkCompatibilityMode --> true
and UseAmbientTransaction --> false

in security tab select Client Credential type to username. give the username and password
otherwise it gives username and password error.
click ok and connect you get error .

Connecting to the LOB system has failed.
ORA-1017: invalid username/password; logon denied.

enter username in CAPITAL letters.

it works

BizTalk 2009 Adpter Pack - No valid Apapters error

After creating a new BizTalk project . right click on the newly created project Add generated items.in generate schema files --> Consume Adpater Service . to connect to the oracle database and retrieve packages or tables whatever you want to use in biztalk for schema files.

it gives me error

"No valid adapters are installed on this machine"

but adapter pack 2.0 is installed and i rechecked ,repaired etc . no luck

solution:

install both 32 bit and 64 bit biztalk adapter pack on 64 bit servers . it will work as some of the 32bit dlls are required for Visual studio . my visual studio was 32 bit :)

Cannot Create BizTalk Project from VS 2008

After a new installation of BizTalk 2009 with all the prerequisites steps from microsoft i was not able to create a new biztalk project from Visual studio 2008.When you try to create a new Biztalk project using

File -> New Project -> Any BizTalk Project Type

You get the error message: Creating project ‘project name’… project creation failed.

most of the users tells me reinstallation of BizTalk that was not a good solution for me as i have been fixing many errors during the BizTalk installation and i don't want to go through the same process again and i need to finish with this implementation as it is dependent on few other projects. oh i am stuck again.

again the registry change . though it is not preferred always if you know what you are doing it then go for it. it could come handy.here is what i did. search for {FAE04EC0-301F-11d3-BF4B-00C04F79EFBC} under projects

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\9.0\Projects\{FAE04EC0-301F-11d3-BF4B-00C04F79EFBC}]

the value for "PossibleProjectExtensions"="csproj" change it to "csproj;btproj" remove the "

for 64 bit versions of Visual Studio the path is

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\9.0\Projects\{FAE04EC0-301F-11d3-BF4B-00C04F79EFBC}

now restart the Visual Studio it works. what i came to know is Biztalk installation modifies the reg value to register its project extension with the C# project factory.thanks to the blogger.

MSDTC logon changed

i have no idea why did i changed the MSDTC logon user . it is so stupid to change it . don't ever try that u will be lost.

its from my event viewer messages that i did that because it gave me error network service does not have permission to access. i don't remember exactly what was the problem. i was doing the configuration for BizTalk 2009 it don't connect to the SQL Server on remote location.

what i did was is from run command open Component Services using command "dcomcnfg". right click My Computer in component services and go to properties --> click on MSDTC tab --> then Security Configuration--> changed the username from network service to my domain user for BizTalk and restarted the server as i thought it will solve the problem. but it did not. not only that i couldn't revert it back. the MSDTC tab is completely gone from properties of My Computer.

now the next option is change in registry for this server. i need to it as my server is in production cluster and a reinstallation of MSDTC is not an option for me as it could affect other production servers on cluster.

from registry --> HKLM --> System --> Current Control Set --> Services --> MSDTC --> Object Name changed to NT Authority\Network Service.

restarted the server. i got the MSDTC tab back but security configuration is disabled. click on Stop --> click on take ownership --> now click on Start . there you get it. change it from here. if you haven't changed it before from registry u should try this step first . few times it gave me message cannot start msdtc service but it is started from some reason.

Thursday, May 5, 2011

BizTalk Server 2009 Group Configuration Error

During the group configuration i got the message

AdminLib GetBTSMessage: hrErr=c0c024bf; Msg=The server has not been configured.

Solution: set up DTC on both biztalk and sql servers .

Goto Component Services / My Computer / Properties / MSDTC Tab / Security
Configuration and Enable Network DTC Access

  • Enable Network DTC Access
  • Allow Remote Clients

  • Allow Inbound

  • Allow Outbound

  • No Authentication Required

  • Enable Transaction Internet Protocol (TIP) Transactions
Restart the servers . Enterprise Single Sign on was not started after restart so started that as well .




Tuesday, May 3, 2011

The SSO service failed to start

During BizTalk 2009 configuration SSO service failed to start.

following is done after a google search

  1. Open a command window
  2. Go to C:\Windows\Microsoft.NET\Framework64\v2.0.50727
  3. regasm "C:\Program Files\Common Files\Enterprise Single Sign-On\win32\ssosql.dll"
  4. regasm "C:\Program Files\Common Files\Enterprise Single Sign-On\ssosql.dll"
Note: On a 64-bit server, regasm will need to be run for both the 32-bit and 64-bit versions of ssosql.dll.

problem solved

Failed to connect to the SQL database SSODB

BizTalk 2009 configuration step of SSODB cannot connect to the SSODB database on SQL Server in cluster . it is supposed to create a new database SSODB instead of connecting to it. anyway the error gives failed to connect.

solution:

the sso user (not the group, the group is already there automatically), that is created in active directory before biztalk installation was given permission on the database

with dbcreator -- as SSODB needs to be created
and securityadmin server roles

now try to configure BizTalk SSODB again

Sunday, April 24, 2011

WMI Class for Windows Operating Systems

in a command window (cmd) type wmic OS get OperatingSystemSKU --- to check operating system version

Note: Windows Server 2003 and lesser version - this property is not available.

The number that is returned corresponds with Microsoft's list of SKU numbers for Windows Server:
  • 0- Undefined
  • 1- Ultimate Edition
  • 2 -Home Basic Edition
  • 3- Home Premium Edition
  • 4- Enterprise Edition
  • 5 -Home Basic N Edition
  • 6- Business Edition
  • 7 -Standard Server Edition
  • 8- Datacenter Server Edition
  • 9- Small Business Server Edition
  • 10 -Enterprise Server Edition
  • 11- Starter Edition
  • 12- Datacenter Server Core Edition
  • 13- Standard Server Core Edition
  • 14 -Enterprise Server Core Edition
  • 15- Enterprise Server Edition for Itanium-Based Systems
  • 16- Business N Edition
  • 17- Web Server Edition
  • 18 -Cluster Server Edition
  • 19- Home Server Edition
  • 20- Storage Express Server Edition
  • 21- Storage Standard Server Edition
  • 22 -Storage Workgroup Server Edition
  • 23- Storage Enterprise Server Edition
  • 24- Server For Small Business Edition
  • 25- Small Business Server Premium Edition
wmic OS get OSArchitecture ---- to check operating system architecture
wmic os get Name ---Operating System Name
wmic os get BootDevice, BuildNumber, BuildType, Version
wmic os get ServicePackMajorVersion, ServicePackMinorVersion

Other useful properties are below which you can use with wmic OS get property-name
  1. CurrentTimeZone
  2. FreePhysicalMemory
  3. FreeSpaceInPagingFiles
  4. FreeVirtualMemory
  5. InstallDate
  6. LastBootUpTime
  7. LocalDateTime
  8. Locale
  9. Manufacturer
  10. MaxNumberOfProcesses
  11. MaxProcessMemorySize
  12. NumberOfLicensedUsers
  13. NumberOfProcesses
  14. NumberOfUsers
  15. OSLanguage
  16. OSProductSuite
  17. OSType
  18. OtherTypeDescription
  19. ProductType
  20. RegisteredUser
  21. SerialNumber
  22. ServicePackMajorVersion
  23. ServicePackMinorVersion
  24. SizeStoredInPagingFiles
  25. Status
  26. SystemDevice
  27. SystemDirectory
  28. SystemDrive
  29. TotalSwapSpaceSize
  30. TotalVirtualMemorySize
  31. TotalVisibleMemorySize
  32. WindowsDirectory

FRM-40735:ON-ERROR trigger raised unhandled exception ORA-06508

after converting older version of Oracle forms to forms 10g using Forms Migration Assistant, you are not able to open the application or login to the application via web. when accessed from developer suite 10g it will run without any problems. one of the problem could be the path of the PL/SQL library attached to it.

in older version of forms the library path is mapped to the client pc and the forms application refer to the mapped drive letter for eg: z:\plls

in web there is no absolute path. it is relative that means there is no need to specify the path. it will automatically refer the path.

now for your converted/migrated forms to work, open the form in forms developer 10g, you might get a message that cannot attach PL/SQL library and when the form is open you lose the library attachment.sometimes you won't get the message but still you won't be able to access the application/module from web.

remember the library name that is attached with form module.now click on Attached Libraries and in the plus sign, locate the pll and add if prompted to remove the path, click on yes. now if you got the property pallette of attached library you can see that path is removed. save the form, compile and access from web . there you are !

you need to repeat this for each form.

Load balance web application without an hardware load balancer

Here is a vb script to access web application load balancing the user requests . you don't need a hardware load balancer but the users will be accessing different servers depending on the number of processes for the application on each server.

On Error Resume Next
Set objLocator = CreateObject("WbemScripting.SWbemLocator")
strComputer1 = "x.x.x.x"
strComputer2 = "y.y.y.y"
strx = "domain-user"
stry = "password"
strDomain = "domain-name"
dim objShell
set objShell = CreateObject("Shell.Application")
str1 = "applicationlink1"
str2 = "applicationlink2"
str3 = "http://www.google.com"
str4 = "applicationlink3"

//Locate the computers

Set objWMIService1 = objLocator.ConnectServer(strComputer1, "root\cimv2",strx,stry,"MS_409","ntlmdomain:" + strDomain)
Set objWMIService2 = objLocator.ConnectServer(strComputer2, "root\cimv2",strx,stry,"MS_409","ntlmdomain:" + strDomain)

//Ping the computers

Set colPingedComputers1 = objWMIService1.ExecQuery ("Select * from Win32_PingStatus Where Address = 'x.x.x.x'")
Set colPingedComputers2 = objWMIService2.ExecQuery ("Select * from Win32_PingStatus Where Address = 'y.y.y.y'")

//check if both servers are offline open http://www.google.com

For each objComputer1 in colPingedComputers1
If objComputer1.StatusCode <> 0 Then
For each objComputer2 in colPingedComputers2
If objComputer2.StatusCode <> 0 Then
strMessage = "No Servers are Online"
MsgBox strMessage
objShell.ShellExecute str3, "", "", "open", 3
set objShell = nothing
set objComputer2 = nothing
End If
Next
set objComputer1 = nothing
End If
Next

//if server2 is online and server1 is offline execute application link2

For each objComputer1 in colPingedComputers1
If objComputer1.StatusCode <> 0 Then
For each objComputer2 in colPingedComputers2
If objComputer2.StatusCode = 0 Then
objShell.ShellExecute str2, "", "", "open", 3
set objShell = nothing
set objComputer2 = nothing
End If
Next
set objComputer1 = nothing
End If
Next

//if server1 is online and server2 is offline execute application link1

For each objComputer2 in colPingedComputers2
If objComputer2.StatusCode <> 0 Then
For each objComputer1 in colPingedComputers1
If objComputer1.StatusCode = 0 Then
objShell.ShellExecute str1, "", "", "open", 3
set objShell = nothing
set objComputer1 = nothing
End If
Next
set objComputer2 = nothing
End If
Next

//if server1 and server2 are online execute link checking for the number of processes on each computer and also specify a maximum limit.

For each objComputer1 in colPingedComputers1
If objComputer1.StatusCode = 0 Then
Set colProcessList1 = objWMIService1.ExecQuery ("Select * from Win32_Process Where Name = 'application-name.exe'")
For each objComputer2 in colPingedComputers2
If objComputer2.StatusCode = 0 Then
Set colProcessList2 = objWMIService2.ExecQuery ("Select * from Win32_Process Where Name = 'application-name.exe'")
End If
set objComputer2 = nothing
Next
If colProcessList1.Count > 100 And colProcessList2.Count > 100 Then
objShell.ShellExecute str4, "", "", "open", 3
set objShell = nothing
Else If colProcessList1.Count < colProcessList2.Count Then
objShell.ShellExecute str1, "", "", "open", 3
set objShell = nothing
Else if colProcessList2.Count < colProcessList1.Count Then
objShell.ShellExecute str2, "", "", "open", 3
set objShell = nothing
Else
objShell.ShellExecute str1, "", "", "open", 3
set objShell = nothing
End If
End If
End If
set objComputer1 = nothing
End If
Next

BizTalk Server 2009 pre-requisites

Preparing your computer for installation

1. Install any critical updates for Windows®

2. Enable Internet Information Services (IIS) 6.0 or 7.0

3. Install Microsoft Office Excel® 2007

4. Install Visual Studio® 2008 with Service Pack 1 (SP1)

5. Install SQL Server® 2008 or SQL Server 2005 with Service Pack 2 (SP2 )

6. Install SQL Notification Services (required only for BAM Alerts)

7. Install Microsoft Management Console 3.0 (required only for Windows Server 2003 and Windows XP)

8. Install prerequisites for MQSeries Agent

9. Configure ASP.NET 2.0 for 64-bit Mode*

10. Install Windows SharePoint Services 3.0 with Service Pack 1 (SP1)*

11. Configure ASP.NET 2.0 for 32-bit mode*

12. Configure Default Web Site for ASP.NET 2.0*

13. Configure Windows SharePoint® Services*

14. Extend the Default Web Site as a Virtual server*

15. Disable shared Memory Protocol

16. Join the local Administrators group

17. Configure the Application Event Log

18. Enable TCP/IP and named pipes in the SQL Server Configuration Manager

19. Enable Microsoft Distributed Transaction Coordinator (MS DTC) on the Local Host Server (LHS)

20. Before installing and configuring BizTalk Server 2009 in a multicomputer environment, you must enable network DTC access and network COM+ access on all computers running Windows Server 2003 SP1 or later where you will install BizTalk Server.

21. SQL Server Client Tools must be installed on the local computer when SQL Server is remote. The version of the SQL Server Client tools on the local computer must be the same version that is installed on SQL Server.

22. SQL Server OLAP client must be installed on the local computer if you plan to use Analysis Services remotely.

23. The remote SQL Server must be running during BizTalk Server configuration

24. The TCP and UDP ports you specified during the SQL Server setup process must be open during BizTalk Server configuration.

25. Named instances of SQL Server 2005 Analysis Services are not supported.

*Only necessary if you are using the Windows SharePoint Services Adapter Web Service.

Logon Types in MS Windows

It is time to understand all the logon type so here I am adding them for my future reference.

the logon/logoff category of the Windows security log gives you the ability to monitor all attempts to access the local computer. Logon Types are logged in the Logon Type field of logon events (event IDs 528 and 540 for successful logons, and 529-537 and 539 for failed logons).

Type

Logon

Description

0

System Only

-

1

Unknown

-

2

Interactive

this is logged when you attempt to log on at a Windows computer’s local keyboard and screen

3

Network

This logon occurs when you access remote file shares or printers. Also, most logons to Internet Information Services (IIS) are classified as network logons, other than IIS logons that use the basic authentication protocol (those are logged as logon type 8).

4

Batch

This is used for scheduled tasks. When the Windows Scheduler service starts a scheduled task, it first creates a new logon session for the task, so that it can run in the security context of the account that was specified when the task was created.

5

Service

This is used for services and service accounts that log on to start a service. When a service starts, Windows first creates a logon session for the user account that is specified in the service configuration.

6

Proxy

-

7

Unlock Workstation

This is used whenever you unlock your Windows machine.

8

Network Clear Text

This is used when you log on over a network and the password is sent in clear text. This happens, for example, when you use basic authentication to authenticate to an IIS server.

9

New Credentials

This is used when you run an application using the RunAs command and specify the /netonly switch. When you start a program with RunAs using /netonly, the program starts in a new logon session that has the same local identity (this is the identity of the user you are currently logged on with), but uses different credentials (the ones specified in the runas command) for other network connections. Without /netonly, Windows runs the program on the local computer and on the network as the user specified in the runas command, and logs the logon event with type 2.

10

Remote Interactive

This is used for RDP-based applications like Terminal Services, Remote Desktop or Remote Assistance.

11

Cached Interactive

This is logged when users log on using cached credentials, which basically means that in the absence of a domain controller, you can still log on to your local machine using your domain credentials. Windows supports logon using cached credentials to ease the life of mobile users and users who are often disconnected.

Event ID 528 - Logon Process Advapi & Type 4

my event viewer shows a suspicious logon process Advapi with logon type 4 and event id 528 . searching in the computer I couldnot find advapi.exe file which is supposed to be a security risk virus. well I am little bit relaxed now, there is no virus in the system. later I found out there is advapi32.dll ,a google search told me that advapi32.dll is a part of an advanced API services library supporting numerous APIs including many security and registry calls.It is a non essential process however it should not be removed if not causing any problems. It is just a runtime library, The service logon calls are in Advapi.

now my turn is to check the logon type 4 which in turn is a batch process that doesn’t sound good .another search in the www gave me scheduled tasks uses this type. Here I got my answer I have a scheduled task running everyday at 6:00 AM. When checked for the event-id it is logged at the same time !.