Что такое код sybase_field_seek

Содержание

Из базы данных Sybase, как я могу получить описание таблицы (имена полей и типы)?

У меня есть доступ к командной строке isql, и мне нравится получать метаданные всех таблиц данной базы данных, возможно, в форматированном файле. Как я могу это достичь?

Здесь приведена схема системных таблиц Sybase.

Список всех пользовательских таблиц:

Вы можете изменить «U» на другие объекты:

  • C — вычисленный столбец
  • D — по умолчанию
  • Функция F — SQLJ
  • L — log
  • N — условие раздела
  • P — процедура Transact-SQL или SQLJ
  • PR — подготовить объекты (созданные Dynamic SQL)
  • R — правило
  • RI — ссылочное ограничение
  • S — системная таблица
  • TR — триггер
  • Таблица U-user
  • V — просмотр
  • XP — расширенная хранимая процедура

Список столбцов в таблице:

sp_help — это то, что вы ищете.

Из онлайн-документации Sybase в системной процедуре sp_help:

Сообщает информацию о объекте базы данных (любой объект, указанный в sysobjects) и о системных или пользовательских типах данных, а также о вычисляемых столбцах и функциональных индексах. В столбце отображается optimistic_index_lock.

Синтаксис

Вот (частичный) вывод для таблицы издателей (вставка из Использование sp_help для объектов базы данных):

Если вы выполняете sp_help без предоставления имени объекта, итоговый отчет показывает каждый объект в sysobjects вместе с его именем, владельцем и типом объекта. Также показан каждый пользовательский тип данных в systypes и его имя, тип хранилища, длина, допустимые значения null и любые связанные с ним значения по умолчанию или правила. В отчете также указывается, были ли определены столбцы первичного или внешнего ключа для таблицы или представления.

Что такое код sybase_field_seek

(PHP 3, PHP 4, PHP 5)

sybase_field_seek — Sets field offset

Description bool sybase_field_seek ( resource result, int field_offset )

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Пред. Начало След.
sybase_fetch_row Уровень выше sybase_free_result

Если Вы не нашли что искали, то рекомендую воспользоваться поиском по сайту:

Из базы данных Sybase, как я могу получить описание таблицы (имена полей и типы)?

У меня есть доступ к командной строке isql, и мне нравится получать метаданные всех таблиц данной базы данных, возможно, в форматированном файле. Как я могу это достичь?

Здесь приведена схема системных таблиц Sybase.

Список всех пользовательских таблиц:

Вы можете изменить «U» на другие объекты:

  • C — вычисленный столбец
  • D — по умолчанию
  • Функция F — SQLJ
  • L — log
  • N — условие раздела
  • P — процедура Transact-SQL или SQLJ
  • PR — подготовить объекты (созданные Dynamic SQL)
  • R — правило
  • RI — ссылочное ограничение
  • S — системная таблица
  • TR — триггер
  • Таблица U-user
  • V — просмотр
  • XP — расширенная хранимая процедура

Список столбцов в таблице:

sp_help — это то, что вы ищете.

Из онлайн-документации Sybase в системной процедуре sp_help:

Сообщает информацию о объекте базы данных (любой объект, указанный в sysobjects) и о системных или пользовательских типах данных, а также о вычисляемых столбцах и функциональных индексах. В столбце отображается optimistic_index_lock.

Синтаксис

Вот (частичный) вывод для таблицы издателей (вставка из Использование sp_help для объектов базы данных):

Если вы выполняете sp_help без предоставления имени объекта, итоговый отчет показывает каждый объект в sysobjects вместе с его именем, владельцем и типом объекта. Также показан каждый пользовательский тип данных в systypes и его имя, тип хранилища, длина, допустимые значения null и любые связанные с ним значения по умолчанию или правила. В отчете также указывается, были ли определены столбцы первичного или внешнего ключа для таблицы или представления.

Руководство по рнр 0 Перевод Всероссийского Клуба Вебмастеров

Название Руководство по рнр 0 Перевод Всероссийского Клуба Вебмастеров
страница 82/107
Дата 03.09.2012
Размер 6.42 Mb.
Тип Руководство

sybase_field_seek

Описание

int sybase_field_seek(int result, int field_offset);

Переходит к указанному столбцу. Если при следующем вызове sybase_fetch_field() не будет указан конкретный номер столбца, то будет возвращен этот столбец.

Смотри также: sybase_fetch_field().

sybase_free_result

Описание

int sybase_free_result(int result);

Функцию sybase_free_result() следует вызывать, только если вы хотите уменьшить объем используемой памяти во время выполнения скрипта. Все занимаемая память будет автоматически освобождена после завершения скрипта. Вы можете вызвать sybase_free_result() с идентификатором result в качестве параметра, и содержащая результаты выполнения этого запроса память будет освобождена.

sybase_num_fields

Описание

int sybase_num_fields(int result);

sybase_num_fields() возвращает число столбцов в результирующем наборе

Смотри также: sybase_db_query(), sybase_query(), sybase_fetch_field(), sybase_num_rows().

sybase_num_rows

Описание

int sybase_num_rows(string result);

sybase_num_rows() rвозвращает число строк в результирующем наборе

Смотри также: sybase_db_query(), sybase_query() и sybase_fetch_row().

sybase_pconnect

Описание

int sybase_pconnect(string servername, string username, string password);

Возвращает: Идентификатор соединения с Sybase-сервером (положительное число) или false в случае ошибки

Функция sybase_pconnect() выполняется практически аналогично sybase_connect() с двумя главными отличиями:

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

Во-вторых, соединение с SQL-сервером не завершается после выполнения скрипта. Вместо этого, оно остается открытым для последующего использования. (Функция sybase_close() не закрывает соединения, установленные с помощью sybase_pconnect()).

Поэтому этот тип соединений называется ‘постоянным’.

sybase_query

Описание

int sybase_query(string query, int link_identifier);

Возвращает: в случае успеха- идентификатор результирующего набора данных (положительное число), или false- в случае ошибки.

Функция sybase_query() посылает запрос к текущей открытой базе данных на сервере, заданном иденитификатором link_identifier. Если этот идентификатор не указан, то используется соединение, открытое последним. Если нет ни одного соединения, то функция пытается установить новое ( как если бы была вызвана sybase_connect()), и затем его использовать.

Смотри также: sybase_db_query(), sybase_select_db() и sybase_connect().

Что такое код sybase_field_seek

sybase_affected_rows — возвращает число строк, измененных последним запросом

Описание

int sybase_affected_rows (int [link_identifier] );

Возвращает: Число строк,измененных последним запросом.

Функция sybase_affected_rows() возвращает число строк, участвовавших в запросе вида INSERT, UPDATE или DELETE к серверу, указанному с помощью идентификтора соединения (link_identifier). Если идентификатор не задан, используется соединение, открытое последним.

Эта команда работает только с операторами, изменяющими записи. Для получения числа записей, возвращаемых оператором SELECT следует использовать функцию sybase_num_rows().

sybase_close

sybase_close — завершает соединение с Sybase

Описание

int sybase_close (int link_identifier);

возвращет: true — в случае успеха, false — в случае ошибки

Функция sybase_close() завершает соединение с базой данных Sybase, обозначенное с помощью идентификатора соединения. Если он не указан, используется соединение, открытое последним.

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

Функция sybase_close() не завершает постоянные соединения, открытые с помощью sybase_pconnect().

sybase_connect

sybase_connect — устанавливает соединение с Sybase — сервером

Описание

int sybase_connect (string servername, string username, string password);

Возвращает: В случае успеха: идентификатор соединения (положительное число), в противном случае — false.

Функция sybase_connect() устанавливает соединение с Sybase-сервером. Параметр ‘servername’ должен содержать существующее имя сервера, определенное в файле ‘interfaces’.

Если функция sybase_connect() будет вызвана повторно с теми же параметрами, то новое соединение не установится, а будет возвращен идентификатор уже открытого соединения.

Соединение с сервером будет закрыто после завершения скрипта или раньше, посредством явного вызова функции sybase_close().

sybase_data_seek

sybase_data_seek — перемещает внутренний указатель записей

Описание

int sybase_data_seek (int result_identifier, int row_number);

Возвращает: true -в случае успеха, иначе — false

Функция sybase_data_seek() перемещает внутренний указатель в результирующем наборе записей, заданном с помощью идентификатора result_identifier, на строку с номером row_number. При последующем вызове функции sybase_fetch_row() будет извлечена эта строка.

Илон Маск рекомендует:  XPath + PHP – примеры использования запросов и функций

Смотри также: sybase_data_seek().

sybase_fetch_array

sybase_fetch_array — извлекает строку в виде массива

Описание

int sybase_fetch_array (int result);

Возвращает: Массив, содержащий извлеченную из набора данных строку или false — если строк больше нет.

Функция sybase_fetch_array() является расширенной версией функции sybase_fetch_row(). Доступ к элементам массива возможен не только по номерам , но и по именам столбцов таблицы.

Необходимо отметить, что функция sybase_fetch_array() работат НЕ намного МЕДЛЕННЕЕ, чем sybase_fetch_row(), и предоставляет дополнительные возможности по сравнению с последней.

sybase_fetch_field

sybase_fetch_field —получает информацию о столбце из набора данных

Description

object sybase_fetch_field (int result, int field_offset);

Возвращает объект, содержащий информацию о столбце

Функцию sybase_fetch_field() можно использовать для получения данных о столбцах результирующего набора result. Если смещение (номер) столбца в таблице (field_offset) не указано, то при каждом вызове sybase_fetch_field() будет извлекаться информация о следующем по порядку столбце.

  • name — имя столбца. Если столбец является вычслимым, то это свойство принимает значение computed#N, где #N — это порядковый номер;
  • column_source — таблица, которой принадлежит данный столбец;
  • max_length — максимальная длина столбца;
  • numeric — 1, если столбец — числовой;

sybase_fetch_object

sybase_fetch_object —извлекает строку в виде объекта

Описание

int sybase_fetch_object (int result);

Возвращает: Объект, свойства которого соответствуют извлеченной из набора данных строке, или false — если сторк больше нет.

Функция sybase_fetch_object() аналогична sybase_fetch_array() за одним исключением — она возвращает объект, а не массив. Фактически это означает, что доступ к данным осществляется по именам столбцов, а не по их смещению в строке (числовые значения не могут быть именами свойств).

С точки зрения скорости выполнения эта функция идентична sybase_fetch_array(), и работает практически также быстро, как и sybase_fetch_row() (разница в скорости незначительна).

sybase_fetch_row

sybase_fetch_row — получает строку в виде пронумерованного массива

Описание

array sybase_fetch_row (int result);

Возвращает: Массив, соответствующий извлеченной строку, или false — если строк больше нет.

Функция sybase_fetch_row() извлекает строку данных из результирующего набора, заданного идентификатором result .Строка возвращается в виде массива. Каждый столбец хранится в виде элемента массива. Нумерация элементов начинается с 0.

Последующий вызов функции sybase_fetch_rows() вернет следующую строку запроса, или false, если строк больше нет.

sybase_field_seek

sybase_field_seek — указывает смещение (номер) столбца в строке

Описание

int sybase_field_seek (int result, int field_offset);

Переходит к указанному столбцу. Если при следующем вызове sybase_fetch_field() не будет указан конкретный номер столбца, то будет возвращен этот столбец.

sybase_free_result

sybase_free_result —освобождает память, занятую результирующим набором данных

Описание

int sybase_free_result (int result);

Функцию sybase_free_result() следует вызывать, только если вы хотите уменьшить объем используемой памяти во время выполнения скрипта. Все занимаемая память будет автоматически освобождена после завершения скрипта. Вы можете вызвать sybase_free_result() с идентификатором result в качестве параметра, и содержащая результаты выполнения этого запроса память будет освобождена.

sybase_num_fields

sybase_num_fields — получает число столбцов в результирующем наборе данных

Описание

int sybase_num_fields (int result);

sybase_num_fields() возвращает число столбцов в результирующем наборе

sybase_num_rows

sybase_num_rows — получает число столбцов в результирующем наборе данных

Описание

int sybase_num_rows (string result);

sybase_num_rows() rвозвращает число строк в результирующем наборе

sybase_pconnect

sybase_pconnect — открывает постоянное соединение с Sybase-сервером

Описание

int sybase_pconnect (string servername, string username, string password);

Возвращает: Идентификатор соединения с Sybase-сервером (положительное число) или false в случае ошибки

Функция sybase_pconnect() выполняется практически аналогично sybase_connect() с двумя главными отличиями:

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

Во-вторых, соединение с SQL-сервером не завершается после выполнения скрипта. Вместо этого, оно остается открытым для последующего использования. (Функция sybase_close() не закрывает соединения, установленные с помощью sybase_pconnect()).

Поэтому этот тип соединений называется ‘постоянным’.

sybase_query

sybase_query — посылает запрос на Sybase-сервер

Описание

int sybase_query (string query, int link_identifier);

Возвращает: в случае успеха- идентификатор результирующего набора данных (положительное число), или false- в случае ошибки.

Функция sybase_query() посылает запрос к текущей открытой базе данных на сервере, заданном иденитификатором link_identifier. Если этот идентификатор не указан, то используется соединение, открытое последним. Если нет ни одного соединения, то функция пытается установить новое ( как если бы была вызвана sybase_connect()), и затем его использовать.

sybase_result

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

Описание

int sybase_result (int result, int i, mixed field);

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

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

При работе с большими наборами данных следует использовать функции (перечисленные ниже), которые извлекают из таблицы всю строку целиком. Поскольку эти функции за один вызов возвращают несколько ячеек данных, они работают ГОРАЗДО быстрее, чем sybase_result(). Кроме того, надо отметить, что скорость выполнения будет гораздо выше, если указывать числовое смещение столбца, а не параметр вида имя_столбца.имя_таблицы.

sybase_select_db

sybase_select_db — выбирает базу данных Sybase

Описание

int sybase_select_db (string database_name, int link_identifier);

Возвращает: true — в случае успеха, false — в случае ошибки

Функция sybase_select_db() устаналивает активную базу данных на сервере, заданном идентификатором link_identifier. Если это идентификатор не указан, то используется соединение, открытое последним. Если нет открытых соединений, то функция попытается установить новое (как если бы была вызвана sybase_connect()) и затем его использовать.

Все последующие вызовы sybase_query() будут работать с данной активной базой данных.

Что такое код sybase_field_seek

sybase_affected_rows — возвращает число строк, измененных последним запросом

Описание

int sybase_affected_rows (int [link_identifier] );

Возвращает: Число строк,измененных последним запросом.

Функция sybase_affected_rows() возвращает число строк, участвовавших в запросе вида INSERT, UPDATE или DELETE к серверу, указанному с помощью идентификтора соединения (link_identifier). Если идентификатор не задан, используется соединение, открытое последним.

Эта команда работает только с операторами, изменяющими записи. Для получения числа записей, возвращаемых оператором SELECT следует использовать функцию sybase_num_rows().

sybase_close

sybase_close — завершает соединение с Sybase

Описание

int sybase_close (int link_identifier);

возвращет: true — в случае успеха, false — в случае ошибки

Функция sybase_close() завершает соединение с базой данных Sybase, обозначенное с помощью идентификатора соединения. Если он не указан, используется соединение, открытое последним.

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

Функция sybase_close() не завершает постоянные соединения, открытые с помощью sybase_pconnect().

sybase_connect

sybase_connect — устанавливает соединение с Sybase — сервером

Описание

int sybase_connect (string servername, string username, string password);

Возвращает: В случае успеха: идентификатор соединения (положительное число), в противном случае — false.

Функция sybase_connect() устанавливает соединение с Sybase-сервером. Параметр ‘servername’ должен содержать существующее имя сервера, определенное в файле ‘interfaces’.

Если функция sybase_connect() будет вызвана повторно с теми же параметрами, то новое соединение не установится, а будет возвращен идентификатор уже открытого соединения.

Соединение с сервером будет закрыто после завершения скрипта или раньше, посредством явного вызова функции sybase_close().

sybase_data_seek

sybase_data_seek — перемещает внутренний указатель записей

Описание

int sybase_data_seek (int result_identifier, int row_number);

Возвращает: true -в случае успеха, иначе — false

Функция sybase_data_seek() перемещает внутренний указатель в результирующем наборе записей, заданном с помощью идентификатора result_identifier, на строку с номером row_number. При последующем вызове функции sybase_fetch_row() будет извлечена эта строка.

Смотри также: sybase_data_seek().

sybase_fetch_array

sybase_fetch_array — извлекает строку в виде массива

Описание

int sybase_fetch_array (int result);

Возвращает: Массив, содержащий извлеченную из набора данных строку или false — если строк больше нет.

Функция sybase_fetch_array() является расширенной версией функции sybase_fetch_row(). Доступ к элементам массива возможен не только по номерам , но и по именам столбцов таблицы.

Необходимо отметить, что функция sybase_fetch_array() работат НЕ намного МЕДЛЕННЕЕ, чем sybase_fetch_row(), и предоставляет дополнительные возможности по сравнению с последней.

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

sybase_fetch_field

sybase_fetch_field —получает информацию о столбце из набора данных

Description

object sybase_fetch_field (int result, int field_offset);

Возвращает объект, содержащий информацию о столбце

Функцию sybase_fetch_field() можно использовать для получения данных о столбцах результирующего набора result. Если смещение (номер) столбца в таблице (field_offset) не указано, то при каждом вызове sybase_fetch_field() будет извлекаться информация о следующем по порядку столбце.

  • name — имя столбца. Если столбец является вычслимым, то это свойство принимает значение computed#N, где #N — это порядковый номер;
  • column_source — таблица, которой принадлежит данный столбец;
  • max_length — максимальная длина столбца;
  • numeric — 1, если столбец — числовой;

sybase_fetch_object

sybase_fetch_object —извлекает строку в виде объекта

Описание

int sybase_fetch_object (int result);

Возвращает: Объект, свойства которого соответствуют извлеченной из набора данных строке, или false — если сторк больше нет.

Функция sybase_fetch_object() аналогична sybase_fetch_array() за одним исключением — она возвращает объект, а не массив. Фактически это означает, что доступ к данным осществляется по именам столбцов, а не по их смещению в строке (числовые значения не могут быть именами свойств).

С точки зрения скорости выполнения эта функция идентична sybase_fetch_array(), и работает практически также быстро, как и sybase_fetch_row() (разница в скорости незначительна).

sybase_fetch_row

sybase_fetch_row — получает строку в виде пронумерованного массива

Описание

array sybase_fetch_row (int result);

Возвращает: Массив, соответствующий извлеченной строку, или false — если строк больше нет.

Функция sybase_fetch_row() извлекает строку данных из результирующего набора, заданного идентификатором result .Строка возвращается в виде массива. Каждый столбец хранится в виде элемента массива. Нумерация элементов начинается с 0.

Последующий вызов функции sybase_fetch_rows() вернет следующую строку запроса, или false, если строк больше нет.

sybase_field_seek

sybase_field_seek — указывает смещение (номер) столбца в строке

Описание

int sybase_field_seek (int result, int field_offset);

Переходит к указанному столбцу. Если при следующем вызове sybase_fetch_field() не будет указан конкретный номер столбца, то будет возвращен этот столбец.

sybase_free_result

sybase_free_result —освобождает память, занятую результирующим набором данных

Описание

int sybase_free_result (int result);

Функцию sybase_free_result() следует вызывать, только если вы хотите уменьшить объем используемой памяти во время выполнения скрипта. Все занимаемая память будет автоматически освобождена после завершения скрипта. Вы можете вызвать sybase_free_result() с идентификатором result в качестве параметра, и содержащая результаты выполнения этого запроса память будет освобождена.

sybase_num_fields

sybase_num_fields — получает число столбцов в результирующем наборе данных

Описание

int sybase_num_fields (int result);

sybase_num_fields() возвращает число столбцов в результирующем наборе

sybase_num_rows

sybase_num_rows — получает число столбцов в результирующем наборе данных

Описание

int sybase_num_rows (string result);

sybase_num_rows() rвозвращает число строк в результирующем наборе

sybase_pconnect

sybase_pconnect — открывает постоянное соединение с Sybase-сервером

Описание

int sybase_pconnect (string servername, string username, string password);

Возвращает: Идентификатор соединения с Sybase-сервером (положительное число) или false в случае ошибки

Функция sybase_pconnect() выполняется практически аналогично sybase_connect() с двумя главными отличиями:

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

Во-вторых, соединение с SQL-сервером не завершается после выполнения скрипта. Вместо этого, оно остается открытым для последующего использования. (Функция sybase_close() не закрывает соединения, установленные с помощью sybase_pconnect()).

Поэтому этот тип соединений называется ‘постоянным’.

sybase_query

sybase_query — посылает запрос на Sybase-сервер

Описание

int sybase_query (string query, int link_identifier);

Возвращает: в случае успеха- идентификатор результирующего набора данных (положительное число), или false- в случае ошибки.

Функция sybase_query() посылает запрос к текущей открытой базе данных на сервере, заданном иденитификатором link_identifier. Если этот идентификатор не указан, то используется соединение, открытое последним. Если нет ни одного соединения, то функция пытается установить новое ( как если бы была вызвана sybase_connect()), и затем его использовать.

sybase_result

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

Описание

int sybase_result (int result, int i, mixed field);

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

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

При работе с большими наборами данных следует использовать функции (перечисленные ниже), которые извлекают из таблицы всю строку целиком. Поскольку эти функции за один вызов возвращают несколько ячеек данных, они работают ГОРАЗДО быстрее, чем sybase_result(). Кроме того, надо отметить, что скорость выполнения будет гораздо выше, если указывать числовое смещение столбца, а не параметр вида имя_столбца.имя_таблицы.

sybase_select_db

sybase_select_db — выбирает базу данных Sybase

Описание

int sybase_select_db (string database_name, int link_identifier);

Возвращает: true — в случае успеха, false — в случае ошибки

Функция sybase_select_db() устаналивает активную базу данных на сервере, заданном идентификатором link_identifier. Если это идентификатор не указан, то используется соединение, открытое последним. Если нет открытых соединений, то функция попытается установить новое (как если бы была вызвана sybase_connect()) и затем его использовать.

Все последующие вызовы sybase_query() будут работать с данной активной базой данных.

Что такое код sybase_field_seek

Подскажите пожалуйста как и с помощью чего можно конвертировать бузу данных на Sybase в MSSQL или Access?

Тем же вопросом озадачен :)
1) Сделать в Power Designer Reverse engeneering из SYBASE и поднять эту структуру на MS SQL.
2) В MS SQL банальным DTS-ом.

А поподробнее можно? Я уже кучу дб едитов покачал и ничерта не работает!

Ну неужели ни кто не знает?

Имеем: набор данных в одной базе и необходимость создания того же самого но в другой базе.
Решение:
1) создаем таблицу той же структуры:
DataSet2.FieldDefs.Assign(DataSet1.FieldDefs);
DataSet2.IndexDefs.Assign(DataSet1.IndexDefs);
DataSet2.TableName:=DataSet1.TableName;
DataSet2.CreateTable;//ну или что-то такое. От компонента зависит.
2) переливаем данные.
DataSet2.Open;
While not (DataSet1.Eof) do //Ну типа сами знаете что перед этим будет
begin
DataSet2.Append;
for i:=0 to DataSet1.Fields.Count-1 do
begin
DataSet2.Fields[i].Value:=DataSet1.Fields[i].Value;
end;
DataSet12.Post;
end;

Ну да только для этого мне надо знать имя таблиц внутри базы. А у меня есть программа которая работает с базой данных фаил например database.db при установке этой программы устанавливается
Sybase SQL Anywhere 7 (Evaluation Copy). Судя по тому что видно в программе база достаточно сложная. И мне нужны не данные из неё а посмотреть какие в ней есть таблици и как они организованы тобишь какие типы данных и связи между таблицами. Я пробывал просто через Enterprise Manager экспортировать эту базу в MS SQl 2000 но ни черта не получилось.

Вообще при использовании хранимых процедур, триггеров и специфических возможностей сервера переделать можно только руками. Если ето вообще возможно.

Но у сибайса должно быть нечто вроде Enterprise Managerа как у mssql?


> посмотреть какие в ней есть таблици и как они организованы
> тобишь какие типы данных и связи между таблицами.

Дык вот я и говорю — сделать в Power Designer реверсинжиниринг базы и поднять потом ее в мс скл.

Попробую большое спасибо!

Всё делаю
Revers Engineer — Database. настраиваю базу данных он конектится а потом говорит что там ничего нет ни таблиц не юзеров.

Чтобы посмотреть структуру базы в Sybase существует Sybase Central — это тот самый менеджер. Вам надо найти файл scjview.exe, запустить, подключиться к базе и смотрите пожалуйста структуру таблиц и прочее.

Это я уже пробывал тут вообще прикол опять же всё прописываешь жмёшь ок и он пишет Sybase Central cannot connect to this database because it is older than version 6.0 а где мне взять версию младше?

А экспотрировать её через MS SQL 2000 не пробывал?


> Garmahis (03.02.04 17:30) [10]

Коннектишься через ODBC?

Кста. к сайбесу изумительно цепляется IM или кверианализер от MS SQL 70/2000.
только порты AFIR не 1433 а 1434. и Все живет своей жизнью ;)
потом с базой можно сделать все что угодно ;)

Илон Маск рекомендует:  Преобразование XML в массив

если у него есть ODBC драйвер то он замечательно зацепится и к access-у (на случай если MSSQL-я нет).


> tender (03.02.04 21:52) [15]

1433, 1434 — это как раз порты MS SQL, а вот для SYBASE (у нас, по крайней мере) — это 4100.


> изумительно цепляется IM или кверианализер от MS SQL 70/2000.

Не уверен, что это пройдет для всех версий SYBASE. Для 12-го Enterprise-а сейчас попробовал, не сработало :(

Nikolay M. © (04.02.04 09:02) [18]
а в аксессе линк/импорт таблиц не пробовал? раз уж у тебя есть SYBASE и ODBC драйвер предположительно.

снять текстовый дамп то есть выгрузить в текст все таблицы тригерры процедуры
в тригеррах и процедурах поправить различия синтаксиса
залить в мсскул
выгрузить данные в текст вида insert into table() values ()
и залить в мелкософт
для снятия текстовых дампов спользовалась написанная на перле программулина. Но написать подобное на тех же дельфях дело 1-го дня. (попутно и синтаксис в процедурах покорябать под МсСкул)
прекидявались таким способом базы из Sybase ASE в MSSQL2000

знакомые для подобной задачи использовали MsSql linked servers

С PowerDesigner ничего не получается.
Я запускаю Revers Engineer — Database.
Открывается окно New Physical Data Model
на закладке General я выбираю DBMS: MS Access 2000
Copy.
Ок
Открывается окно Datebase Reverse Engineering
на закладке Selection выбираю Using an ODBS data source
открывается окно Connect to an ODBS Data Source
выбираю Machine data source
из списка выбираю мою базу юdatabase (Adaptive Server Anywhere 7.0) логин и парооль проставляются самостоятельно.
Жму Connect
Запускается этот сервер с подключённой базой.
Я жму Ок и уменя открывается окно ODBS Reverse Engineering
но оно совершенно пустое.


> sniknik © (04.02.04 09:04) [19]

Нет, через аксесс пока не заморачивался :)
В конце концов, можно и через MTS перекинуть.


> на закладке General я выбираю DBMS: MS Access 2000

А ты выбери SYBASE, все равно потом изменить сможешь. Правда, у меня и для аксесса сработало.


> открывается окно ODBS Reverse Engineering
> но оно совершенно пустое

Создаешь новую Physical Data Model для Сайбейза, Ctrl+R, указываешь ODBC Data Source, указываешь нужную базу и всех юзеров, после этого видны все таблицы, вьюхи и тп.

В PowerDesigner выбирай DBMS Adaptive Server Anywhere 7.0, ты же не из MS Access 2000 реверс делаешь.

Если выбираю сервер то он потом говорит что ничего нет ни таблиц ничего.

А базу и всех юзеров в комбобоксах выбрал?

После указания ODBC-источника, откуда делать реверсинжиниринг появляется окошко, внизу которого — закладки с table/view/trigger/procedures и тп, а вверху — эти два комбобокса.

Я совсем нифига не понимаю! Фаил базы весит 17 мегов. Там базы по двум людям. Я набиваю ещё по двум а размер не увеличивается ни на один бит! Причём всё сохраняется и после перезапуска всю информацию можно просмотреть!

Garmahis (04.02.04 12:52) [31]
Я совсем нифига не понимаю! Фаил базы весит 17 мегов. Там базы по двум людям. Я набиваю ещё по двум а размер не увеличивается ни на один бит! Причём всё сохраняется и после перезапуска всю информацию можно просмотреть!

Было бы слишком накладно на каждый бздык увеличивать размеры хранилища. Поэтому размер увеличивается дискретно, на что имеется соответствующий параметр у любой уважающей себя БД.

Понятно. Люди может у когонить есть дистрибутивчик Adaptive Server Anywhere 5 ?


> Garmahis (04.02.04 12:50) [30]
> ага выбрал. (

И что? До сих пор ничего?
Или таблицы появились?

Что такое код sybase_field_seek

int sybase_field_seek(int result, int field_offset);

Переходит к указанному столбцу. Если при следующем вызове sybase_fetch_field() не будет указан конкретный номер столбца, то будет возвращен этот столбец.

Смотри также: sybase_fetch_field().

sybase_free_result

Описание

int sybase_free_result(int result);

Функцию sybase_free_result() следует вызывать, только если вы хотите уменьшить объем используемой памяти во время выполнения скрипта. Все занимаемая память будет автоматически освобождена после завершения скрипта. Вы можете вызвать sybase_free_result() с идентификатором result в качестве параметра, и содержащая результаты выполнения этого запроса память будет освобождена.

sybase_num_fields

Описание

int sybase_num_fields(int result);

sybase_num_fields() возвращает число столбцов в результирующем наборе

Смотри также: sybase_db_query(), sybase_query(), sybase_fetch_field(), sybase_num_rows().

sybase_num_rows

Описание

int sybase_num_rows(string result);

sybase_num_rows() rвозвращает число строк в результирующем наборе

Смотри также: sybase_db_query(), sybase_query() и sybase_fetch_row().

sybase_pconnect

Описание

int sybase_pconnect(string servername, string username, string password);

Возвращает: Идентификатор соединения с Sybase-сервером (положительное число) или false в случае ошибки

Функция sybase_pconnect() выполняется практически аналогично sybase_connect() с двумя главными отличиями:

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

Во-вторых, соединение с SQL-сервером не завершается после выполнения скрипта. Вместо этого, оно остается открытым для последующего использования. (Функция sybase_close() не закрывает соединения, установленные с помощью sybase_pconnect()).

Поэтому этот тип соединений называется ‘постоянным’.

sybase_query

Описание

int sybase_query(string query, int link_identifier);

Возвращает: в случае успеха- идентификатор результирующего набора данных (положительное число), или false- в случае ошибки.

Функция sybase_query() посылает запрос к текущей открытой базе данных на сервере, заданном иденитификатором link_identifier. Если этот идентификатор не указан, то используется соединение, открытое последним. Если нет ни одного соединения, то функция пытается установить новое ( как если бы была вызвана sybase_connect()), и затем его использовать.

Смотри также: sybase_db_query(), sybase_select_db() и sybase_connect().

PHP » PYTHON

PYTHON sybase_field_seek

Do you know a Python replacement for PHP’s sybase_field_seek ? Write it!

PHP sybase_field_seek

sybase_field_seek

sybase_field_seek — Sets field offset

Description

Seeks to the specified field offset. If the next call to sybase_fetch_field() won’t include a field offset, this field would be returned.

Parameters

Return Values

Returns TRUE on success or FALSE on failure.

Руководство по рнр 0 Перевод Всероссийского Клуба Вебмастеров

Название Руководство по рнр 0 Перевод Всероссийского Клуба Вебмастеров
страница 81/105
Дата 31.01.2013
Размер 3.81 Mb.
Тип Руководство

sybase_field_seek

Описание

int sybase_field_seek(int result, int field_offset);

Переходит к указанному столбцу. Если при следующем вызове sybase_fetch_field() не будет указан конкретный номер столбца, то будет возвращен этот столбец.

Смотри также: sybase_fetch_field().

sybase_free_result

Описание

int sybase_free_result(int result);

Функцию sybase_free_result() следует вызывать, только если вы хотите уменьшить объем используемой памяти во время выполнения скрипта. Все занимаемая память будет автоматически освобождена после завершения скрипта. Вы можете вызвать sybase_free_result() с идентификатором result в качестве параметра, и содержащая результаты выполнения этого запроса память будет освобождена.

sybase_num_fields

Описание

int sybase_num_fields(int result);

sybase_num_fields() возвращает число столбцов в результирующем наборе

Смотри также: sybase_db_query(), sybase_query(), sybase_fetch_field(), sybase_num_rows().

sybase_num_rows

Описание

int sybase_num_rows(string result);

sybase_num_rows() rвозвращает число строк в результирующем наборе

Смотри также: sybase_db_query(), sybase_query() и sybase_fetch_row().

sybase_pconnect

Описание

int sybase_pconnect(string servername, string username, string password);

Возвращает: Идентификатор соединения с Sybase-сервером (положительное число) или false в случае ошибки

Функция sybase_pconnect() выполняется практически аналогично sybase_connect() с двумя главными отличиями:

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

Во-вторых, соединение с SQL-сервером не завершается после выполнения скрипта. Вместо этого, оно остается открытым для последующего использования. (Функция sybase_close() не закрывает соединения, установленные с помощью sybase_pconnect()).

Поэтому этот тип соединений называется ‘постоянным’.

sybase_query

Описание

int sybase_query(string query, int link_identifier);

Возвращает: в случае успеха- идентификатор результирующего набора данных (положительное число), или false- в случае ошибки.

Функция sybase_query() посылает запрос к текущей открытой базе данных на сервере, заданном иденитификатором link_identifier. Если этот идентификатор не указан, то используется соединение, открытое последним. Если нет ни одного соединения, то функция пытается установить новое ( как если бы была вызвана sybase_connect()), и затем его использовать.

Смотри также: sybase_db_query(), sybase_select_db() и sybase_connect().

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