Что такое код sybase_result


Содержание

Системная процедура Sybase — как получить результат?

Есть ли способ сохранить результирующий набор процедуры SYSTEM в Sybase ASE 15?

Например, если я хочу получить информацию обо всех столбцах таблицы, я бы использовал следующий код:
sp_columns ‘TABLE_NAME’ .

Я хочу сохранить результат во временную таблицу или получить ее с помощью курсора, чтобы использовать его для других запросов. Есть ли способ сделать это?

Примечание. Я знаю, что могу написать свой запрос, используя системные таблицы и получить тот же результат, но если это возможно, я бы предпочел этот метод.

Системные хранимые процедуры не предназначены для использования для ввода в другие таблицы/процедуры. Если вы не хотите писать свои собственные запросы, вы можете посмотреть код за хранимой процедурой, используя sp_helptext . Для системных хранимых процедур вы должны находиться в sybsystemprocs db.

Оттуда вы можете взглянуть на то, что запрашивается, и просто взять то, что вам нужно.

Также полезно взглянуть на таблицу системных таблиц Sybase ASE: это показывает все системные таблицы и все отношения между таблицами.

Вы также можете использовать прокси-таблицы для хранения результатов SP в таблице.

mysql — проблема кодирования в sybase для переполнения стека

Прежде всего, позвольте мне сказать, у меня есть база данных sybase, ее кодировка определенно не utf-8., и я не могу изменить ее на utf-8 из-за некоторых других проблем.

поэтому проблема в том, что мне нужно прочитать данные из этой базы данных с помощью php и сохранить их в таблице mysql, которая utf8.

так обычно без какого-либо преобразования значение сохраняется в моей базе данных как

если я пытаюсь вставить это в таблицу MySQL с набором символов по умолчанию, значение сохраняется как «19?? long bla bla»

в браузере это показывает как «19Â’Â’ long bla bla»

в любом случае, чтобы спасти «19’’ long bla bla» в таблице MySQL, как это и показать его правильно, где

но появляются более искаженные персонажи

пожалуйста, не говорите мне использовать кодировку везде так же, как я не могу это сделать

Решение

Быстрое решение здесь:

и исходный код, который вам нужен согласно этой статье, находится здесь:

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

Не могли бы вы показать исходный код someFuntionToReturnSybaseData ()?

мы можем изменить эту функцию? или ты просто называешь это как есть?

какова оригинальная кодовая страница БД?

У вас есть другие веб-страницы, которые прекрасно работают с этим Sybase DB?

какие настройки кодовых страниц для этих страниц?

какова ваша таблица таблиц mysql db?

не могли бы вы показать CREATE TABLE заявление для mysql?

а твой код куда ты пытаешься вставить данные?

и самый последний вопрос, но на самом деле не тот, который вы должны игнорировать:

какая у вас php файл кодовая страница?

(У меня есть опыт разработки кириллических веб-сайтов, и было много ситуаций, когда исходная кодовая страница .php файла повредила вывод результатов :-))

Другие решения

Вы можете использовать команду mysl SET NAMES указать символ, который вы отправляете в MySQL, перед импортом данных

Прежде всего, вам нужно получить данные из sybase и преобразовать их в UTF-8, чтобы вы могли загрузить их в MySQL:

Дайте мне знать, если это работает для вас.

Преобразование объектов базы данных SAP ASE (SybaseToSQL) Converting SAP ASE database objects (SybaseToSQL)

После подключения к SAP Adaptive Server Enterprise (ASE), подключенных к SQL Server SQL Server или Azure SQL и задание проекта и параметры сопоставления данных, можно преобразовать объекты базы данных SAP Adaptive Server Enterprise (ASE) для SQL Server SQL Server или базы данных Azure SQL объекты. After you have connected to SAP Adaptive Server Enterprise (ASE), connected to SQL Server SQL Server or Azure SQL and set project and data mapping options, you can convert SAP Adaptive Server Enterprise (ASE) database objects to SQL Server SQL Server or Azure SQL database objects.

Процесс преобразования The conversion process

Преобразование объектов базы данных принимает определения объектов из ASE, преобразует их в аналогичные SQL Server SQL Server или SQL Azure объектов и затем загружает эту информацию в метаданные SSMA. Converting database objects takes the object definitions from ASE, converts them to similar SQL Server SQL Server or SQL Azure objects, and then loads this information into the SSMA metadata. Она не загружает данные в экземпляр SQL Server SQL Server или Azure SQL. It does not load the information into the instance of SQL Server SQL Server or Azure SQL. Затем можно просмотреть объекты и их свойства с помощью SQL Server SQL Server или обозреватель метаданных SQL Azure. You can then view the objects and their properties by using the SQL Server SQL Server or Azure SQL Metadata Explorer.

Во время преобразования, SSMA печатает выходные сообщения для вывода области и сообщения об ошибках для список ошибок области. During the conversion, SSMA prints output messages to the Output pane and error messages to the Error List pane. Используйте выходные данные и сведения об ошибке, чтобы определить, нужно ли изменять баз данных вашего ASE или процесс преобразования, чтобы получить результаты требуемое преобразование. Use the output and error information to determine whether you have to modify your ASE databases or your conversion process to obtain the desired conversion results.

Установка параметров преобразования Setting conversion options

Прежде чем выполнять преобразование объектов, просмотрите параметры преобразования проекта в параметры проекта диалоговое окно. Before converting objects, review the project conversion options in the Project Settings dialog box. В этом диалоговом окне, можно задать как SSMA преобразует функции и глобальные переменные. By using this dialog box, you can set how SSMA converts functions and global variables. Дополнительные сведения см. в разделе параметры проекта (преобразования) (SybaseToSQL). For more information, see Project Settings (Conversion) (SybaseToSQL).

Преобразование объектов базы данных ASE Converting ASE database objects

Для преобразования объектов базы данных среды ASE, сначала выбрать объекты, которые требуется выполнить преобразование и затем SSMA выполнить преобразование. To convert ASE database objects, first select the objects you want to convert, and then have SSMA perform the conversion. Просмотр выходных сообщений во время преобразования, на представление меню, выберите вывода. To view output messages during the conversion, on the View menu, select Output.

Для преобразования объектов ASE синтаксису SQL Server или SQL Azure To convert ASE objects to SQL Server or SQL Azure syntax

В обозревателе метаданных Sybase, разверните узел сервера ASE и раскройте баз данных. In Sybase Metadata Explorer, expand the ASE server, and then expand Databases.

Выберите объекты для преобразования: Select objects to convert:

Чтобы преобразовать все базы данных, установите флажок рядом с полем баз данных. To convert all databases, select the check box next to Databases.

Чтобы преобразовать или пропускать базы данных, установите или снимите флажок рядом с именем базы данных. To convert or omit a database, select or clear the check box next to the database name.

Чтобы преобразовать или пропустить отдельные схемы, разверните базу данных, разверните узел схемыи затем установите или снимите флажок рядом с схемы. To convert or omit individual schemas, expand the database, expand Schemas, and then select or clear the check box next to the schema.

Для преобразования или пропустить категории объектов, Развернем схему и затем установите или снимите флажок рядом с категорией. To convert or omit a category of objects, expand the schema, and then select or clear the check box next to the category.

Чтобы преобразовать или исключить отдельные объекты, разверните папку «категория» и выберите или снимите флажок рядом с объектом. To convert or omit individual objects, expand the category folder, and then select or clear the check box next to the object.

Для преобразования всех выбранных объектов, щелкните правой кнопкой мыши баз данных, а затем выберите преобразования схемы. To convert all selected objects, right-click Databases, and then select Convert Schema.

Можно также преобразовать отдельных объектов или категории объектов, щелкнув правой кнопкой мыши объект или содержащей его папки, а затем выбрав преобразования схемы. You can also convert individual objects or categories of objects by right-clicking the object or its containing folder, and then selecting Convert Schema.

Некоторые функции системы SAP ASE не совпадают в эквивалентные функции системы SQL Server в поведении. Some of the SAP ASE system functions do not exactly match the equivalent SQL Server system functions in behavior. Чтобы эмулировать режим SAP ASE, SSMA создает определяемые пользователем функции в преобразованную базу данных SQL Server в разделе Схема с именем «s2ss». To emulate the SAP ASE behavior, SSMA generates User Defined functions in the converted SQL Server database under a schema called ‘s2ss’. В зависимости от параметров проекта некоторые функции SQL Server system заменяются эти эмулированные функции. Depending on the project settings, some of the SQL Server system functions are replaced with these emulated functions. SSMA создает определяемые пользователем функции: SSMA creates the following user-defined functions:

Илон Маск рекомендует:  Что такое код checkdate
char_length_nvarchar char_length_nvarchar index_colorder index_colorder ssma_datepart ssma_datepart
char_length_varchar char_length_varchar inttohex inttohex substring_nvarchar substring_nvarchar
charindex_nvarchar charindex_nvarchar ssma_datediff ssma_datediff substring_varbinary substring_varbinary
charindex_varchar charindex_varchar hextoint hextoint substring_varchar substring_varchar
ulowsurr ulowsurr to_unichar to_unichar ssma_current_time ssma_current_time
uhighsurr uhighsurr

Объекты, не поддерживаемые в Azure SQL Objects not supported in Azure SQL

T-SQL используются следующие ключевые слова с SSMA для SAP ASE при преобразовании в SQL Server в локальной, но эти ключевые слова не поддерживаются в синтаксисе SQL Azure T-SQL: The following T-SQL keywords are used by SSMA for SAP ASE during conversion to SQL Server on-premises, but these keywords are not supported by SQL Azure T-SQL syntax:

CHECKPOINT CHECKPOINT CREATE/ALTER/DROP DEFAULT CREATE/ALTER/DROP DEFAULT CREATE/DROP RULE CREATE/DROP RULE
DBCC TRACEOFF DBCC TRACEOFF DBCC TRACEON DBCC TRACEON GRANT/REVOKE/DENY ALL GRANT/REVOKE/DENY ALL
KILL KILL READTEXT READTEXT SELECT INTO SELECT INTO
SET OFFSETS SET OFFSETS SETUSER SETUSER SHUTDOWN SHUTDOWN
WRITETEXT WRITETEXT

Просмотр проблемы с преобразованием Viewing conversion problems

Некоторые объекты SAP ASE, не может преобразовать. Some SAP ASE objects might not convert. Успех конверсии можно определить, просмотрев отчет сводки преобразования. You can determine the conversion success rates by viewing the summary conversion report.

Чтобы просмотреть сводный отчет To view a summary report

Выберите в обозревателе метаданных Sybase баз данных. In Sybase Metadata Explorer, select Databases.

В области справа выберите отчетов вкладки. In the right pane, select the Report tab.

Этот отчет показывает отчет об оценке сводки для всех объектов базы данных, оценивается ли или преобразованы. This report shows the summary assessment report for all database objects that have been assessed or converted. Можно также просмотреть сводный отчет по отдельным объектам: You can also view a summary report for individual objects:

Чтобы просмотреть отчет для отдельной базы данных, выберите базу данных в обозревателе метаданных Sybase. To view the report for an individual database, select the database in Sybase Metadata Explorer.

Чтобы просмотреть отчет для отдельной базы данных объект, выберите объект в обозревателе метаданных Sybase. To view the report for an individual database object, select the object in Sybase Metadata Explorer. Объекты, имеющие проблемы с преобразованием иметь красный значок ошибки. Objects that have conversion problems have a red error icon.

Для объектов, которые не удалось выполнить преобразование можно просмотреть синтаксис, вызвавшую ошибку преобразования. For objects that failed conversion, you can view the syntax that resulted in the conversion failure.

Для просмотра отдельных преобразования проблем To view individual conversion problems

В обозревателе метаданных Sybase разверните баз данных. In Sybase Metadata Explorer, expand Databases.

Разверните базу данных, показывающий красный значок ошибки. Expand the database that shows a red error icon.

Разверните схемы папку, а затем разверните схему, которая показывает красный значок ошибки. Expand the Schemas folder, and then expand the schema that shows a red error icon.

В области схемы разверните папку с красным значком ошибки. Under the schema, expand a folder that has a red error icon.

Выберите объект, который имеет красный значок ошибки. Select the object that has a red error icon.

В области справа выберите отчетов вкладки. In the right pane, select the Report tab.

В верхней части отчетов вкладка — стрелку раскрывающегося списка. At the top of the Report tab is a drop-down list. Если в списке отображается статистики, выделение источника. If the list shows Statistics, change the selection to Source.

SSMA отобразит исходный код и несколько кнопок, расположенный непосредственно над кодом. SSMA will display the source code and several buttons immediately above the code.

Выберите следующая проблема, красный значок ошибки со стрелкой вправо. Select Next Problem, a red error icon with an arrow pointing to the right.


SSMA для SAP ASE будут выделите первый проблемных исходного кода, найденных в текущем объекте. SSMA for SAP ASE will highlight the first problematic source code it finds in the current object.

Для каждого элемента, которые не могут быть преобразованы необходимо определить, что нужно сделать с помощью этого объекта: For each item that could not be converted, you have to determine what you want to do with that object:

Можно изменить исходный код для процедур и триггеров на SQL вкладки. You can edit the source code for procedures and triggers on the SQL tab.

Можно изменить объект SAP ASE, чтобы удалить или изменить неисправного кода. You can alter the SAP ASE object to remove or revise problematic code. Чтобы загрузить обновленный код в SSMA, необходимо обновить метаданные. To load the updated code into SSMA, you have to update the metadata. Дополнительные сведения см. в разделе подключении к SAP ASE (SybaseToSQL). For more information, see Connecting to SAP ASE (SybaseToSQL).

Объект можно исключить из миграции. You can exclude the object from migration. В SQL Server SQL Server или обозреватель метаданных SQL Azure и обозреватель метаданных Sybase, снимите флажок рядом с элементом перед загрузкой объектов в SQL Server SQL Server или Azure SQL, так и перенос данных из SAP ASE. In SQL Server SQL Server or Azure SQL Metadata Explorer and Sybase Metadata Explorer, clear the check box next to the item before loading the objects into SQL Server SQL Server or Azure SQL and migrating data from SAP ASE.

sybase_result — Get result data

(PHP 4, PHP 5, PHP 7)

sybase_result — Get result data

Описание

Returns the contents of the cell at the row and offset in the specified Sybase result set.

When working on large result sets, you should consider using one of the functions that fetch an entire row (specified below). As these functions return the contents of multiple cells in one function call, they’re MUCH quicker than sybase_result(). Also, note that specifying a numeric offset for the field argument is much quicker than specifying a fieldname or tablename.fieldname argument.

Список параметров

The field argument can be the field’s offset, or the field’s name, or the field’s table dot field’s name (tablename.fieldname). If the column name has been aliased (‘select foo as bar from. ‘), use the alias instead of the column name.

Возвращаемые значения

sybase_result() returns the contents of one cell from a Sybase result set.

Вопрос по sybase, jdbc, java &#8211 Нулевые результаты при вызове хранимой процедуры Sybase через JDBC

Я вызываю хранимую процедуру Sybase, которая возвращает несколько наборов результатов через JDBC. Мне нужно получить конкретный набор результатов, который имеет столбец с именем «Результат» Это мой код:

Что здесь происходит, так это cs.getMoreResults возвращает множество нулевых результатов, пока не достигнет целевого. Я не могу использовать cs.getMoreResults как условие цикла, потому что оно возвращает false для нулевых результатов.

Я поставил фиксированное число, чтобы завершить цикл, при условии, что требуемый набор результатов не был возвращен, чтобы предотвратить его переход в бесконечный цикл. Это работало нормально, но я не думаю, что это правильно.

Я думаю, что нулевые результаты возвращаются из назначения в Sybase select @variable = value

Кто-нибудь сталкивался с этим раньше?

getMoreResults() , Вы также игнорируете возвращаемое значение execute() этот метод возвращает boolean с указанием типа первого результата:

true : результат ResultSet false : результат — количество обновлений

Если результат true тогда вы используете getResultSet() чтобы получить ResultSet , в противном случае getUpdateCount() чтобы получить количество обновлений. Если счетчик обновлений -1 значит больше нет результатов. Обратите внимание, что количество обновлений также будет -1 когда текущий результат ResultSet , Также хорошо знать, что getResultSet() должен возвращать ноль, если результатов больше нет или если результатом является счетчик обновлений (это последнее условие, почему вы получаете так много null ценности).

Теперь, если вы хотите получить больше результатов, вы звоните getMoreResults() (или его брат принимает int параметр). Возвращаемое значение boolean имеет то же значение, что и execute() , так false не означает, что больше нет результатов!

Больше нет результатов, если getMoreResults() возвращает ложь и getUpdateCount() возвращается -1 (как также задокументировано в Javadoc)

По сути это означает, что если вы хотите правильно обработать все результаты, вам нужно сделать что-то вроде ниже:

Я предполагаю, что вы получаете много обновлений, прежде чем вы получите фактический ResultSet .

Я не очень знаком с Sybase, но его двоюродный брат SQL Server имеет функцию «раздражает», чтобы возвращать количество обновлений из хранимых процедур, если вы не указали явно SET NOCOUNT ON; в начале хранимой процедуры.

ПРИМЕЧАНИЕ. Часть этого ответа основана на моем ответеВыполнить «sp_msforeachdb» в приложении Java

Ох уж мне эти базы данных: Sybase (ASE) и datetime

datetime columns hold dates between January 1, 1753 and December 31, 9999. datetime values are accurate to 1/300 second on platforms that support this level of granularity. Storage size is 8 bytes: 4 bytes for the number of days since the base date of January 1, 1900 and 4 bytes for the time of day.

datetime values are accurate to 1/300 second

datetime columns hold dates between January 1, 1753 and December 31, 9999. datetime values are accurate to 1/300 second on platforms that support this level of granularity. The last digit of the fractional second is always 0, 3, or 6. Other digits are rounded to one of these three digits, so 0 and 1 round to 0; 2, 3, and 4 round to 3; 5, 6, 7, and 8 round to 6; and 9 rounds to 10… Storage size is 8 bytes: 4 bytes for the number of days since the base date of January 1, 1900 and 4 bytes for the time of day.

bigdatetime columns hold dates from January 1, 0001 to December 31, 9999 and 12:00:00.000000 AM to 11:59:59.999999 PM. Its storage size is 8 bytes. The internal representation of bigdatetime is a 64 bit integer containing the number of microseconds since 01/01/0000.

Что такое код sybase_result

sybase_result — получает результирующие данные.

Описание

string sybase_result (int result, int row, mixed field)

Возвращает содержимое ячейки ряда и смещения в специфицированном результирующем наборе Sybase.

sybase_result() возвращает содержимое одной ячейки из специфицированного результирующего набора Sybase. Аргумент field может быть смещением поля, именем поля или именем таблицы точка именем поля (tablename.fieldname). Если создан псевдоним имени столбца (‘select foo as bar from. ‘), используйте этот псевдоним вместо имени столбца.

Илон Маск рекомендует:  Что такое код addatom

При работе с большими результирующими наборами вы должны предусмотреть использование одной из функций, извлекающих целый ряд (специфицированы далее). Поскольку эти функции возвращают содержимое нескольких ячеек в одном вызове функции, они работают НАМНОГО быстрее, чем sybase_result(). Также отметьте, что специфицирование числового смещения для аргумента field намного быстрее, чем специфицирование fieldname или tablename.fieldname.


Назад Оглавление Вперёд
sybase_query Вверх sybase_select_db

Материалы, которые находятся на этой страничке, любезно предоставлены Игорем Ивановым

Работа с XML-документами в Sybase Adaptive Server Enterprise

Обсуждение XML в компьютерных изданиях в бумажном и в электронном виде сделало этот язык и его применение широко известным публике, так что доказывать его достоинства не имеет смысла. В то же время хотелось бы отметить, что XML не является панацеей для решения всех проблем электронного обмена документами между приложениями, но вкупе со многими уже существующими технологиями позволяет сделать такой обмен более простым и надежным.

Именно поэтому крупнейшие поставщики СУБД добавили в свои SQL-серверы наборы компонентов, утилит и интерфейсов для работы с XML-документами, то есть создали своего рода программную инфраструктуру, которая позволяет объединить реляционную модель баз данных с иерархической моделью XML, упростить способ передачи информации в Интернет и хранение готовых XML-документов.

А теперь рассмотрим, как реализована поддержка XML во флагманской СУБД Sybase — Adaptive Server Enterprise (ASE).

Поддержка XML в ASE

Поддержка XML введена в ASE начиная с версии 12.0. Она включает в себя хранение и обработку XML-документов не только со стороны клиента, но и на сервере. Встроенная в сервер виртуальная Java-машина с помощью методов специального Java-класса Jxml позволяет выполнять анализ XML-документа и совершать над ним базовые операции.

В новую версию ASE 12.5, начало коммерческой реализации которой намечается в середине июня, добавлена возможность хранить синтаксически разобранные документы в полях таблицы типа image. Введен процессор языка XQL (XML query language) для обработки XML.

Ниже мы расскажем обо всех возможностях обеих версий для работы с XML.

Стратегия хранения XML-документов

АSE хранит XML-документы в полях типа char или varchar (если размер документа небольшой), в полях типа Java-класс, в полях Image или Text. Существуют три подхода для размещения XML-документов:

  1. Размещение документов поэлементно.
  2. Размещение документов целиком.
  3. Гибридный подход.

Размещение документов поэлементно

В этом случае данные хранятся в традиционном реляционном представлении в таблицах ASE. При запросе к базе происходит выборка данных из всех таблиц и формирование XML-документа. При записи в базу происходит обратная операция — разбор XML и распределение данных по таблицам. Этот подход рекомендуется применять в случаях, когда происходит интенсивное изменение информации (например, в системах «банк—клиент»).

Достоинством использования указанного подхода является поддержка ссылочной целостности на уровне базы данных и использования языка Transact-SQL для формирования и разбора XML-документа (применение функций SUBSTR, CONVERT и т.д.), а недостатком — необходимость проведения синтаксического анализа XML-документа каждый раз при его сборке/разборке.

Размещение документов целиком

Документ целиком хранится в таблице, содержащей одну колонку типа image или text. Такой способ хранения документов подходит для тех случаев, когда их содержание статично, а любое обновление сводится к перезаписи в базе данных. Типичные примеры указанных документов — статьи, каталоги, прайс-листы и т.п., то есть документы в самом обычном значении этого слова, которые и хранятся в базе данных, и извлекаются по запросу целиком.

Для хранения синтаксически разобранных (проанализированных) документов необходимо использовать поля типа Image, поскольку в случае, если документ хранится в поле типа text, то ASE 12.5 будет автоматически производить анализ документа при обращении к нему.

Достоинство этого подхода — быстрый возврат по запросу законченного XML-документа. Недостаток состоит в том, что на поиск необходимого документа затрачивается длительное время.

Гибридный подход

Гибридный подход предусматривает создание уникального ключевого поля в таблице для каждого XML-документа. Это обеспечивает быстрый доступ к необходимому документу.

Понятие XQL

Для работы с XML-документами в ASE реализован интерфейс языка XQL (XML Query Language).

XQL был специально разработан в качестве основного языка запросов для фильтрации и выбора данных из XML-документов. Несмотря на то что этот язык еще сравнительно молод и пока не имеет стандарта, он уже получил поддержку со стороны Web-консорциума, и многие промышленные приложения используют его при работе с XML.

Это достаточно краткий и понятный язык, наиболее привлекательный для современных СУБД. Рассмотрим некоторые из его операторов, которые будут использоваться в примерах, приводимых в данной статье.

Операторы уровня иерархии ‘/’ и ‘//’

Конструкция /bookstore/book/title позволяет получить новый XML-документ, содержащий в себе список названий всех книг, которые хранятся на складе. Аналогичный документ вернет конструкция /bookstore//titlе.

Оператор фильтра “[]”

Этот оператор позволяет создать новый документ, содержащий в себе только необходимое подмножество данных:

В данном примере будет создан новый документ, содержащий в себе список названий книг, автором которых является Mary.

Реализация XQL в ASE 12.5

Как уже отмечалось выше, XQL реализован в ASE в виде Java-класса xml.xql, в котором содержатся методы для анализа и выполнения запросов к XML. Этот класс может выполняться на любой виртуальной машине Java, которую поддерживает ASE, и поэтому может использоваться для написания клиентских приложений для работы с XML на рабочих местах вне сервера.

Класс содержит два основных метода:

  • Parse() — для анализа XML;
  • Query() — для выполнения запросов к XML.

Метод parse()


В зависимости от передаваемых параметров этот метод имеет два варианта (рис. 1).

Parse() с параметром String — это статический метод для анализа XML и преобразования его во внутренний формат Sybase. В качестве параметра используется строковый параметр Java String:

Parse() с параметром InputStream — в качестве аргумента берется InputStream, то есть для работы с документами, поступающими извне:

URL fileURL;
fileURL = new URL(“http://xml.mysite.com/order.xml”);
InputStream inputXML;
SybXmlStream xmlStream;
inputXML = fileURL.openStream();
xmlStream = xml.Xql.parse(inputXML);

Результатом выполнения метода parse() является объект класса SybXmlStream, содержащий оптимизированную индексную структуру XML-документа внутри ASE. Такое внутреннее представление решает проблему снижения производительности сервера при одновременной работе нескольких пользователей с одним XML-документом, размер которого составляет несколько мегабайт.

Метод query()

Этот метод служит для выполнения запросов к XML-документам и имеет два аргумента: строка XQL-запроса и XML-документ. Результатом выполнения является XML-документ с корневым элементом … . В зависимости от типа передаваемых параметров имеет четыре варианта (рис. 2).

Query() c параметром String — этот статический метод выполняет запрос к XML-документу, содержащемуся в строке:

Query() с параметром InputStream — этот метод выполняет запрос к XML-документу, который хранится в файле на диске:

FileInputStream xmlStream = new FileInputStream(“bookstore.xml”);
String result = Xql.query(“/bookstore/book/author”, xmlStream);

или находится в Интернете (в этом случае используется объект URL):

URL xmlURL = new URL(“http://mybookstore.amazon.com/bookstore.xml”);
String result = Xql.query(“/bookstore/book/author”, xmlURL.openStream());

Query() с параметром SybXmlStream — принимает в качестве параметра объект класса SybXmlStream. Типичный сценарий использования этого варианта:

SybXmlStream xmlStream = xml.Xql.parse(“”);
String result = xml.Xql.query(“/bookstore/book/author”, xmlStream);

Query() с параметром JXml — класс JXml применяется в текущей версии ASE 12.0 как Java-объект для хранения и работы с XML-документами. Если в базе уже имеются документы, разработанные с помощью данного класса, то работу с ними можно производить с помощью XQL:

JXml xDoc = new JXml(“”);
String result = Xql.query( “/bookstore/book/author”, xDoc);

Интеграция SQL с XQL в ASE 12.5

Над документами, хранящимися в базе данных XML, можно выполнять четыре основные операции: INSERT, DELETE, UPDATE и SELECT.

Добавим в нее документ:

Удалим из таблицы все записи, содержащие XML-документы, в которых упоминается имя автора Karl:

Delete from XMLDAT
Where
xml.Xql.query(“/bookstore/book[autor/first-name=‘Karl’], xmlcol ) != xml.xql.EmptyResult

Переменная EmptyResult содержит пустой XML-документ в виде .

Аналогично можно выполнить изменение документов:

Как SQL выполняет запрос к реляционным данным, так и XQL выполняет запросы к данным, которые хранятся в XML-документе:

Select
xml.Xql.query(“/bookstore/book[autor/first-name=‘Mary’], xmlcol )
from XMLDAT
Where
xml.Xql.query(“/bookstore/book[autor/first-name=‘Mary’], xmlcol ) != xml.xql.EmptyResult

Приведенная конструкция оператора SELECT выбирает из таблицы все строки, где содержатся XML-документы с автором Mary, а затем формирует список книг, автором которых является Mary.

Поддержка XML в ASE позволяет разработчикам создавать эффективные решения в области обмена деловой информацией между различными приложениями. Хранение XML-документов в базе облегчает работу Web-дизайнерам, которым приходится рисовать сотни HTML-страниц с одинаковым содержанием, но с разными способами представления данных. Используя поддержу Java в ASE, можно создавать собственные классы для обработки специфических XML-документов. Все вышеописанные, а также другие решения, предлагаемые компанией Sybase, позволяют ASE стать надежной основой для построения систем электронной коммерции и создания единого информационного портала предприятия.

За дополнительной информацией обращайтесь в компанию Interface Ltd.

Новые книги

Рассказывается о ведущем поисковом ресурсе российской части Интернета — Яндексе. Описаны его сервисы для поиска документов и новостей, блогов и адресов, товаров и музыкальных произведений. Рассмотрены почтовый сервис и сервис для создания и размещения сайтов на Народ. ру. Читатель узнает о том, что такое «электронные деньги» и как с их помощью оплатить товар. Большое внимание уделяется общедоступным поисковым программам, которые Яндекс предлагает своим посетителям для поиска информации не только на сайтах, но и на своем компьютере. На компакт-диске находятся программы Яндекса, описанные в книге, и дополнительные материалы.

Для начинающих пользователей Интернета.

В книге даны ответы на часто задаваемые вопросы начинающих предпринимателей. Материалы книги позволят вам пошагово организовать дистанционную работу. Здесь рассмотрены различные виды бизнеса – как с финансовыми вложениями, так и без таковых. Дистанционный бизнес предполагает целый ряд особенностей: организация работы; ведение бухгалтерского и налогового учета; особенности заключения договоров, а также реклама этого вида деятельности. Простые рекомендации помогут не только организовать дистанционный бизнес для получения дополнительной прибыли, но и сделать ваше предприятие высокорентабельным.

Преобразование объектов базы данных SAP ASE (SybaseToSQL) Converting SAP ASE database objects (SybaseToSQL)

После подключения к SAP Adaptive Server Enterprise (ASE), подключенных к SQL Server SQL Server или Azure SQL и задание проекта и параметры сопоставления данных, можно преобразовать объекты базы данных SAP Adaptive Server Enterprise (ASE) для SQL Server SQL Server или базы данных Azure SQL объекты. After you have connected to SAP Adaptive Server Enterprise (ASE), connected to SQL Server SQL Server or Azure SQL and set project and data mapping options, you can convert SAP Adaptive Server Enterprise (ASE) database objects to SQL Server SQL Server or Azure SQL database objects.

Процесс преобразования The conversion process

Преобразование объектов базы данных принимает определения объектов из ASE, преобразует их в аналогичные SQL Server SQL Server или SQL Azure объектов и затем загружает эту информацию в метаданные SSMA. Converting database objects takes the object definitions from ASE, converts them to similar SQL Server SQL Server or SQL Azure objects, and then loads this information into the SSMA metadata. Она не загружает данные в экземпляр SQL Server SQL Server или Azure SQL. It does not load the information into the instance of SQL Server SQL Server or Azure SQL. Затем можно просмотреть объекты и их свойства с помощью SQL Server SQL Server или обозреватель метаданных SQL Azure. You can then view the objects and their properties by using the SQL Server SQL Server or Azure SQL Metadata Explorer.

Во время преобразования, SSMA печатает выходные сообщения для вывода области и сообщения об ошибках для список ошибок области. During the conversion, SSMA prints output messages to the Output pane and error messages to the Error List pane. Используйте выходные данные и сведения об ошибке, чтобы определить, нужно ли изменять баз данных вашего ASE или процесс преобразования, чтобы получить результаты требуемое преобразование. Use the output and error information to determine whether you have to modify your ASE databases or your conversion process to obtain the desired conversion results.

Установка параметров преобразования Setting conversion options

Прежде чем выполнять преобразование объектов, просмотрите параметры преобразования проекта в параметры проекта диалоговое окно. Before converting objects, review the project conversion options in the Project Settings dialog box. В этом диалоговом окне, можно задать как SSMA преобразует функции и глобальные переменные. By using this dialog box, you can set how SSMA converts functions and global variables. Дополнительные сведения см. в разделе параметры проекта (преобразования) (SybaseToSQL). For more information, see Project Settings (Conversion) (SybaseToSQL).

Преобразование объектов базы данных ASE Converting ASE database objects

Для преобразования объектов базы данных среды ASE, сначала выбрать объекты, которые требуется выполнить преобразование и затем SSMA выполнить преобразование. To convert ASE database objects, first select the objects you want to convert, and then have SSMA perform the conversion. Просмотр выходных сообщений во время преобразования, на представление меню, выберите вывода. To view output messages during the conversion, on the View menu, select Output.

Для преобразования объектов ASE синтаксису SQL Server или SQL Azure To convert ASE objects to SQL Server or SQL Azure syntax

В обозревателе метаданных Sybase, разверните узел сервера ASE и раскройте баз данных. In Sybase Metadata Explorer, expand the ASE server, and then expand Databases.

Выберите объекты для преобразования: Select objects to convert:

Чтобы преобразовать все базы данных, установите флажок рядом с полем баз данных. To convert all databases, select the check box next to Databases.

Чтобы преобразовать или пропускать базы данных, установите или снимите флажок рядом с именем базы данных. To convert or omit a database, select or clear the check box next to the database name.

Чтобы преобразовать или пропустить отдельные схемы, разверните базу данных, разверните узел схемыи затем установите или снимите флажок рядом с схемы. To convert or omit individual schemas, expand the database, expand Schemas, and then select or clear the check box next to the schema.

Для преобразования или пропустить категории объектов, Развернем схему и затем установите или снимите флажок рядом с категорией. To convert or omit a category of objects, expand the schema, and then select or clear the check box next to the category.

Чтобы преобразовать или исключить отдельные объекты, разверните папку «категория» и выберите или снимите флажок рядом с объектом. To convert or omit individual objects, expand the category folder, and then select or clear the check box next to the object.

Для преобразования всех выбранных объектов, щелкните правой кнопкой мыши баз данных, а затем выберите преобразования схемы. To convert all selected objects, right-click Databases, and then select Convert Schema.

Можно также преобразовать отдельных объектов или категории объектов, щелкнув правой кнопкой мыши объект или содержащей его папки, а затем выбрав преобразования схемы. You can also convert individual objects or categories of objects by right-clicking the object or its containing folder, and then selecting Convert Schema.

Некоторые функции системы SAP ASE не совпадают в эквивалентные функции системы SQL Server в поведении. Some of the SAP ASE system functions do not exactly match the equivalent SQL Server system functions in behavior. Чтобы эмулировать режим SAP ASE, SSMA создает определяемые пользователем функции в преобразованную базу данных SQL Server в разделе Схема с именем «s2ss». To emulate the SAP ASE behavior, SSMA generates User Defined functions in the converted SQL Server database under a schema called ‘s2ss’. В зависимости от параметров проекта некоторые функции SQL Server system заменяются эти эмулированные функции. Depending on the project settings, some of the SQL Server system functions are replaced with these emulated functions. SSMA создает определяемые пользователем функции: SSMA creates the following user-defined functions:

char_length_nvarchar char_length_nvarchar index_colorder index_colorder ssma_datepart ssma_datepart
char_length_varchar char_length_varchar inttohex inttohex substring_nvarchar substring_nvarchar
charindex_nvarchar charindex_nvarchar ssma_datediff ssma_datediff substring_varbinary substring_varbinary
charindex_varchar charindex_varchar hextoint hextoint substring_varchar substring_varchar
ulowsurr ulowsurr to_unichar to_unichar ssma_current_time ssma_current_time
uhighsurr uhighsurr

Объекты, не поддерживаемые в Azure SQL Objects not supported in Azure SQL

T-SQL используются следующие ключевые слова с SSMA для SAP ASE при преобразовании в SQL Server в локальной, но эти ключевые слова не поддерживаются в синтаксисе SQL Azure T-SQL: The following T-SQL keywords are used by SSMA for SAP ASE during conversion to SQL Server on-premises, but these keywords are not supported by SQL Azure T-SQL syntax:

CHECKPOINT CHECKPOINT CREATE/ALTER/DROP DEFAULT CREATE/ALTER/DROP DEFAULT CREATE/DROP RULE CREATE/DROP RULE
DBCC TRACEOFF DBCC TRACEOFF DBCC TRACEON DBCC TRACEON GRANT/REVOKE/DENY ALL GRANT/REVOKE/DENY ALL
KILL KILL READTEXT READTEXT SELECT INTO SELECT INTO
SET OFFSETS SET OFFSETS SETUSER SETUSER SHUTDOWN SHUTDOWN
WRITETEXT WRITETEXT

Просмотр проблемы с преобразованием Viewing conversion problems

Некоторые объекты SAP ASE, не может преобразовать. Some SAP ASE objects might not convert. Успех конверсии можно определить, просмотрев отчет сводки преобразования. You can determine the conversion success rates by viewing the summary conversion report.

Чтобы просмотреть сводный отчет To view a summary report

Выберите в обозревателе метаданных Sybase баз данных. In Sybase Metadata Explorer, select Databases.

В области справа выберите отчетов вкладки. In the right pane, select the Report tab.

Этот отчет показывает отчет об оценке сводки для всех объектов базы данных, оценивается ли или преобразованы. This report shows the summary assessment report for all database objects that have been assessed or converted. Можно также просмотреть сводный отчет по отдельным объектам: You can also view a summary report for individual objects:

Чтобы просмотреть отчет для отдельной базы данных, выберите базу данных в обозревателе метаданных Sybase. To view the report for an individual database, select the database in Sybase Metadata Explorer.

Чтобы просмотреть отчет для отдельной базы данных объект, выберите объект в обозревателе метаданных Sybase. To view the report for an individual database object, select the object in Sybase Metadata Explorer. Объекты, имеющие проблемы с преобразованием иметь красный значок ошибки. Objects that have conversion problems have a red error icon.

Для объектов, которые не удалось выполнить преобразование можно просмотреть синтаксис, вызвавшую ошибку преобразования. For objects that failed conversion, you can view the syntax that resulted in the conversion failure.

Для просмотра отдельных преобразования проблем To view individual conversion problems

В обозревателе метаданных Sybase разверните баз данных. In Sybase Metadata Explorer, expand Databases.

Разверните базу данных, показывающий красный значок ошибки. Expand the database that shows a red error icon.

Разверните схемы папку, а затем разверните схему, которая показывает красный значок ошибки. Expand the Schemas folder, and then expand the schema that shows a red error icon.

В области схемы разверните папку с красным значком ошибки. Under the schema, expand a folder that has a red error icon.

Выберите объект, который имеет красный значок ошибки. Select the object that has a red error icon.

В области справа выберите отчетов вкладки. In the right pane, select the Report tab.

В верхней части отчетов вкладка — стрелку раскрывающегося списка. At the top of the Report tab is a drop-down list. Если в списке отображается статистики, выделение источника. If the list shows Statistics, change the selection to Source.

SSMA отобразит исходный код и несколько кнопок, расположенный непосредственно над кодом. SSMA will display the source code and several buttons immediately above the code.

Выберите следующая проблема, красный значок ошибки со стрелкой вправо. Select Next Problem, a red error icon with an arrow pointing to the right.

SSMA для SAP ASE будут выделите первый проблемных исходного кода, найденных в текущем объекте. SSMA for SAP ASE will highlight the first problematic source code it finds in the current object.

Для каждого элемента, которые не могут быть преобразованы необходимо определить, что нужно сделать с помощью этого объекта: For each item that could not be converted, you have to determine what you want to do with that object:

Можно изменить исходный код для процедур и триггеров на SQL вкладки. You can edit the source code for procedures and triggers on the SQL tab.

Можно изменить объект SAP ASE, чтобы удалить или изменить неисправного кода. You can alter the SAP ASE object to remove or revise problematic code. Чтобы загрузить обновленный код в SSMA, необходимо обновить метаданные. To load the updated code into SSMA, you have to update the metadata. Дополнительные сведения см. в разделе подключении к SAP ASE (SybaseToSQL). For more information, see Connecting to SAP ASE (SybaseToSQL).

Объект можно исключить из миграции. You can exclude the object from migration. В SQL Server SQL Server или обозреватель метаданных SQL Azure и обозреватель метаданных Sybase, снимите флажок рядом с элементом перед загрузкой объектов в SQL Server SQL Server или Azure SQL, так и перенос данных из SAP ASE. In SQL Server SQL Server or Azure SQL Metadata Explorer and Sybase Metadata Explorer, clear the check box next to the item before loading the objects into SQL Server SQL Server or Azure SQL and migrating data from SAP ASE.

Илон Маск рекомендует:  Что нового в версии 4 0
Понравилась статья? Поделиться с друзьями:
Кодинг, CSS и SQL