Showing posts with label schema. Show all posts
Showing posts with label schema. Show all posts

Monday, March 19, 2012

does not have a corresponding mapping in the schema

I am trying to update several tables using an Updategram. I get the followin
g
error:
HRESULT="0x80004005" Description="Specified attribute or element ('USR')
does not have a corresponding mapping in the schema, and no overflow field
defined"
The Schema is:
<?xml version="1.0" encoding="utf-8" ?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:sql="urn:schemas-microsoft-com:mapping-schema">
<xsd:annotation>
<xsd:appinfo>
<sql:relationship name="USRMerge" parent="USR" parent-key="USRID"
child="MergeHdr" child-key="USRID" />
<sql:relationship name="MergeMergeList" parent="MergeHdr"
parent-key="MergeID" child="MergeList" child-key="MergeID" />
</xsd:appinfo>
</xsd:annotation>
<xsd:element name="USR" sql:relation="USR" sql:key-field="USRID">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="USRID" type="xsd:integer" nillable="true"
sql:identity="ignore" />
<xsd:element name="USRTitle" type="xsd:string" minOccurs="1" />
<xsd:element name="USRStatusID" type="xsd:integer" sql:datatype="int"
nillable="true" />
<xsd:element name="CSRID" type="xsd:integer" sql:datatype="int"
nillable="true" />
<xsd:element name="CustomerID" type="xsd:integer" sql:datatype="int"
nillable="true" />
<xsd:element name="CustUSRRef" type="xsd:string" nillable="true" />
<xsd:element name="CustContact" type="xsd:string" nillable="true" />
<xsd:element name="ProjectID" type="xsd:integer" sql:datatype="int"
nillable="true" />
<xsd:element name="ReleaseID" type="xsd:integer" sql:datatype="int"
nillable="true" />
<xsd:element name="ModuleID" type="xsd:integer" sql:datatype="int"
nillable="true" />
<xsd:element name="KeyWords" type="xsd:string" nillable="true"
sql:use-cdata="1" />
<xsd:element name="Expected" type="xsd:string" nillable="true"
sql:use-cdata="1" />
<xsd:element name="Observed" type="xsd:string" nillable="true"
sql:use-cdata="1" />
<xsd:element name="Steps" type="xsd:string" nillable="true" />
<xsd:element name="Billable" type="xsd:boolean" nillable="true"
default="false" />
<xsd:element name="IsFree" type="xsd:boolean" default="1" />
<xsd:element name="UserID" type="xsd:integer" sql:datatype="int"
minOccurs="1" />
<xsd:element name="VersionRef" type="xsd:string" nillable="true" />
<xsd:element name="ProductID" type="xsd:integer" nillable="true" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="MergeHdr" sql:relation="MergeHdr" sql:key-field="MergeID"
>
<xsd:complexType>
<xsd:sequence>
<xsd:element name="MergeID" type="xsd:integer" nillable="true"
sql:identity="ignore" />
<xsd:element name="USRID" type="xsd:integer" nillable="true"
sql:datatype="int" />
<xsd:element name="ScreenChange" type="xsd:boolean" nillable="true"
default="false" />
<xsd:element name="Translation" type="xsd:boolean" nillable="true"
default="false" />
<xsd:element name="MenuChange" type="xsd:boolean" nillable="true"
default="false" />
<xsd:element name="SecurityChange" type="xsd:boolean" nillable="true"
default="false" />
<xsd:element name="JobSetupChange" type="xsd:boolean" nillable="true"
default="false" />
<xsd:element name="MessageFileChange" type="xsd:boolean" nillable="true"
default="false" />
<xsd:element name="ManualCodeTableChange" type="xsd:boolean"
nillable="true" default="false" />
<xsd:element name="DatabaseChange" type="xsd:boolean" nillable="true"
default="false" />
<xsd:element name="DictionaryChange" type="xsd:boolean" nillable="true"
default="false" />
<xsd:element name="DataBomb" type="xsd:boolean" nillable="true"
default="false" />
<xsd:element name="CoreReports" type="xsd:boolean" nillable="true"
default="false" />
<xsd:element name="PlanetPressJetForm" type="xsd:boolean"
nillable="true" default="false" />
<xsd:element name="ConfigurationFile" type="xsd:boolean" nillable="true"
default="false" />
<xsd:element name="XSLTFile" type="xsd:boolean" nillable="true"
default="false" />
<xsd:element name="SQLFile" type="xsd:boolean" nillable="true"
default="false" />
<xsd:element name="ExtractFile" type="xsd:boolean" nillable="true"
default="false" />
<xsd:element name="DevCompleteDate" type="xsd:dateTime" nillable="true"
sql:datatype="dateTime" />
<xsd:element name="TestCompleteDate" type="xsd:dateTime" nillable="true"
sql:datatype="dateTime" />
<xsd:element name="Notes" type="xsd:string" nillable="true"
sql:use-cdata="1" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="MergeList" sql:relation="MergeHdr"
sql:key-field="MergeListID">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="MergeListID" type="xsd:string" nillable="true"
sql:identity="ignore" />
<xsd:element name="MergeID" type="xsd:integer" nillable="true" />
<xsd:element name="Environment" type="xsd:string" nillable="true" />
<xsd:element name="CodeReviewUserID" type="xsd:integer" nillable="true" />
<xsd:element name="Patch" type="xsd:string" nillable="true" />
<xsd:element name="WhoMergedUserID" type="xsd:integer" nillable="true" />
<xsd:element name="DateMerged" type="xsd:dateTime"
sql:datatype="dateTime" nillable="true" />
<xsd:element name="TestImperialUserID" type="xsd:integer"
nillable="true" />
<xsd:element name="TestMetericUserID" type="xsd:integer" nillable="true"
/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
The Update Gram is:
<root xmlns:updg="urn:schemas-microsoft-com:xml-updategram">
<sync mapping-schema="..\templates\USRMapSchema.xml"
xmlns="urn:schemas-microsoft-com:xml-updategram">
<updg:before>
<USR updg:id="USR1">
<USRID>1</USRID>
<USRTitle>New USR</USRTitle>
<Billable>false</Billable>
<IsFree>true</IsFree>
<UserID>1</UserID>
</USR>
</updg:before>
<updg:after>
<USR updg:id="USR1">
<USRID>1</USRID>
<USRTitle>updated title usr 1</USRTitle>
<Billable>false</Billable>
<IsFree>true</IsFree>
<UserID>1</UserID>
</USR>
</updg:after>
<updg:before>
<MergeHdr updg:id="MergeHdr1">
<MergeID>1</MergeID>
<USRID>1</USRID>
<ScreenChange>false</ScreenChange>
<Translation>false</Translation>
<MenuChange>false</MenuChange>
<SecurityChange>false</SecurityChange>
<JobSetupChange>false</JobSetupChange>
<MessageFileChange>false</MessageFileChange>
<ManualCodeTableChange>false</ManualCodeTableChange>
<DatabaseChange>false</DatabaseChange>
<DictionaryChange>false</DictionaryChange>
<DataBomb>false</DataBomb>
<CoreReports>false</CoreReports>
<PlanetPressJetForm>false</PlanetPressJetForm>
<ConfigurationFile>false</ConfigurationFile>
<XSLTFile>false</XSLTFile>
<SQLFile>false</SQLFile>
<ExtractFile>false</ExtractFile>
</MergeHdr>
</updg:before>
<updg:after>
<MergeHdr updg:id="MergeHdr1">
<MergeID>1</MergeID>
<USRID>1</USRID>
<ScreenChange>true</ScreenChange>
<Translation>true</Translation>
<MenuChange>true</MenuChange>
<SecurityChange>false</SecurityChange>
<JobSetupChange>false</JobSetupChange>
<MessageFileChange>false</MessageFileChange>
<ManualCodeTableChange>false</ManualCodeTableChange>
<DatabaseChange>false</DatabaseChange>
<DictionaryChange>false</DictionaryChange>
<DataBomb>false</DataBomb>
<CoreReports>false</CoreReports>
<PlanetPressJetForm>false</PlanetPressJetForm>
<ConfigurationFile>false</ConfigurationFile>
<XSLTFile>false</XSLTFile>
<SQLFile>false</SQLFile>
<ExtractFile>false</ExtractFile>
</MergeHdr>
</updg:after>
<updg:before>
<MergeList updg:id="MergeList1">
<MergeListID>1</MergeListID>
<MergeID>1</MergeID>
<DateMerged>2005-01-17T17:27:36.4470000-08:00</DateMerged>
</MergeList>
</updg:before>
<updg:after>
<MergeList updg:id="MergeList1">
<MergeListID>1</MergeListID>
<MergeID>1</MergeID>
<Environment>new item usr 1</Environment>
</MergeList>
</updg:after>
</sync>
</root>
Thanks in advance!In your updategram, you define a default namespase:

> xmlns="urn:schemas-microsoft-com:xml-updategram">
That will put all the elments to this namespace which is different than
declared in schema.
Bertan ARI
This posting is provided "AS IS" with no warranties, and confers no rights.
"Squiggs" <Squiggs@.discussions.microsoft.com> wrote in message
news:5B75E7C4-CB9A-4707-82FF-C42034ED9D89@.microsoft.com...
> I am trying to update several tables using an Updategram. I get the
following
> error:
> HRESULT="0x80004005" Description="Specified attribute or element ('USR')
> does not have a corresponding mapping in the schema, and no overflow field
> defined"
> The Schema is:
> <?xml version="1.0" encoding="utf-8" ?>
> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
> xmlns:sql="urn:schemas-microsoft-com:mapping-schema">
> <xsd:annotation>
> <xsd:appinfo>
> <sql:relationship name="USRMerge" parent="USR" parent-key="USRID"
> child="MergeHdr" child-key="USRID" />
> <sql:relationship name="MergeMergeList" parent="MergeHdr"
> parent-key="MergeID" child="MergeList" child-key="MergeID" />
> </xsd:appinfo>
> </xsd:annotation>
> <xsd:element name="USR" sql:relation="USR" sql:key-field="USRID">
> <xsd:complexType>
> <xsd:sequence>
> <xsd:element name="USRID" type="xsd:integer" nillable="true"
> sql:identity="ignore" />
> <xsd:element name="USRTitle" type="xsd:string" minOccurs="1" />
> <xsd:element name="USRStatusID" type="xsd:integer" sql:datatype="int"
> nillable="true" />
> <xsd:element name="CSRID" type="xsd:integer" sql:datatype="int"
> nillable="true" />
> <xsd:element name="CustomerID" type="xsd:integer" sql:datatype="int"
> nillable="true" />
> <xsd:element name="CustUSRRef" type="xsd:string" nillable="true" />
> <xsd:element name="CustContact" type="xsd:string" nillable="true" />
> <xsd:element name="ProjectID" type="xsd:integer" sql:datatype="int"
> nillable="true" />
> <xsd:element name="ReleaseID" type="xsd:integer" sql:datatype="int"
> nillable="true" />
> <xsd:element name="ModuleID" type="xsd:integer" sql:datatype="int"
> nillable="true" />
> <xsd:element name="KeyWords" type="xsd:string" nillable="true"
> sql:use-cdata="1" />
> <xsd:element name="Expected" type="xsd:string" nillable="true"
> sql:use-cdata="1" />
> <xsd:element name="Observed" type="xsd:string" nillable="true"
> sql:use-cdata="1" />
> <xsd:element name="Steps" type="xsd:string" nillable="true" />
> <xsd:element name="Billable" type="xsd:boolean" nillable="true"
> default="false" />
> <xsd:element name="IsFree" type="xsd:boolean" default="1" />
> <xsd:element name="UserID" type="xsd:integer" sql:datatype="int"
> minOccurs="1" />
> <xsd:element name="VersionRef" type="xsd:string" nillable="true" />
> <xsd:element name="ProductID" type="xsd:integer" nillable="true" />
> </xsd:sequence>
> </xsd:complexType>
> </xsd:element>
> <xsd:element name="MergeHdr" sql:relation="MergeHdr"
sql:key-field="MergeID">
> <xsd:complexType>
> <xsd:sequence>
> <xsd:element name="MergeID" type="xsd:integer" nillable="true"
> sql:identity="ignore" />
> <xsd:element name="USRID" type="xsd:integer" nillable="true"
> sql:datatype="int" />
> <xsd:element name="ScreenChange" type="xsd:boolean" nillable="true"
> default="false" />
> <xsd:element name="Translation" type="xsd:boolean" nillable="true"
> default="false" />
> <xsd:element name="MenuChange" type="xsd:boolean" nillable="true"
> default="false" />
> <xsd:element name="SecurityChange" type="xsd:boolean" nillable="true"
> default="false" />
> <xsd:element name="JobSetupChange" type="xsd:boolean" nillable="true"
> default="false" />
> <xsd:element name="MessageFileChange" type="xsd:boolean" nillable="true"
> default="false" />
> <xsd:element name="ManualCodeTableChange" type="xsd:boolean"
> nillable="true" default="false" />
> <xsd:element name="DatabaseChange" type="xsd:boolean" nillable="true"
> default="false" />
> <xsd:element name="DictionaryChange" type="xsd:boolean" nillable="true"
> default="false" />
> <xsd:element name="DataBomb" type="xsd:boolean" nillable="true"
> default="false" />
> <xsd:element name="CoreReports" type="xsd:boolean" nillable="true"
> default="false" />
> <xsd:element name="PlanetPressJetForm" type="xsd:boolean"
> nillable="true" default="false" />
> <xsd:element name="ConfigurationFile" type="xsd:boolean" nillable="true"
> default="false" />
> <xsd:element name="XSLTFile" type="xsd:boolean" nillable="true"
> default="false" />
> <xsd:element name="SQLFile" type="xsd:boolean" nillable="true"
> default="false" />
> <xsd:element name="ExtractFile" type="xsd:boolean" nillable="true"
> default="false" />
> <xsd:element name="DevCompleteDate" type="xsd:dateTime" nillable="true"
> sql:datatype="dateTime" />
> <xsd:element name="TestCompleteDate" type="xsd:dateTime" nillable="true"
> sql:datatype="dateTime" />
> <xsd:element name="Notes" type="xsd:string" nillable="true"
> sql:use-cdata="1" />
> </xsd:sequence>
> </xsd:complexType>
> </xsd:element>
> <xsd:element name="MergeList" sql:relation="MergeHdr"
> sql:key-field="MergeListID">
> <xsd:complexType>
> <xsd:sequence>
> <xsd:element name="MergeListID" type="xsd:string" nillable="true"
> sql:identity="ignore" />
> <xsd:element name="MergeID" type="xsd:integer" nillable="true" />
> <xsd:element name="Environment" type="xsd:string" nillable="true" />
> <xsd:element name="CodeReviewUserID" type="xsd:integer" nillable="true" />
> <xsd:element name="Patch" type="xsd:string" nillable="true" />
> <xsd:element name="WhoMergedUserID" type="xsd:integer" nillable="true" />
> <xsd:element name="DateMerged" type="xsd:dateTime"
> sql:datatype="dateTime" nillable="true" />
> <xsd:element name="TestImperialUserID" type="xsd:integer"
> nillable="true" />
> <xsd:element name="TestMetericUserID" type="xsd:integer" nillable="true"
> />
> </xsd:sequence>
> </xsd:complexType>
> </xsd:element>
> </xsd:schema>
> The Update Gram is:
> <root xmlns:updg="urn:schemas-microsoft-com:xml-updategram">
> <sync mapping-schema="..\templates\USRMapSchema.xml"
> xmlns="urn:schemas-microsoft-com:xml-updategram">
> <updg:before>
> <USR updg:id="USR1">
> <USRID>1</USRID>
> <USRTitle>New USR</USRTitle>
> <Billable>false</Billable>
> <IsFree>true</IsFree>
> <UserID>1</UserID>
> </USR>
> </updg:before>
> <updg:after>
> <USR updg:id="USR1">
> <USRID>1</USRID>
> <USRTitle>updated title usr 1</USRTitle>
> <Billable>false</Billable>
> <IsFree>true</IsFree>
> <UserID>1</UserID>
> </USR>
> </updg:after>
> <updg:before>
> <MergeHdr updg:id="MergeHdr1">
> <MergeID>1</MergeID>
> <USRID>1</USRID>
> <ScreenChange>false</ScreenChange>
> <Translation>false</Translation>
> <MenuChange>false</MenuChange>
> <SecurityChange>false</SecurityChange>
> <JobSetupChange>false</JobSetupChange>
> <MessageFileChange>false</MessageFileChange>
> <ManualCodeTableChange>false</ManualCodeTableChange>
> <DatabaseChange>false</DatabaseChange>
> <DictionaryChange>false</DictionaryChange>
> <DataBomb>false</DataBomb>
> <CoreReports>false</CoreReports>
> <PlanetPressJetForm>false</PlanetPressJetForm>
> <ConfigurationFile>false</ConfigurationFile>
> <XSLTFile>false</XSLTFile>
> <SQLFile>false</SQLFile>
> <ExtractFile>false</ExtractFile>
> </MergeHdr>
> </updg:before>
> <updg:after>
> <MergeHdr updg:id="MergeHdr1">
> <MergeID>1</MergeID>
> <USRID>1</USRID>
> <ScreenChange>true</ScreenChange>
> <Translation>true</Translation>
> <MenuChange>true</MenuChange>
> <SecurityChange>false</SecurityChange>
> <JobSetupChange>false</JobSetupChange>
> <MessageFileChange>false</MessageFileChange>
> <ManualCodeTableChange>false</ManualCodeTableChange>
> <DatabaseChange>false</DatabaseChange>
> <DictionaryChange>false</DictionaryChange>
> <DataBomb>false</DataBomb>
> <CoreReports>false</CoreReports>
> <PlanetPressJetForm>false</PlanetPressJetForm>
> <ConfigurationFile>false</ConfigurationFile>
> <XSLTFile>false</XSLTFile>
> <SQLFile>false</SQLFile>
> <ExtractFile>false</ExtractFile>
> </MergeHdr>
> </updg:after>
> <updg:before>
> <MergeList updg:id="MergeList1">
> <MergeListID>1</MergeListID>
> <MergeID>1</MergeID>
> <DateMerged>2005-01-17T17:27:36.4470000-08:00</DateMerged>
> </MergeList>
> </updg:before>
> <updg:after>
> <MergeList updg:id="MergeList1">
> <MergeListID>1</MergeListID>
> <MergeID>1</MergeID>
> <Environment>new item usr 1</Environment>
> </MergeList>
> </updg:after>
> </sync>
> </root>
> Thanks in advance!

does not have a corresponding mapping in the schema

I am trying to update several tables using an Updategram. I get the following
error:
HRESULT="0x80004005" Description="Specified attribute or element ('USR')
does not have a corresponding mapping in the schema, and no overflow field
defined"
The Schema is:
<?xml version="1.0" encoding="utf-8" ?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:sql="urn:schemas-microsoft-com:mapping-schema">
<xsd:annotation>
<xsd:appinfo>
<sql:relationship name="USRMerge" parent="USR" parent-key="USRID"
child="MergeHdr" child-key="USRID" />
<sql:relationship name="MergeMergeList" parent="MergeHdr"
parent-key="MergeID" child="MergeList" child-key="MergeID" />
</xsd:appinfo>
</xsd:annotation>
<xsd:element name="USR" sql:relation="USR" sql:key-field="USRID">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="USRID" type="xsd:integer" nillable="true"
sql:identity="ignore" />
<xsd:element name="USRTitle" type="xsd:string" minOccurs="1" />
<xsd:element name="USRStatusID" type="xsd:integer" sql:datatype="int"
nillable="true" />
<xsd:element name="CSRID" type="xsd:integer" sql:datatype="int"
nillable="true" />
<xsd:element name="CustomerID" type="xsd:integer" sql:datatype="int"
nillable="true" />
<xsd:element name="CustUSRRef" type="xsd:string" nillable="true" />
<xsd:element name="CustContact" type="xsd:string" nillable="true" />
<xsd:element name="ProjectID" type="xsd:integer" sql:datatype="int"
nillable="true" />
<xsd:element name="ReleaseID" type="xsd:integer" sql:datatype="int"
nillable="true" />
<xsd:element name="ModuleID" type="xsd:integer" sql:datatype="int"
nillable="true" />
<xsd:element name="KeyWords" type="xsd:string" nillable="true"
sql:use-cdata="1" />
<xsd:element name="Expected" type="xsd:string" nillable="true"
sql:use-cdata="1" />
<xsd:element name="Observed" type="xsd:string" nillable="true"
sql:use-cdata="1" />
<xsd:element name="Steps" type="xsd:string" nillable="true" />
<xsd:element name="Billable" type="xsd:boolean" nillable="true"
default="false" />
<xsd:element name="IsFree" type="xsd:boolean" default="1" />
<xsd:element name="UserID" type="xsd:integer" sql:datatype="int"
minOccurs="1" />
<xsd:element name="VersionRef" type="xsd:string" nillable="true" />
<xsd:element name="ProductID" type="xsd:integer" nillable="true" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="MergeHdr" sql:relation="MergeHdr" sql:key-field="MergeID">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="MergeID" type="xsd:integer" nillable="true"
sql:identity="ignore" />
<xsd:element name="USRID" type="xsd:integer" nillable="true"
sql:datatype="int" />
<xsd:element name="ScreenChange" type="xsd:boolean" nillable="true"
default="false" />
<xsd:element name="Translation" type="xsd:boolean" nillable="true"
default="false" />
<xsd:element name="MenuChange" type="xsd:boolean" nillable="true"
default="false" />
<xsd:element name="SecurityChange" type="xsd:boolean" nillable="true"
default="false" />
<xsd:element name="JobSetupChange" type="xsd:boolean" nillable="true"
default="false" />
<xsd:element name="MessageFileChange" type="xsd:boolean" nillable="true"
default="false" />
<xsd:element name="ManualCodeTableChange" type="xsd:boolean"
nillable="true" default="false" />
<xsd:element name="DatabaseChange" type="xsd:boolean" nillable="true"
default="false" />
<xsd:element name="DictionaryChange" type="xsd:boolean" nillable="true"
default="false" />
<xsd:element name="DataBomb" type="xsd:boolean" nillable="true"
default="false" />
<xsd:element name="CoreReports" type="xsd:boolean" nillable="true"
default="false" />
<xsd:element name="PlanetPressJetForm" type="xsd:boolean"
nillable="true" default="false" />
<xsd:element name="ConfigurationFile" type="xsd:boolean" nillable="true"
default="false" />
<xsd:element name="XSLTFile" type="xsd:boolean" nillable="true"
default="false" />
<xsd:element name="SQLFile" type="xsd:boolean" nillable="true"
default="false" />
<xsd:element name="ExtractFile" type="xsd:boolean" nillable="true"
default="false" />
<xsd:element name="DevCompleteDate" type="xsd:dateTime" nillable="true"
sql:datatype="dateTime" />
<xsd:element name="TestCompleteDate" type="xsd:dateTime" nillable="true"
sql:datatype="dateTime" />
<xsd:element name="Notes" type="xsd:string" nillable="true"
sql:use-cdata="1" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="MergeList" sql:relation="MergeHdr"
sql:key-field="MergeListID">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="MergeListID" type="xsd:string" nillable="true"
sql:identity="ignore" />
<xsd:element name="MergeID" type="xsd:integer" nillable="true" />
<xsd:element name="Environment" type="xsd:string" nillable="true" />
<xsd:element name="CodeReviewUserID" type="xsd:integer" nillable="true" />
<xsd:element name="Patch" type="xsd:string" nillable="true" />
<xsd:element name="WhoMergedUserID" type="xsd:integer" nillable="true" />
<xsd:element name="DateMerged" type="xsd:dateTime"
sql:datatype="dateTime" nillable="true" />
<xsd:element name="TestImperialUserID" type="xsd:integer"
nillable="true" />
<xsd:element name="TestMetericUserID" type="xsd:integer" nillable="true"
/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
The Update Gram is:
<root xmlns:updg="urn:schemas-microsoft-com:xml-updategram">
<sync mapping-schema="..\templates\USRMapSchema.xml"
xmlns="urn:schemas-microsoft-com:xml-updategram">
<updg:before>
<USR updg:id="USR1">
<USRID>1</USRID>
<USRTitle>New USR</USRTitle>
<Billable>false</Billable>
<IsFree>true</IsFree>
<UserID>1</UserID>
</USR>
</updg:before>
<updg:after>
<USR updg:id="USR1">
<USRID>1</USRID>
<USRTitle>updated title usr 1</USRTitle>
<Billable>false</Billable>
<IsFree>true</IsFree>
<UserID>1</UserID>
</USR>
</updg:after>
<updg:before>
<MergeHdr updg:id="MergeHdr1">
<MergeID>1</MergeID>
<USRID>1</USRID>
<ScreenChange>false</ScreenChange>
<Translation>false</Translation>
<MenuChange>false</MenuChange>
<SecurityChange>false</SecurityChange>
<JobSetupChange>false</JobSetupChange>
<MessageFileChange>false</MessageFileChange>
<ManualCodeTableChange>false</ManualCodeTableChange>
<DatabaseChange>false</DatabaseChange>
<DictionaryChange>false</DictionaryChange>
<DataBomb>false</DataBomb>
<CoreReports>false</CoreReports>
<PlanetPressJetForm>false</PlanetPressJetForm>
<ConfigurationFile>false</ConfigurationFile>
<XSLTFile>false</XSLTFile>
<SQLFile>false</SQLFile>
<ExtractFile>false</ExtractFile>
</MergeHdr>
</updg:before>
<updg:after>
<MergeHdr updg:id="MergeHdr1">
<MergeID>1</MergeID>
<USRID>1</USRID>
<ScreenChange>true</ScreenChange>
<Translation>true</Translation>
<MenuChange>true</MenuChange>
<SecurityChange>false</SecurityChange>
<JobSetupChange>false</JobSetupChange>
<MessageFileChange>false</MessageFileChange>
<ManualCodeTableChange>false</ManualCodeTableChange>
<DatabaseChange>false</DatabaseChange>
<DictionaryChange>false</DictionaryChange>
<DataBomb>false</DataBomb>
<CoreReports>false</CoreReports>
<PlanetPressJetForm>false</PlanetPressJetForm>
<ConfigurationFile>false</ConfigurationFile>
<XSLTFile>false</XSLTFile>
<SQLFile>false</SQLFile>
<ExtractFile>false</ExtractFile>
</MergeHdr>
</updg:after>
<updg:before>
<MergeList updg:id="MergeList1">
<MergeListID>1</MergeListID>
<MergeID>1</MergeID>
<DateMerged>2005-01-17T17:27:36.4470000-08:00</DateMerged>
</MergeList>
</updg:before>
<updg:after>
<MergeList updg:id="MergeList1">
<MergeListID>1</MergeListID>
<MergeID>1</MergeID>
<Environment>new item usr 1</Environment>
</MergeList>
</updg:after>
</sync>
</root>
Thanks in advance!
In your updategram, you define a default namespase:

> xmlns="urn:schemas-microsoft-com:xml-updategram">
That will put all the elments to this namespace which is different than
declared in schema.
Bertan ARI
This posting is provided "AS IS" with no warranties, and confers no rights.
"Squiggs" <Squiggs@.discussions.microsoft.com> wrote in message
news:5B75E7C4-CB9A-4707-82FF-C42034ED9D89@.microsoft.com...
> I am trying to update several tables using an Updategram. I get the
following
> error:
> HRESULT="0x80004005" Description="Specified attribute or element ('USR')
> does not have a corresponding mapping in the schema, and no overflow field
> defined"
> The Schema is:
> <?xml version="1.0" encoding="utf-8" ?>
> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
> xmlns:sql="urn:schemas-microsoft-com:mapping-schema">
> <xsd:annotation>
> <xsd:appinfo>
> <sql:relationship name="USRMerge" parent="USR" parent-key="USRID"
> child="MergeHdr" child-key="USRID" />
> <sql:relationship name="MergeMergeList" parent="MergeHdr"
> parent-key="MergeID" child="MergeList" child-key="MergeID" />
> </xsd:appinfo>
> </xsd:annotation>
> <xsd:element name="USR" sql:relation="USR" sql:key-field="USRID">
> <xsd:complexType>
> <xsd:sequence>
> <xsd:element name="USRID" type="xsd:integer" nillable="true"
> sql:identity="ignore" />
> <xsd:element name="USRTitle" type="xsd:string" minOccurs="1" />
> <xsd:element name="USRStatusID" type="xsd:integer" sql:datatype="int"
> nillable="true" />
> <xsd:element name="CSRID" type="xsd:integer" sql:datatype="int"
> nillable="true" />
> <xsd:element name="CustomerID" type="xsd:integer" sql:datatype="int"
> nillable="true" />
> <xsd:element name="CustUSRRef" type="xsd:string" nillable="true" />
> <xsd:element name="CustContact" type="xsd:string" nillable="true" />
> <xsd:element name="ProjectID" type="xsd:integer" sql:datatype="int"
> nillable="true" />
> <xsd:element name="ReleaseID" type="xsd:integer" sql:datatype="int"
> nillable="true" />
> <xsd:element name="ModuleID" type="xsd:integer" sql:datatype="int"
> nillable="true" />
> <xsd:element name="KeyWords" type="xsd:string" nillable="true"
> sql:use-cdata="1" />
> <xsd:element name="Expected" type="xsd:string" nillable="true"
> sql:use-cdata="1" />
> <xsd:element name="Observed" type="xsd:string" nillable="true"
> sql:use-cdata="1" />
> <xsd:element name="Steps" type="xsd:string" nillable="true" />
> <xsd:element name="Billable" type="xsd:boolean" nillable="true"
> default="false" />
> <xsd:element name="IsFree" type="xsd:boolean" default="1" />
> <xsd:element name="UserID" type="xsd:integer" sql:datatype="int"
> minOccurs="1" />
> <xsd:element name="VersionRef" type="xsd:string" nillable="true" />
> <xsd:element name="ProductID" type="xsd:integer" nillable="true" />
> </xsd:sequence>
> </xsd:complexType>
> </xsd:element>
> <xsd:element name="MergeHdr" sql:relation="MergeHdr"
sql:key-field="MergeID">
> <xsd:complexType>
> <xsd:sequence>
> <xsd:element name="MergeID" type="xsd:integer" nillable="true"
> sql:identity="ignore" />
> <xsd:element name="USRID" type="xsd:integer" nillable="true"
> sql:datatype="int" />
> <xsd:element name="ScreenChange" type="xsd:boolean" nillable="true"
> default="false" />
> <xsd:element name="Translation" type="xsd:boolean" nillable="true"
> default="false" />
> <xsd:element name="MenuChange" type="xsd:boolean" nillable="true"
> default="false" />
> <xsd:element name="SecurityChange" type="xsd:boolean" nillable="true"
> default="false" />
> <xsd:element name="JobSetupChange" type="xsd:boolean" nillable="true"
> default="false" />
> <xsd:element name="MessageFileChange" type="xsd:boolean" nillable="true"
> default="false" />
> <xsd:element name="ManualCodeTableChange" type="xsd:boolean"
> nillable="true" default="false" />
> <xsd:element name="DatabaseChange" type="xsd:boolean" nillable="true"
> default="false" />
> <xsd:element name="DictionaryChange" type="xsd:boolean" nillable="true"
> default="false" />
> <xsd:element name="DataBomb" type="xsd:boolean" nillable="true"
> default="false" />
> <xsd:element name="CoreReports" type="xsd:boolean" nillable="true"
> default="false" />
> <xsd:element name="PlanetPressJetForm" type="xsd:boolean"
> nillable="true" default="false" />
> <xsd:element name="ConfigurationFile" type="xsd:boolean" nillable="true"
> default="false" />
> <xsd:element name="XSLTFile" type="xsd:boolean" nillable="true"
> default="false" />
> <xsd:element name="SQLFile" type="xsd:boolean" nillable="true"
> default="false" />
> <xsd:element name="ExtractFile" type="xsd:boolean" nillable="true"
> default="false" />
> <xsd:element name="DevCompleteDate" type="xsd:dateTime" nillable="true"
> sql:datatype="dateTime" />
> <xsd:element name="TestCompleteDate" type="xsd:dateTime" nillable="true"
> sql:datatype="dateTime" />
> <xsd:element name="Notes" type="xsd:string" nillable="true"
> sql:use-cdata="1" />
> </xsd:sequence>
> </xsd:complexType>
> </xsd:element>
> <xsd:element name="MergeList" sql:relation="MergeHdr"
> sql:key-field="MergeListID">
> <xsd:complexType>
> <xsd:sequence>
> <xsd:element name="MergeListID" type="xsd:string" nillable="true"
> sql:identity="ignore" />
> <xsd:element name="MergeID" type="xsd:integer" nillable="true" />
> <xsd:element name="Environment" type="xsd:string" nillable="true" />
> <xsd:element name="CodeReviewUserID" type="xsd:integer" nillable="true" />
> <xsd:element name="Patch" type="xsd:string" nillable="true" />
> <xsd:element name="WhoMergedUserID" type="xsd:integer" nillable="true" />
> <xsd:element name="DateMerged" type="xsd:dateTime"
> sql:datatype="dateTime" nillable="true" />
> <xsd:element name="TestImperialUserID" type="xsd:integer"
> nillable="true" />
> <xsd:element name="TestMetericUserID" type="xsd:integer" nillable="true"
> />
> </xsd:sequence>
> </xsd:complexType>
> </xsd:element>
> </xsd:schema>
> The Update Gram is:
> <root xmlns:updg="urn:schemas-microsoft-com:xml-updategram">
> <sync mapping-schema="..\templates\USRMapSchema.xml"
> xmlns="urn:schemas-microsoft-com:xml-updategram">
> <updg:before>
> <USR updg:id="USR1">
> <USRID>1</USRID>
> <USRTitle>New USR</USRTitle>
> <Billable>false</Billable>
> <IsFree>true</IsFree>
> <UserID>1</UserID>
> </USR>
> </updg:before>
> <updg:after>
> <USR updg:id="USR1">
> <USRID>1</USRID>
> <USRTitle>updated title usr 1</USRTitle>
> <Billable>false</Billable>
> <IsFree>true</IsFree>
> <UserID>1</UserID>
> </USR>
> </updg:after>
> <updg:before>
> <MergeHdr updg:id="MergeHdr1">
> <MergeID>1</MergeID>
> <USRID>1</USRID>
> <ScreenChange>false</ScreenChange>
> <Translation>false</Translation>
> <MenuChange>false</MenuChange>
> <SecurityChange>false</SecurityChange>
> <JobSetupChange>false</JobSetupChange>
> <MessageFileChange>false</MessageFileChange>
> <ManualCodeTableChange>false</ManualCodeTableChange>
> <DatabaseChange>false</DatabaseChange>
> <DictionaryChange>false</DictionaryChange>
> <DataBomb>false</DataBomb>
> <CoreReports>false</CoreReports>
> <PlanetPressJetForm>false</PlanetPressJetForm>
> <ConfigurationFile>false</ConfigurationFile>
> <XSLTFile>false</XSLTFile>
> <SQLFile>false</SQLFile>
> <ExtractFile>false</ExtractFile>
> </MergeHdr>
> </updg:before>
> <updg:after>
> <MergeHdr updg:id="MergeHdr1">
> <MergeID>1</MergeID>
> <USRID>1</USRID>
> <ScreenChange>true</ScreenChange>
> <Translation>true</Translation>
> <MenuChange>true</MenuChange>
> <SecurityChange>false</SecurityChange>
> <JobSetupChange>false</JobSetupChange>
> <MessageFileChange>false</MessageFileChange>
> <ManualCodeTableChange>false</ManualCodeTableChange>
> <DatabaseChange>false</DatabaseChange>
> <DictionaryChange>false</DictionaryChange>
> <DataBomb>false</DataBomb>
> <CoreReports>false</CoreReports>
> <PlanetPressJetForm>false</PlanetPressJetForm>
> <ConfigurationFile>false</ConfigurationFile>
> <XSLTFile>false</XSLTFile>
> <SQLFile>false</SQLFile>
> <ExtractFile>false</ExtractFile>
> </MergeHdr>
> </updg:after>
> <updg:before>
> <MergeList updg:id="MergeList1">
> <MergeListID>1</MergeListID>
> <MergeID>1</MergeID>
> <DateMerged>2005-01-17T17:27:36.4470000-08:00</DateMerged>
> </MergeList>
> </updg:before>
> <updg:after>
> <MergeList updg:id="MergeList1">
> <MergeListID>1</MergeListID>
> <MergeID>1</MergeID>
> <Environment>new item usr 1</Environment>
> </MergeList>
> </updg:after>
> </sync>
> </root>
> Thanks in advance!

Does Log Shipping Handle Schema Changes from Primary to Secondary

Anyone, we have a Vendor application where we install modules or
software that updates our primary production database. We have a
reporting database that is updated via log shipping. I believe that
the article by Paul Ibison log shipping v. replication answers my question
but wanted
to know if I was missing something. So here goes. When we do an
install of a module or software it modifies our primary database. From
Paul is saying in his article it looks like any schema changes in
the primary database would not be done in the reporting database. Is
this correct?
References:
Log Shipping v. Replication
http://www.sqlservercentral.com/columnists/pibison/logshippingvsreplication.asp
Using Secondary Servers for Query Processing
http://msdn2.microsoft.com/en-us/library/ms189572.aspx
Thanks,
Chad
Hi Chad - absolutely. This is one of the differences cf replication - ALL
schema changes are replicated. In SQL Server 2005 you can replicate ddl
changes which makes it closer but not all changes are replicated to the
subscribers.
Cheers,
Paul Ibison SQL Server MVP, www.replicationanswers.com .

Wednesday, March 7, 2012

Does anyone use SSIS for database schema maintenance?

We currently use SSIS to build DTS packages in which we store changes
to our database schema, as well as scripts that need to be run upon
each release. This works well for small sets of changes that never
need to be updated or for architectures with only one database.

We store each of the changes included in the package in separate
files, which are tracked using version control. It is growing time
consuming to maintain parity between those files and what is in the
SSIS.

Furthermore, we have been unable to discover an easy way to load a
file's contents into a package SQL Task without opening the file and
copy-pasting the contents into a new SQL task.

ANY information at all would be extremely appreciated!On Feb 28, 2:54 pm, "Ben" <vanev...@.gmail.comwrote:

Quote:

Originally Posted by

We currently use SSIS to build DTS packages in which we store changes
to our database schema, as well as scripts that need to be run upon
each release. This works well for small sets of changes that never
need to be updated or for architectures with only one database.
>
We store each of the changes included in the package in separate
files, which are tracked using version control. It is growing time
consuming to maintain parity between those files and what is in the
SSIS.
>
Furthermore, we have been unable to discover an easy way to load a
file's contents into a package SQL Task without opening the file and
copy-pasting the contents into a new SQL task.
>
ANY information at all would be extremely appreciated!


Hi Ben,

There is a rock solid change management process for SQL Server
2000/2005 and it is provided by the DB Ghost toolset from
Innovartis.

The essence of the process is that you script out all the database
objects and lookup (static) data into individual CREATE / INSERT
scripts and put them under source control. The whole dev team then
checks these files out, makes the required changes to the CREATE
statements and checks them back in again (this can scale to thousand
of developers). Once you're ready to release the schema to the test
environment you use the DB Ghost Change Manager tool to make the
target database match the set of source scripts. If, for example, a
developer added a column to a table CREATE script then the Change
Manager would detect this and add the column to the target database
seamlessly.

Basically, DB Ghost enables you to develop in the same way as you do
for a greenfield (release 1) database for every subsequent release of
your schema without losing any data in the target database.

Our customers rave about DB Ghost and can't believe the cost savings
it brings - have a look for yourself :)

www.dbghost.com
Kind regards,

Malcolm

Sunday, February 26, 2012

does anyone have a query to check for db differences

I would like to compare 2 dbs at an object level to ensure that all schema
are the same on the 2 dbs and give me differences with any
I know of 3rd party tools from Red-gate , but was hoping someone had written
a simple script that i could use
ThanksHassan
> I know of 3rd party tools from Red-gate , but was hoping someone had
> written
> a simple script that i could use
>
Simple script? Are you kidding? It is very compicated issue. Personally , I
use Red-gate and it does work pretty good
"Hassan" <fatima_ja@.hotmail.com> wrote in message
news:uilnoVmkFHA.3544@.TK2MSFTNGP15.phx.gbl...
>I would like to compare 2 dbs at an object level to ensure that all schema
> are the same on the 2 dbs and give me differences with any
> I know of 3rd party tools from Red-gate , but was hoping someone had
> written
> a simple script that i could use
> Thanks
>|||One thing you could try is to script out all the objects from each database
into two separate folders (with the option of a separate file for each
object). And then compare the folders using a tool like WinDiff that comes
with Visual Studio.
--
HTH,
Vyas, MVP (SQL Server)
SQL Server Articles and Code Samples @. http://vyaskn.tripod.com/
"Hassan" <fatima_ja@.hotmail.com> wrote in message
news:uilnoVmkFHA.3544@.TK2MSFTNGP15.phx.gbl...
>I would like to compare 2 dbs at an object level to ensure that all schema
> are the same on the 2 dbs and give me differences with any
> I know of 3rd party tools from Red-gate , but was hoping someone had
> written
> a simple script that i could use
> Thanks
>|||I mean simple such as
select a.name from dbold..sysobjects a
where not exists (select * from dbnew.dbo.sysobjects b where a.name =b.name)
select a.name from dbold..sysindexes a
where not exists (select * from dbnew.dbo.sysindexes b where a.name =b.name)
Would this be fairly accurate if i want to capture everything ?
"Uri Dimant" <urid@.iscar.co.il> wrote in message
news:O6fu%237mkFHA.3212@.TK2MSFTNGP10.phx.gbl...
> Hassan
> > I know of 3rd party tools from Red-gate , but was hoping someone had
> > written
> > a simple script that i could use
> >
> Simple script? Are you kidding? It is very compicated issue. Personally ,
I
> use Red-gate and it does work pretty good
>
> "Hassan" <fatima_ja@.hotmail.com> wrote in message
> news:uilnoVmkFHA.3544@.TK2MSFTNGP15.phx.gbl...
> >I would like to compare 2 dbs at an object level to ensure that all
schema
> > are the same on the 2 dbs and give me differences with any
> >
> > I know of 3rd party tools from Red-gate , but was hoping someone had
> > written
> > a simple script that i could use
> >
> > Thanks
> >
> >
>|||I wasnt looking at all details such as text of sprocs, triggers, views,etc..
just the names of objects that are not present
"Narayana Vyas Kondreddi" <answer_me@.hotmail.com> wrote in message
news:%231TsN$mkFHA.3148@.TK2MSFTNGP09.phx.gbl...
> One thing you could try is to script out all the objects from each
database
> into two separate folders (with the option of a separate file for each
> object). And then compare the folders using a tool like WinDiff that comes
> with Visual Studio.
> --
> HTH,
> Vyas, MVP (SQL Server)
> SQL Server Articles and Code Samples @. http://vyaskn.tripod.com/
>
> "Hassan" <fatima_ja@.hotmail.com> wrote in message
> news:uilnoVmkFHA.3544@.TK2MSFTNGP15.phx.gbl...
> >I would like to compare 2 dbs at an object level to ensure that all
schema
> > are the same on the 2 dbs and give me differences with any
> >
> > I know of 3rd party tools from Red-gate , but was hoping someone had
> > written
> > a simple script that i could use
> >
> > Thanks
> >
> >
>|||Hi
Well, I'd not query system tables , instead INFORMATION_SCHEMA view_name
"Hassan" <fatima_ja@.hotmail.com> wrote in message
news:%23xxItBnkFHA.2852@.TK2MSFTNGP15.phx.gbl...
>I mean simple such as
> select a.name from dbold..sysobjects a
> where not exists (select * from dbnew.dbo.sysobjects b where a.name
> =b.name)
>
> select a.name from dbold..sysindexes a
> where not exists (select * from dbnew.dbo.sysindexes b where a.name
> =b.name)
> Would this be fairly accurate if i want to capture everything ?
>
> "Uri Dimant" <urid@.iscar.co.il> wrote in message
> news:O6fu%237mkFHA.3212@.TK2MSFTNGP10.phx.gbl...
>> Hassan
>> > I know of 3rd party tools from Red-gate , but was hoping someone had
>> > written
>> > a simple script that i could use
>> >
>> Simple script? Are you kidding? It is very compicated issue. Personally ,
> I
>> use Red-gate and it does work pretty good
>>
>> "Hassan" <fatima_ja@.hotmail.com> wrote in message
>> news:uilnoVmkFHA.3544@.TK2MSFTNGP15.phx.gbl...
>> >I would like to compare 2 dbs at an object level to ensure that all
> schema
>> > are the same on the 2 dbs and give me differences with any
>> >
>> > I know of 3rd party tools from Red-gate , but was hoping someone had
>> > written
>> > a simple script that i could use
>> >
>> > Thanks
>> >
>> >
>>
>|||Yes...you could smply do a left or full outer join between the two databases
to work out which ones are missing on each side.
--
HTH,
Vyas, MVP (SQL Server)
SQL Server Articles and Code Samples @. http://vyaskn.tripod.com/
"Hassan" <fatima_ja@.hotmail.com> wrote in message
news:u9iopHnkFHA.1440@.TK2MSFTNGP14.phx.gbl...
>I wasnt looking at all details such as text of sprocs, triggers,
>views,etc..
> just the names of objects that are not present
> "Narayana Vyas Kondreddi" <answer_me@.hotmail.com> wrote in message
> news:%231TsN$mkFHA.3148@.TK2MSFTNGP09.phx.gbl...
>> One thing you could try is to script out all the objects from each
> database
>> into two separate folders (with the option of a separate file for each
>> object). And then compare the folders using a tool like WinDiff that
>> comes
>> with Visual Studio.
>> --
>> HTH,
>> Vyas, MVP (SQL Server)
>> SQL Server Articles and Code Samples @. http://vyaskn.tripod.com/
>>
>> "Hassan" <fatima_ja@.hotmail.com> wrote in message
>> news:uilnoVmkFHA.3544@.TK2MSFTNGP15.phx.gbl...
>> >I would like to compare 2 dbs at an object level to ensure that all
> schema
>> > are the same on the 2 dbs and give me differences with any
>> >
>> > I know of 3rd party tools from Red-gate , but was hoping someone had
>> > written
>> > a simple script that i could use
>> >
>> > Thanks
>> >
>> >
>>
>|||You can still do this by scripting the databases to seperate folders and
comparing them with a Diff tool. I have found that BeyondCompare works well,
but Windiff would work fine too. Whatever is on one side but not the other
is what is missing. I currently do this for a database with 375 tables and
450 Stored Procedures in an environment with 20 developers making changes
daily. The developers are supposed to be checking changes in through Visual
Source Safe, but often forget to do so. I catch the problems before they
become an issue and let the developers know that need to check their changes
in/out of VSS.
"Hassan" wrote:
> I wasnt looking at all details such as text of sprocs, triggers, views,etc..
> just the names of objects that are not present
> "Narayana Vyas Kondreddi" <answer_me@.hotmail.com> wrote in message
> news:%231TsN$mkFHA.3148@.TK2MSFTNGP09.phx.gbl...
> > One thing you could try is to script out all the objects from each
> database
> > into two separate folders (with the option of a separate file for each
> > object). And then compare the folders using a tool like WinDiff that comes
> > with Visual Studio.
> > --
> > HTH,
> > Vyas, MVP (SQL Server)
> > SQL Server Articles and Code Samples @. http://vyaskn.tripod.com/
> >
> >
> > "Hassan" <fatima_ja@.hotmail.com> wrote in message
> > news:uilnoVmkFHA.3544@.TK2MSFTNGP15.phx.gbl...
> > >I would like to compare 2 dbs at an object level to ensure that all
> schema
> > > are the same on the 2 dbs and give me differences with any
> > >
> > > I know of 3rd party tools from Red-gate , but was hoping someone had
> > > written
> > > a simple script that i could use
> > >
> > > Thanks
> > >
> > >
> >
> >
>
>|||This tool allows you to view all the db contents al logical level
as well as to query the oledb schemas. Might be of some help (free)
http://151.100.3.84/technicalpreview/

Sunday, February 19, 2012

Documenting and searching a schema

Hi experts,
is there any external tool or feature within SQL Server 2005, which
enables a searchable documentation of schemas?
What I would like to do is to add descriptions to tables, columns and
foreign key relations describing their meaning in detail. By the term
"description" I do not mean a meaningful name, but (where required) a
longer, formatted text. Additional a google-like keyword search would
be nice, to be able to find matching elements, like e.g. all tables or
columns containing "customer" in the description text. The list of
search results should list the matching elements and show the first
few words of the description (very similar to the way google lists its
search results). If an element from the list is choosen, then the full
description should become visible. If the found elements could then be
dragged and dropped directly to a query builder - that would be
perfect!
As I don't think that I'm the first one thinking about enabling
documentation and search on database schemas, there should be tools
already existing for that purpose. But as I don't know any of them -
could you please suggest me some?
Kind regards,
Max
(send.me.all.email@.googlemail.com) writes:
> is there any external tool or feature within SQL Server 2005, which
> enables a searchable documentation of schemas?
> What I would like to do is to add descriptions to tables, columns and
> foreign key relations describing their meaning in detail. By the term
> "description" I do not mean a meaningful name, but (where required) a
> longer, formatted text. Additional a google-like keyword search would
> be nice, to be able to find matching elements, like e.g. all tables or
> columns containing "customer" in the description text. The list of
> search results should list the matching elements and show the first
> few words of the description (very similar to the way google lists its
> search results). If an element from the list is choosen, then the full
> description should become visible. If the found elements could then be
> dragged and dropped directly to a query builder - that would be
> perfect!
> As I don't think that I'm the first one thinking about enabling
> documentation and search on database schemas, there should be tools
> already existing for that purpose. But as I don't know any of them -
> could you please suggest me some?
You could look into SQLDoc from Red Gate (http://www.red-gate.com/). The
tool permits you to enter extended properties per table (not on column
level), and you can then generate a web site or HTML Help from the database.
Since HTML Help is searchable, this may be what you are looking for. You
can download a 14-day eval to have a look.
Erland Sommarskog, SQL Server MVP, esquel@.sommarskog.se
Books Online for SQL Server 2005 at
http://www.microsoft.com/technet/prodtechnol/sql/2005/downloads/books.mspx
Books Online for SQL Server 2000 at
http://www.microsoft.com/sql/prodinfo/previousversions/books.mspx
|||Get a copy of Doc from ApexSQL (www.apexsql.com).
TheSQLGuru
President
Indicium Resources, Inc.
<send.me.all.email@.googlemail.com> wrote in message
news:1184095671.151380.170660@.o61g2000hsh.googlegr oups.com...
> Hi experts,
> is there any external tool or feature within SQL Server 2005, which
> enables a searchable documentation of schemas?
> What I would like to do is to add descriptions to tables, columns and
> foreign key relations describing their meaning in detail. By the term
> "description" I do not mean a meaningful name, but (where required) a
> longer, formatted text. Additional a google-like keyword search would
> be nice, to be able to find matching elements, like e.g. all tables or
> columns containing "customer" in the description text. The list of
> search results should list the matching elements and show the first
> few words of the description (very similar to the way google lists its
> search results). If an element from the list is choosen, then the full
> description should become visible. If the found elements could then be
> dragged and dropped directly to a query builder - that would be
> perfect!
> As I don't think that I'm the first one thinking about enabling
> documentation and search on database schemas, there should be tools
> already existing for that purpose. But as I don't know any of them -
> could you please suggest me some?
> Kind regards,
> Max
>