BizTalk Learning Resources
I somehow missed this the first time around, but came across a link to it today while
doing a Google search. Luke over at BizTalk
Chalk Talk has a great
list of online learning resources for BizTalk Server 2006.
I somehow missed this the first time around, but came across a link to it today while
doing a Google search. Luke over at BizTalk
Chalk Talk has a great
list of online learning resources for BizTalk Server 2006.
Good progress is being made in forming a Dallas
BizTalk User Group! We’ve just launched a website where you can register
to be kept informed as progress continues. You can find it at : http://BizTalkUserGroup.com
Developers, look no further, don’t type in any code any more, simple use google codesearch!
… blood freezing in my veins …
I’ve recently been working on getting Community Server installed for another website
and had the web installer get a Connection Timeout half way through the database creation.
As such, I was looking for a quick way to scrub a database of all tables (dropping
the whole database was not a convenient option). I looked around a bit on the
web and came up with this
handy script:
IF DB_NAME() IN (‘master’, ‘msdb’, ‘model’, ‘distribution’)
BEGIN
RAISERROR(‘Not for use on system databases’, 16, 1)
GOTO Done
END
SET NOCOUNT ON
DECLARE @DropStatement nvarchar(4000)
DECLARE @SequenceNumber int
DECLARE @LastError int
DECLARE @TablesDropped int
DECLARE DropStatements CURSOR LOCAL FAST_FORWARD READ_ONLY FOR
–views
SELECT
1 AS SequenceNumber,
N’DROP VIEW ‘ +
QUOTENAME(TABLE_SCHEMA) +
N’.’ +
QUOTENAME(TABLE_NAME) AS DropStatement
FROM
INFORMATION_SCHEMA.TABLES
WHERE
TABLE_TYPE = N’VIEW’ AND
OBJECTPROPERTY(
OBJECT_ID(QUOTENAME(TABLE_SCHEMA) +
N’.’ +
QUOTENAME(TABLE_NAME)),
‘IsSchemaBound’) = 1 AND
OBJECTPROPERTY(
OBJECT_ID(QUOTENAME(TABLE_SCHEMA) +
N’.’ +
QUOTENAME(TABLE_NAME)),
‘IsMSShipped’) = 0
UNION ALL
–procedures and functions
SELECT
2 AS SequenceNumber,
N’DROP PROCEDURE ‘ +
QUOTENAME(ROUTINE_SCHEMA) +
N’.’ +
QUOTENAME(ROUTINE_NAME) AS DropStatement
FROM
INFORMATION_SCHEMA.ROUTINES
WHERE
ROUTINE_TYPE = N’FUNCTION’ AND
OBJECTPROPERTY(
OBJECT_ID(QUOTENAME(ROUTINE_SCHEMA) +
N’.’ +
QUOTENAME(ROUTINE_NAME)),
‘IsSchemaBound’) = 1 AND
OBJECTPROPERTY(
OBJECT_ID(QUOTENAME(ROUTINE_SCHEMA) +
N’.’ +
QUOTENAME(ROUTINE_NAME)),
‘IsMSShipped’) = 0
UNION ALL
–foreign keys
SELECT
3 AS SequenceNumber,
N’ALTER TABLE ‘ +
QUOTENAME(TABLE_SCHEMA) +
N’.’ +
QUOTENAME(TABLE_NAME) +
N’ DROP CONSTRAINT ‘ +
CONSTRAINT_NAME AS DropStatement
FROM
INFORMATION_SCHEMA.TABLE_CONSTRAINTS
WHERE
CONSTRAINT_TYPE = N’FOREIGN KEY’
UNION ALL
–tables
SELECT
4 AS SequenceNumber,
N’DROP TABLE ‘ +
QUOTENAME(TABLE_SCHEMA) +
N’.’ +
QUOTENAME(TABLE_NAME) AS DropStatement
FROM
INFORMATION_SCHEMA.TABLES
WHERE
TABLE_TYPE = N’BASE TABLE’ AND
OBJECTPROPERTY(
OBJECT_ID(QUOTENAME(TABLE_SCHEMA) +
N’.’ +
QUOTENAME(TABLE_NAME)),
‘IsMSShipped’) = 0
ORDER BY SequenceNumber
OPEN DropStatements
WHILE 1 = 1
BEGIN
FETCH NEXT FROM DropStatements INTO @SequenceNumber, @DropStatement
IF @@FETCH_STATUS = -1 BREAK
BEGIN
RAISERROR(‘%s’, 0, 1, @DropStatement) WITH NOWAIT
–EXECUTE sp_ExecuteSQL @DropStatement
SET @LastError = @@ERROR
IF @LastError > 0
BEGIN
RAISERROR(‘Script terminated due to unexpected error’, 16, 1)
GOTO Done
END
END
END
CLOSE DropStatements
DEALLOCATE DropStatements
Done:
GO
Like many other people I’ve seen – I’ve also disabled this today. Anyone know
how to manage this problem with dasBlog – I can’t find anything out there.
If you were in my talk today – here is the wizard files –
http://www.masteringbiztalk.com/blogs/jon/content/binary/BTPatternsWizard2006.zip
Thanks to all folks who attended to my session yesterday on the BPM&SOA conference. I’ll publish the presentation and some comments about the Architecture principles in the next few days.
One topic that sometimes causes confusion when developing custom pipeline components
in BizTalk Server is how, and where, should their assemblies should be deployed and
how they are loaded by BizTalk. Let’s talk a little bit about it.
In BizTalk Server 2004, there was only one place to deploy your custom pipeline components:
The “Pipeline Components” folder on your BizTalk installation directory. Some conflicts arose
because of this requirement, and made it “uncomfortable” to have components that had
external dependencies on other assemblies.
In BizTalk Server 2006, this restriction was lifter, and now the recommendation is:
Deploy to the Pipeline Components folder on development machines only; deploy to
the GAC. The former is really only necessary so that the design time infrastructure
(i.e. the pipeline designer) works.
But let’s look at what actually happens when you use a custom pipeline component in
a BizTalk pipeline:
In BizTalk Server 2006, the components are loaded internally by the CreateManagedInstance()
method of the internal ComponentLoader class, which does the following steps:
One could think that perhaps a better option for the BizTalk design would’ve been
to make the Pipeline Components folder part of the probing path for BizTalk and simply
let the runtime do its thing. This is not the case, however. In any case, this wouldn’t
have worked because pipelines are not only used inside the BizTalk Application Hosts
(i.e. BTSNTSvc.exe), but also in isolated hosts like IIS where having the Pipeline
Components folder as part of the probing path is not an option.
Try this…
1. Go to http://www.google.com/
2. Type in “search”
3. Click “I’m Feeling Lucky”
🙂
Also If you have .NET 3.0 RC installed take a look at this from Lee Brimelow.
Just got an email from Andrew (great all round good guy) about a cool Adapter example
he came across…..very nice.
Enabling Faxing of messages from BTS using the Win2K3 FaxServices API and the Office2003
Document Imaging Library.
Enough said – BizTalk
Fax Adapter Project
Nice work!
————- snippet from the Project Page ————–
What the BTS Fax Adapter Does
When the FaxMessage Arrives to the Incomming Archive. The Fax
Adapter Copies the Tiff Image (FaxMessage) to the temporary folder and runs OCR on
the Tiff Image and Extracts the Text and submits to BizTalk as a message, or takes
messages from BizTalk Server and Sends to the FaxConsole. It provides code to build
either a dynamic or a static adapter; however, the following procedure only outlines
the static adapter. A static adapter is an adapter with a static set of schemas and
no custom user interface. A dynamic adapter has a custom user interface and potentially
a dynamic set of schemas. Both static and dynamic adapters use the Add Adapter Wizard
to add their schemas to a BizTalk project