Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Создание собственной схемы в SQL запросах  [new]
serega2015
Member

Откуда:
Сообщений: 9
Добрый день!

Помогите пожалуйста, раньше получал xml файлы с с базы данных путем

select *
from [mytable]
for xml auto, XMLSCHEMA

и данные дальше обрабатывались в программе.

При данном подходе данные подгружаются с базы данных а схему с http://schemas.microsoft.com/sqlserver/2004/sqltypes.

Но бывает так что сервер у microsoft не работает и соответственно программа то же не работает.
Как можно сделать так чтобы не зависит от других и написать свою собственную схему и подгружалось с собственного сервера?
В каком направлении копать?
16 авг 13, 10:29    [14716984]     Ответить | Цитировать Сообщить модератору
 Re: Создание собственной схемы в SQL запросах  [new]
Mnior
Member

Откуда: Кишинёв
Сообщений: 6724
serega2015
Но бывает так что сервер у microsoft не работает и соответственно программа то же не работает.
serega2015, повеселил. Хотя анекдот старый.

КО
А главное что ТС уверен что проблема в неймспейсе.

Что у вас за программа такая, которая воспринимает URI как URL?
Это несёт чисто рекомендательный характер, декларативный для человеков.
16 авг 13, 11:30    [14717453]     Ответить | Цитировать Сообщить модератору
 Re: Создание собственной схемы в SQL запросах  [new]
serega2015
Member

Откуда:
Сообщений: 9
Пример:

Программа запрашивает и получает файл:

<xsd:schema targetNamespace="urn:schemas-microsoft-com:sql:SqlRowSet2" xmlns:schema="urn:schemas-microsoft-com:sql:SqlRowSet2" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:sqltypes="http://schemas.microsoft.com/sqlserver/2004/sqltypes" elementFormDefault="qualified">
<xsd:import namespace="http://schemas.microsoft.com/sqlserver/2004/sqltypes" schemaLocation="http://schemas.microsoft.com/sqlserver/2004/sqltypes/sqltypes.xsd" />
<xsd:element name="region">
<xsd:complexType>
<xsd:attribute name="NAME">
<xsd:simpleType>
<xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1049" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth">
<xsd:maxLength value="255" />
</xsd:restriction>
</xsd:simpleType>
</xsd:attribute>
<xsd:attribute name="SOCR">
<xsd:simpleType>
<xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1049" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth">
<xsd:maxLength value="255" />
</xsd:restriction>
</xsd:simpleType>
</xsd:attribute>
<xsd:attribute name="CODE">
<xsd:simpleType>
<xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1049" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth">
<xsd:maxLength value="255" />
</xsd:restriction>
</xsd:simpleType>
</xsd:attribute>
<xsd:attribute name="INDEX">
<xsd:simpleType>
<xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1049" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth">
<xsd:maxLength value="255" />
</xsd:restriction>
</xsd:simpleType>
</xsd:attribute>
<xsd:attribute name="GNINMB">
<xsd:simpleType>
<xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1049" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth">
<xsd:maxLength value="255" />
</xsd:restriction>
</xsd:simpleType>
</xsd:attribute>
<xsd:attribute name="UNO">
<xsd:simpleType>
<xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1049" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth">
<xsd:maxLength value="255" />
</xsd:restriction>
</xsd:simpleType>
</xsd:attribute>
<xsd:attribute name="OCATD">
<xsd:simpleType>
<xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1049" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth">
<xsd:maxLength value="255" />
</xsd:restriction>
</xsd:simpleType>
</xsd:attribute>
<xsd:attribute name="STATUS">
<xsd:simpleType>
<xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1049" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth">
<xsd:maxLength value="255" />
</xsd:restriction>
</xsd:simpleType>
</xsd:attribute>
<xsd:attribute name="regionID" type="sqltypes:int" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:schema>
<region xmlns="urn:schemas-microsoft-com:sql:SqlRowSet2" NAME="Адыгея" SOCR="Респ" CODE="0100000000000" INDEX="385000" GNINMB="0100" OCATD="79000000000" STATUS="0" regionID="1" />
<region xmlns="urn:schemas-microsoft-com:sql:SqlRowSet2" NAME="Башкортостан" SOCR="Респ" CODE="0200000000000" INDEX="450000" GNINMB="0200" OCATD="80000000000" STATUS="0" regionID="1" />
<region xmlns="urn:schemas-microsoft-com:sql:SqlRowSet2" NAME="Алтай" SOCR="Респ" CODE="0400000000000" INDEX="649000" GNINMB="0400" OCATD="84000000000" STATUS="0" regionID="1" />

Данный файл загружается на стороне клиента в DataSet язык программирование C#.
dsXml.ReadXml([fileNameXML], XmlReadMode.Auto);
Когда загружается в DataSet подгружается схема.
Сейчас работу домена http://schemas.microsoft.com восстановили и программа заработала.
100% проблема была в невозможности загрузки схемы с http://schemas.microsoft.com.
16 авг 13, 15:16    [14719090]     Ответить | Цитировать Сообщить модератору
 Re: Создание собственной схемы в SQL запросах  [new]
serega2015
Member

Откуда:
Сообщений: 9
Программу разработал сам, поэтому знаю
где рекомендательный характер несет, а где непосредственно подгружается.
Данный момент можно проверить через Fiddler2.
16 авг 13, 15:23    [14719168]     Ответить | Цитировать Сообщить модератору
 Re: Создание собственной схемы в SQL запросах  [new]
Mnior
Member

Откуда: Кишинёв
Сообщений: 6724
serega2015
Программу разработал сам, поэтому знаю
Если вы бы знали, вы бы не пришли жаловаться с проблемой.
Наблюдение конечно хорошо, но выводы имхо неправильные.
Тем более что наблюдений своих хватает, когда всё фунчиклирует без физического доступа к инету (или вы типа не могли это предположить ).

Конечно я далеко не спец в парсерах коих не один и не 10, и тем более вы не колитесь коим пользуетесь. Но для меня идея семантического вебского XML так и осталась несбыточной "мечтой", и/или никем не понятой.

К тому же, у нормального парсера есть дофига настроек по кэшированию, явному указанию, игнорированию соотвествующих URI.
К тому же, в основном (читай все) тот или иной ридер/интерпретатор/парсер данных, нацелен только на конкретный свой наймспайс, спецификация которая определяет его самого (читай в него заложена).

И даже если предположить о смене спеки, то обычно это означает обновление самого компонента (модуля/dll).

Так что как говорится:
Знай чем пользуешься ©

Т.е. я бы на вашем месте просто посмотрел настройки компонента в вашей прожке, чем придумывать очередной ласапедно-комбайновый-костыль.

Удачи.
16 авг 13, 15:47    [14719371]     Ответить | Цитировать Сообщить модератору
 Re: Создание собственной схемы в SQL запросах  [new]
Mnior
Member

Откуда: Кишинёв
Сообщений: 6724
К примеру, есть валидатор Xerces. У него есть настройка noNamespaceSchemaLocation. А также есть локальный каталог для предзагруженных XSD.

К тому, всё никак не могу понять зачем вам валидатор? Любой ридер уже априори валидатор.

И да, если бы вы придумали свою XSD, вам бы пришлось аналогично её прописывать своему парсеру.
Или вы хотите поднять ради этого свой веб сервер?
16 авг 13, 16:04    [14719478]     Ответить | Цитировать Сообщить модератору
 Re: Создание собственной схемы в SQL запросах  [new]
serega2015
Member

Откуда:
Сообщений: 9
Какой парсер????????????????
Есть база данных на сервере, есть клиентская программа.
Клиентская программа обращается через Get и Post запросы на web-сервер.
Данные от web-сервера получаю в виде XML-файле, (это удобно тем что в программу не компилируешь пароли к sql).
Если отправлять XML файл без схемы, то в DataSet загружается как текстовый тип.
Данные типа int, dec, date, datetime... не распознаются.
При написании запроса типа

select *
from [mytable]
for xml auto, XMLSCHEMA

SQL выдает ответ в виде xml со встроенной схемой.
Все ОТЛИЧНО работал два с лишним года, сегодня на пол часа были перебои в работе http://schemas.microsoft.com/sqlserver/2004/sqltypes поэтому возник данный вопрос.

Ни кому ничего доказывать не стану, в этом не нуждаюсь.
У меня стоит конкретная задача которую мне надо решить.
Если не можете предложить конкретную идею, пожалуйста не мешайте.
16 авг 13, 16:10    [14719513]     Ответить | Цитировать Сообщить модератору
 Re: Создание собственной схемы в SQL запросах  [new]
serega2015
Member

Откуда:
Сообщений: 9
Как раз я хотел написать свой xsd и как нибудь привязать к запросам вместо того что sql выдает сам.
16 авг 13, 16:16    [14719536]     Ответить | Цитировать Сообщить модератору
 Re: Создание собственной схемы в SQL запросах  [new]
serega2015
Member

Откуда:
Сообщений: 9
У меня есть свой web-сервер.
16 авг 13, 16:16    [14719539]     Ответить | Цитировать Сообщить модератору
 Re: Создание собственной схемы в SQL запросах  [new]
serega2015
Member

Откуда:
Сообщений: 9
Когда оказываешь информационную услугу и клиенты звонят (а их не мало) и говорят что программа не работает, поверьте мне на слово не до смеху.
16 авг 13, 16:20    [14719557]     Ответить | Цитировать Сообщить модератору
 Re: Создание собственной схемы в SQL запросах  [new]
Glory
Member

Откуда:
Сообщений: 104751
serega2015
100% проблема была в невозможности загрузки схемы с http://schemas.microsoft.com.

Т.е. это серверное сообщение об ошибке такое "100% проблема была в невозможности загрузки схемы с http://schemas.microsoft.com/" ?
16 авг 13, 16:40    [14719700]     Ответить | Цитировать Сообщить модератору
 Re: Создание собственной схемы в SQL запросах  [new]
serega2015
Member

Откуда:
Сообщений: 9
Нет сервер данные выдает, когда клиентская программа загружает полученные данные с web-сервера xml файл в DataSet выдает ошибку по моему "http://schemas.microsoft.com/sqlserver/2004/sqltypes:int не простой тип" что-то в этом роде.
Вопрос не в том почему выдает ошибку, вопрос в том как свою xsd схему как-то прикрутить к sql ответам вместо http://schemas.microsoft.com/sqlserver/2004/sqltypes.
16 авг 13, 16:51    [14719775]     Ответить | Цитировать Сообщить модератору
 Re: Создание собственной схемы в SQL запросах  [new]
Mnior
Member

Откуда: Кишинёв
Сообщений: 6724
Цирк продолжается.

serega2015
DataSet выдает ошибку по моему "http://schemas.microsoft.com/sqlserver/2004/sqltypes:int не простой тип"
Не верю! © Станиславский
16 авг 13, 17:40    [14720063]     Ответить | Цитировать Сообщить модератору
 Re: Создание собственной схемы в SQL запросах  [new]
serega2015
Member

Откуда:
Сообщений: 9
Mnior
Цирк продолжается.


Вам бы и туда, хотя бы больше пользы принесли бы.

Mnior
Откуда: Кишинёв
Сообщений: 5622


5622 - бессмысленных сообщений, тратить на это жизнь, повеситься можно.
Поменять бы Вам ник на "Мастер-Чайник-Шут".
16 авг 13, 17:52    [14720164]     Ответить | Цитировать Сообщить модератору
 Re: Создание собственной схемы в SQL запросах  [new]
Mnior
Member

Откуда: Кишинёв
Сообщений: 6724
serega2015
Вам бы и туда, хотя бы больше пользы принесли бы.
Бесполезно писать сообщения если их не читают.
Я не то что решение написал, а разжевал что к чему.
Но вы упёрлись сделать 2+2=5 и настаиваете, и всем кто говорит что это банально нелогично - сразу бессмысленные идиёты.
serega2015
5622 - бессмысленных сообщений
О да, алюминиевая логика.
Вот у Glory 88838 - что, он тоже флудер?
Или вы фсе 5622 мои сообщения прочитали? Поверьте - силёнок не хватит, некоторые довольно жирные мягко говоря.
да, да, слово "жирные" написано случайно.
16 авг 13, 18:16    [14720261]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить