Главная > Программирование > Работа с базами данных > |
FAQ по Centura SQLBase |
Секция 2 из 3 - Предыдущая - Следующая
Все секции
- 1
- 2
- 3
A: Сообщение об ошибке 182 указывает, что SQLBASE не может создать резервный файл.
Убедитесь, что имеется достаточное дисковое пространство для копирования, и каталог
существует. Также убедитесь, что копия делается 'ON SERVER' и правильно указан путь.
На пример: Server1:sys\backups.
A: Это - временное событие. Ресурсы станут свободными через несколько минут.
A: Сервисом в Windows’95 – это обычные программы, запущенные в момент начальной загрузки.
Они выполнятся прежде, чем кто-либо зарегистрируется в системе. Чтобы настроить сервис,
запустите REGEDIT.EXE, и перейдите к разделу HKEY_LOCAL_MACHINE_SOFTWARE\Microsoft\Windows\CurrentVersion\Runservices.
Вставьте новое элемент и дайте ему уникальное имя, типа "SQLBASESERVER". Установите
значение этого элемента равным полному пути и имени файла сервера базы данных, например
"C:\centura\dbnt1sv.EXE". Чтобы выполнялся минимизированный запуск, перед указанием
пути необходимо вписать "start/m".
A: Прежде чем появился SQLBase для Win’95, существовали локальные 16-разрядные SQLBase сервера (DBWSERVR.EXE и DBWINDOW.EXE). Они были довольно просты в настройке и управлении. С появлением SQLBase для Win’95 (DBNT1SV. EXE) возникло несколько соображений, которые следует принять во внимание:
A: Имеется системная переменная SQLBASE, которая указывает на каталог, в котором SQLBASE
должен искать файлы SQL.INI, ERROR.SQL, MESSAGE.SQL, COUNTRY.SQL, и MAIN.INI. Эта системная
переменная была создана для решения проблем пользователей, имеющих многочиленные копии
одних и тех же файлов на компьютере.
Чтобы определить \GUPTA каталог, добавьте следующую строку в ваш AUTOEXEC.BAT:
SET SQLBASE = C:\GUPTA
Если Вы устанавливаете системную переменную SQLBASE, просмотр будет проводиться только в этом каталоге. В противном случае, порядок поиска для вышеупомянутых файлов следующий:
A: Centura Software Corporation сертифицирует 32-разрядные программы для использования
в Windows’98. Для получения дальнейшей информации посетите:
http://www.centurasoft.com/support/tech_info/bulletins/win98warn.html
A: Существуют ошибки в руководстве. Общий порядок загрузки должен быть:
load dsapi
load spxs
load dfd
load dll -------- это не учтено в начальном руководстве ----------
load tlispxds
load exfmgrnw
load dbnwsrvr
A: Иногда происходит то, что последний журнал был в использовании базой данных в момент
аварийного отказа файлового сервера. В этом случае сервер может удалить журнал в момент
перезапуска. Восстановление журнала возможно с помощью с FILER.EXE.
A: См. http://www.centurasoft.com/support/tech_info/knowledge_base/sbsinfo/fileli~1.html
Всякий раз, когда Вы получаете сообщение "Cannot load library ...", это указывает,
что Вы или не можете загрузить указанную DLL, или один из ее компонент. Убедитесь,
что всего компоненты существуют.
A: Рекомендуется сделать это, для обеспечения доступа к новым свойствам сервера баз
данных.
A: По умолчанию SQLBase использует 2155 порт, но использование ключевого слова LISTENPORT в SQL.INI в разделе протокола клиента, может изменять его. В зависимости от версии сервера настройки протокола должны быть подобны нижеуказанному:
[ <Servername>. < Tcp/ip протокол >]
Listenport = <portnumber>
Если Вы не используете значение portnumber по умолчанию, оно должно быть явно указано в ключевом параметре SERVERPATH в SQL.INI клиента в разделе клиент. Настройки должны выглядеть следующим образом:
[ Winclient.wsock | win32client. ws32]
Serverpath = <servername>. < Hostname | ip адрес >, <portnumber> / <servicename1>
| {*, servicenamen >}
Имеется пример, использования 32-разрядного сервера и 32-разрядного пользователя:
[ Dbntsrvr. ws32]
Listenport = 2500
[ Win32client. ws32]
Serverpath = server1,127. 0. 0. 1,2500/island, video, payroll
A: Имеется документ, доступный по адресу:
http://www.centurasoft.com/support/tech_info/knowledge_base/sbsinfo/SQLBaseFileInfo.html
в котором присутствует список файлов, устанавливаемых с SQLBase DeskTop v7. 0.0, вместе
с их описаниями.
A: Вам необходимо создать локальную базу данных для SQLConsole, используя следующие шаги:
A: TLKNRTR может быть запущен, как программа, управляемая с помощью пакетных файлов DOS. Параметр INPUT=CommandFile передает в TLKNRTR набор команд, которые должны быть выполнены. В качестве примера можно воспользоваться следующим кодом:
@ECHO OFF
rem set variables
Set BkpDir = \\ machine\vol\backupdir
Set DB = MyDB
Set DBSRV = MyServer
Set Auth = sysadm/password
rem create the commandfile
echo set server % DBSRV %; > tmp.cmd
echo connect % DB % % 1 Auth %; >> tmp.cmd
echo backup database from % DB % to % BkpDir % on server; >> tmp.cmd
echo release log; >> tmp.cmd
echo backup log from % DB % to % BkpDir % on server; >> tmp.cmd
echo exit; >> tmp.cmd
rem execute the commandfile
tlknrtr noconnect bat input = tmp.cmd output = tmp.log
del tmp.cmd
A: Используйте следующие параметры:
SQLTALK BAT INPUT = <skriptfile.wts> OUTPUT < = Logfile >
A: Во-первых, нужно уточнить условия, при которых возникает эта ситуация, и обстоятельства применения функции:
В-третьих, при использовании SQLBase CENTURA/GUPTA разных версий совместно с SQLWindows я такую ситуацию не встречал и не получал информацию от других программистов.
В-четвертых, проверьте согласование по синтаксису использования связующих (BIND) переменных в запросе. В разных серверах и их версиях разные возможности и механизмы, так что могут быть ограничения. К сожалению, не так детально, как бы хотелось, знаком с особенностями Microsoft SQL Server.
В-пятых, возможно, вы используете триггеры или процедуры на сервере, для Microsoft SQL Server это критично, если формирование выборки не завершено (стр. 1-21,22,4-6 электронной книги ccon.pdf - книга Connecting Centura Objects to Databases из CTD 2.0 Matterhorn).
В-шестых, если вы используете ODBC, обратите внимание на настойки в секции
[odbcrtr] для Microsoft SQL Server, буферы и т.д.
Q: При использовании SQLWindows 5.0 с Microsoft SQL Server в первом окне таблица, заполняемая с помощью функции SalTblPopulate и TBL_FillNormal, т.е. все записи еще не прочитаны из базы и соединение остается открытым. Если в этот момент выполнить другой запрос (любой) с другим Sql Handle, то появляется ошибка 20055 (Connection is busy with results for another hstmt). Похоже, это связано со свойством DBPROP_MULTIPLECONNECTIONS MS SQL Server'а. Как решить эту проблему?
A: В документации (4-7, 4-19 электронной книги ccon.pdf - книга Connecting Centura Objects to Databases из CTD 2.0 Matternhorn, я думаю и в более ранних версиях документов это тоже есть - книги по Connection с другими СУБД) по этому поводу сказано:
(начало цитаты)
Microsoft SQL Server 6.x provides backend support for scrollable cursors (result set cursors that scroll both backwards and forwards). Consequently, you cannot create front end result sets (FERS) if you turn on result set mode.
You must turn on result set mode to have more than one result set open at the same time. If result set mode is off, you must fetch all of the rows from one result set before you can SELECT another result set. If you try to SELECT a result set before fetching all the rows of a previously retrieved result set, you get the error:
[Microsoft][ODBC SQL Server Driver]Connection is busy with result for another hstmt
(Конец цитаты)
Таким образом, желательно для вашего случая включить режим выборки (You must turn
on result set mode). Как это делается, Вам необходимо уточнить в документации по Microsoft
SQL Server.
A: Quest ищет файл "QUEST.INI", который включает описания всех кнопок. Необходимо
повторно установить SQLWINDOWS/QUEST, чтобы получить правильные настройки. Либо можно
указать правильный путь "questdir" в файле WIN.INI в разделе [QUEST].
A: Object Compiler не был включен в поставку CTD 1.5, как сказано в сведениях к версии 1.5.1 "по причине нехватки времени". По этой причине в поставку не включены также Object Nationalizer и Lotus Notes QuickObject. Эти компоненты включены в поставку CTD 1.5.1
Q: CTD 1.1.2: При использовании экранных таблиц с динамическими (автоматическими) колонками, когда курсор уходит из отредактированной ячейки, таблица не получает сообщение SAM_Validate, как было в SQLWindows.
A: Это ошибка CTD 1.1.2. Она исправлена в PTF и в версии 1.5.
Q: Может ли SQLWindows может работать и через 32-хразрядный ODBC?
A: К сожалению прямой ссылки, на документацию о совместном использовании SQLWindows
(я понимаю как 16-ти разрядную версию) ODBC32 я пока не нашел. Но, судя, по тому, как
работают 16-ти разрядные приложения с 32-ти разрядными, например QUEST и локальный
SQLBase 7.1 или ERWIN 2.6 c ним же, то на этот вопрос можно ответить отрицательно.
Для SQLWindows нужен 16-ти разрядный ODBC. Кроме того, из логики взаимодействия, конструирования
и передачи параметров в приложениях, следует, что без дополнительных "примочек" такое
взаимодействие невозможно.
Q: В программе Sqltalk не работает должным образом режим поиска в скрипте текста по образцу. При первоначальном нажатии кнопки "Найти далее" выполняется поиск образца. При повторном нажатии кнопки "Найти далее" поиск не осуществляется.
Повторный поиск выполняется успешно, если закрыть окно "Поиск" и заново открыть.
Можно ли исправить ситуацию? У нас:
- Sqltalk 7.0.1
- sqltne.dll 7.0.1 -PTF4
- sqlwntm.dll 7.0.1 -PTF4
- tlkc32.dll 7.0.1
A: У Вас, по всей видимости, используется библиотека - (tlkc32.dll 7.0.1) из версии
CTD 1.5.1, в которой действительно проявляется перечисленная ситуация. Размер и дата
создания этой библиотеки - 384 512 б и 01.03.1999. В предыдущей версии этой DLL, из
CTD 1.5 этой ошибки нет (Размер и дата создания старой библиотеки - 378 880 б и 03.06.1998.).
Не проявляется эта ошибка и в последующих версиях CTD, даже в BETA 1 Matternhorn. Рекомендуем
Вам вернуться к прежней версии этой библиотеки, пока не появиться новый PTF, в котором
данная ошибка ликвидирована.
При необходимости мы можем переслать Вам рабочую версию библиотеки tlkc32.dll по e-mail или FTP.
Q: Несмотря на многие глюки, мы собираемся и дальше разрабатывать на CTD. Кстати, Вы не знаете, почему пакет заплаток на CTD 1.5.1 (именно! дословно:"Centura Team Developer 1.5.1 PTF1 SqlWindows32 PTF Download 4909") отказывается устанавливаться на свою (1.5.1) версию, сообщая, что не находит CTD 1.5._0_? Мы-то его скачали в слабой надежде что кое-какие ошибки среды вдруг да будут исправлены, но видно жить нам с ними дальше. Самое печальное, то что CTD 2, имея какие-то не особо необходимые новшества, наверно опять не устранит старые глюки. Например, на NT 4.0 sp4-5-6 (не на одной машине) CTD версий 1.0-1.5-1.5.1 одинаково валится через раз - на третий после запуска приложения в среде дизайнера, или при открытии новой копии дизайнера при вызове библиотеки из модуля.
A: Во-первых, к сожалению, сам не устанавливал заплатки, поэтому ответить на этот вопрос однозначно не могу, мы свяжемся со службой сопровождения CENTURA, и как только появится ответ его Вам перешлем.
Однако уже в этом положении можно попробовать что-то сделать. Хотя, возможно вы уже шли этим путем, осмелюсь предложить следующие варианты:
В-третьих, полностью разделяю Ваше мнение о том, что не будете отказываться от SQLWindows. Я рассматривал многое продукты для разработчиков информационных бизнес систем и нахожу в SQLWindows неоспоримые преимущества. Даже с научных позиций такого "пространственного" представления сложных программных образований, как OUTLINE, нет нигде, кроме того такого, профессионально (но не сложного для восприятия и запоминания) подобранного набора функций и возможностей, как в CENTURA/GUPTA, я не встречал в других даже очень мощных, а поэтому "сложных" средствах разработки приложений, не буду их перечислять.
В целом согласен, что превращение SQLWindows в супермощную систему (в том числе и для WEB) может ее сгубить. Будущее SQLWindows в вылизывании глюков, что достижимо в короткие сроки!
A: Маршрутизатор базы данных Centura ведет себя следующим образом:
Client entry | Oracle | Informix | MS SQLServer | Sybase | IBM DB2 |
Empty string(“”) | NULL | Space | Space | Space(constant) NULL(bind var) |
Space |
NULL | NULL | NULL | NULL | NULL | NULL |
space | Space | Space | Space | Space | Space |
STRING_Null | NULL | NULL | NULL | NULL | NULL |
A: В SQLWindows или CTD, Вы можете отслеживать работу маршрутизаторов, добавив строку
следующего вида log = <имя файла> в SQL.INI, в секции указанные в таблице:
SQLRouter Section 16-bit Section 32-bit
Sybase [winclient.sybw] [win32client.syb32]
Oracle [winclient.oraw] [win32client.ora32]
ODBC [winclient.odbw] [win32client.odb32]
A: Это сообщение об ошибке обычно связано FRS*:* файлами, которые не удалены в случае
аварийного отказа. Прежде, чем запускать программу, изучите каталог TEMP (C:\TEMP или
подобный) и удалите все файлы, начинающиеся с "FRS". Дополнительную информацию можно
получить по адресу:
http://www.centurasoft.com/support/tech_info/knowledge_base/ctdinfo/error163.html
A: Запустите SETUP.EXE из каталога "Window" CD Oracle, чтобы установить 16-разрядного клиента. После этого запустите 16-разрядный NET*EASY, чтобы сконфигурировать псевдоним базы данных, например.
Database Alias: MyDB
Protocol: TCP/IP
Host Name: 192.1.11.28
Database Instance: MyDB
Далее, запустите 16-разрядный SQLPlus (Oracle для Windows) чтобы проверить соединение
с базой данных, использующей псевдоним MyDB. Если связь не может быть установлена,
это - проблема установки Oracle.
Так-же запустите SQLTalk, чтобы связаться с тем же самым псевдонимом базы данных. Для
этого требуются правильные установки программного обеспечения для Oracle и следующих
секций в SQL.INI:
[ Winclient.dll]
Comdll = sqloraw
[ Oragtwy]
Remotedbname = MyDB, TNS:MYDB
A: Возможно один из ваших столбцов в базе данных имеет тип "LONG ROW". Для работы
с таким типом данных необходимо произвести следующее преобразование SqlSetLongBindDatatype(nBindVarNumber,
nDatatype) между выражениями SqlPrepare() и SqlExecute().
A: Вы должны изменить параметры настройки для тысяч и десятичных разделителей на международный формат. Необходимо выполнить следующий набор команд:
ALTER SESSION SET NLS_NUMERIC_CHARACTER = ‘.,’
Выполнив следующую команду, Вы можете изменить параметры установки дат:
ALTER SESSION SET NLS_DATE_FORMAT = ' YYYY-MM-DD-HH24. MI.SS'
Направление сортировки:
ALTER SESSION SET NLS_LANGUAGE = GERMAN.
Секция 2 из 3 - Предыдущая - Следующая
Вернуться в раздел "Работа с базами данных" - Обсудить эту статью на Форуме |
Главная - Поиск по сайту - О проекте - Форум - Обратная связь |