Объект server-side | |
Реализовано в | Netscape Server 3.0 |
Чтобы соединиться с базой данных, Вы сначала создаете объединение подключений базы данных и затем обращаетесь к индивидуальным подключениям как необходимо. Для подробной информации об общей методологии использования объектов DbPool
, смотрите Writing Server-Side JavaScript Applications.
Создание
Конструктором DbPool
.
Описание
Срок службы объекта DbPool
(его видимость) изменяется. Объект DbPool
может выходить из области видимости в разное время:
DbPool
прежде, чем объект выйдет из области видимости. Освободите подключения и закройте другие объекты, как только Вы закончили работать с ними.
|
Позволяет добавлять свойства к объекту DbPool .
|
Свойства
prototype
Представляет прототип для этого класса. Вы можете использовать прототип, чтобы добавлять свойства или методы ко всем образцам класса. Для информации о прототипах, смотрите Function.prototype
.
Свойство объекта |
DbPool
|
Реализовано в | LiveWire 1.0 |
Методы
DbPool
Создает объединение объектов Connection базы данных и факультативно подключает объекты со специфической конфигурацией базы данных и пользователя.
Метод объекта |
DbPool
|
Реализовано в | Netscape Server 3.0 |
Синтаксис
new DbPool();
new DbPool (dbtype, serverName, username, password, databaseName);
new DbPool (dbtype, serverName, username, password, databaseName, maxConnections);
new DbPool (dbtype, serverName, username, password, databaseName, maxConnections, commitflag);
Параметры
Описание
Первая версия этого конструктора не принимает никаких параметров. Она создает и размещает память для объекта DbPool
. Эта версия конструктора создает и кэширует одно подключение. Когда это подключение выходит из области видимости, ждущие обработки транзакции прокручиваются обратно.
Чтобы обнаружить ошибки, Вы можете использовать метод majorErrorCode
.
connect
Подключает объединение со специфической конфигурацией базы данных и пользователя.
Метод объекта |
DbPool
|
Реализовано в | Netscape Server 3.0 |
connect (dbtype, serverName, username, password, databaseName)
connect (dbtype, serverName, username, password, databaseName, maxConnections)
connect (dbtype, serverName, username, password, databaseName, maxConnections, commitflag)
Возвращает
0, если запрос был успешен; иначе, ненулевой код состояния, основанный на любом сообщении об ошибках, переданном базой данных. Если метод возвращает ненулевой код состояния, используйте связанные методы majorErrorCode
и majorErrorMessage
, чтобы интерпретировать причину ошибки.
Описание
Когда Вы вызываете этот метод, двигатель времени выполнения сначала закрывает и выпускает любое в настоящее время открытое подключения. Затем повторно подключает объединение с новой конфигурацией. Вы должны убедиться, что все подключения были выпущены перед вызовом этого метода.
Пример
Следующее выражение создает четыре подключения с Informix базой данных, названной mydb, на сервере с именем myserver, с именем пользователя SYSTEM и паролем MANAGER. Ждущие обработки транакции прокручиваются обратно в конце запроса клиента:
pool.connect("INFORMIX", "myserver", "SYSTEM", "MANAGER", "mydb", 4)
connected
Проверяет, связано ли объединение базы данных и все подключения с базой данных.
Метод объекта |
DbPool
|
Реализовано в | Netscape Server 3.0 |
Синтаксис
connected()
Параметры
Нет.
Возвращает
True, если объединение (и следовательно специфическое подключение в объединении) в настоящее время связано с базой данных; иначе, false.
Описание
Метод connected
указывает, связан ли этот объект в настоящее время с базой данных.
Примеры
Пример 1: Следующий фрагмент кода выясняет, открыто ли подключение в настоящее время. Если это не так, то повторно подключает объединение и присваивает новое значение переменной myconn
.
if (!myconn.connected()) {
Пример 2: Следующий пример использует условие
mypool.connect ("INFORMIX", "myserver", "SYSTEM", "MANAGER", "mydb", 4);
myconn = mypool.connection;
}if
, чтобы определить, связано ли приложение с сервером баз данных. Если приложение связано, выполняется функция isConnectedRoutine
; если приложение не связано, выполняется функция isNotConnected
.
if(database.connected()) {
isConnectedRoutine() }
else {
isNotConnectedRoutine() }connection
Восстанавливает доступное подключение из объединения.
Метод объекта |
DbPool
|
Реализовано в | Netscape Server 3.0 |
Синтаксис
connection (name, timeout)
Параметры
Возвращает
Новый объект Connection
.
disconnect
Разъединяет все подключения в объединении от базы данных.
Метод объекта |
DbPool
|
Реализовано в | Netscape Server 3.0 |
Синтаксис
disconnect()
Параметры
Нет.
Возвращает
0, если запрос был успешен; иначе, ненулевой код состояния, основанный на любом сообщении об ошибках, переданном базой данных. Если метод возвращает ненулевой код состояния, используйте связанные методы majorErrorCode
и majorErrorMessage
, чтобы интерпретировать причину ошибки.
Описание
Для объекта DbPool
, перед вызовом метода disconnect
, Вы должны сначала вызвать метод release
для всех подключений в этом объединении базы данных. Иначе, подключение все еще рассматривается используемым системой, так что disconnect
ждет, пока все подключения не выпущены.
Примеры
Следующий пример использует условие if
, чтобы определить, связано ли приложение с сервером баз данных. Если приложение связано, приложение вызывает метод disconnect
; если приложение не связано, выполняется алгоритм isNotConnected
.
if(database.connected()) {
database.disconnect() }
else {
isNotConnectedRoutine() }majorErrorCode
Основной код ошибки, возвращенный сервером баз данных или ODBC.
Метод объекта |
DbPool
|
Реализовано в | Netscape Server 3.0 |
Синтаксис
majorErrorCode()
Параметры
Нет.
Возвращает
Результат, возвращенный этим методом, зависит от используемого сервера баз данных:
Коды состояния это целые числа между 0 и 27, с 0 индикацией успешного выполнения выражения и других чисел, указывающих ошибку, как показано в Таблице 10.3.
Таблица 10.3 Коды состояния базы данных.
Примеры
Этот пример модифицирует таблицу rentals
внутри транзакции. Метод updateRow
присваивает код состояния базы данных переменной statusCode
, чтобы указать, является ли метод успешным.
database.beginTransaction()
statusCode = cursor.updateRow("rentals")if (statusCode == 0) {
database.commitTransaction()
}if (statusCode == 5 || statusCode == 7) {
write("Операция не может быть завершена.<BR>"
write("Войдите в контакт с Вашим системным администратором со следующим:<P>"
write("Значение statusCode равно " + statusCode + "<BR>")
write("Значение majorErrorCode равно " +
database.majorErrorCode() + "<BR>")
write("Значение majorErrorMessage равно " +
database.majorErrorMessage() + "<BR>")
write("Значение minorErrorCode равно " +
database.minorErrorCode() + "<BR>")
write("Значение minorErrorMessage равно " +
database.minorErrorMessage() + "<BR>")
database.rollbackTransaction()
}else {
errorRoutine()
}majorErrorMessage
Основное сообщение об ошибках, возвращенное сервером баз данных или ODBC. Для ошибок сервера, оно обычно соответствует SQLCODE сервера.
Метод объекта |
DbPool
|
Реализовано в | Netscape Server 3.0 |
Синтаксис
majorErrorMessage()
Параметры
Нет.
Возвращает
Строка описания, которая зависит от сервера баз данных:
connection
и DbPool
или из специальных свойств connection
или DbPool
, содержащих сообщения об ошибках и коды.
Примеры
Смотрите DbPool.majorErrorCode
.
minorErrorCode
Вторичный код ошибки, возвращенный библиотекой продавцов базы данных.
Метод объекта |
DbPool
|
Реализовано в | Netscape Server 3.0 |
Синтаксис
minorErrorCode()
Параметры
Нет.
Возвращает
Результат, возвращенный этим методом, зависит от сервера баз данных:
Метод объекта |
DbPool
|
Реализовано в | Netscape Server 3.0 |
Синтаксис
minorErrorMessage()
Параметры
Нет.
Возвращает
Строка, возвращенная этим методом, зависит от сервера баз данных:
Метод объекта |
DbPool
|
Реализовано в | Netscape Server 3.0 |
Синтаксис
storedProcArgs (procName, type1, ..., typeN)
Параметры
procName | Имя процедуры. |
type1, ..., typeN |
Каждый typeI одно из: "IN" , "OUT" или "INOUT" Определяет тип каждого параметра: ввод ("IN" ), вывод ("OUT" ), или ввод/вывод ("INOUT" ).
|
Описание
Этот метод только для Sybase сохраненных процедур.
Примеры
Допустим сохраненная процедура inoutdemo
принимает один параметр ввода и один параметр ввода-вывода, следующим образом:
create procedure inoutdemo ( @inparam int, @inoutparam int output)
Предположим выполняется следующий код и затем вызывается
as
if ( @inoutparam == null)
@inoutparam = @inparam + 1
else
@inoutparam = @inoutparam + 1outParameters(0)
, результат будет 101:
database.storedProcArgs("inoutdemo", "IN", "INOUT")
Значение
spobj= database.storedProc("inoutdemo", 6, 100);
answer = spobj.outParameters(0);answer
равно 101. С другой стороны, предположим, что Вы выполняете этот код:
database.storedProcArgs("inoutdemo", "IN", "OUT")
В этом слчае, значение
spobj = database.storedProc("inoutdemo", 6, 100);
answer = spobj.outParameters(0);answer
равно 7.
toString
Возвращает строку, представляющую определенный объект.
Метод объекта |
DbPool
|
Реализовано в | Netscape Server 3.0 |
Синтаксис
toString()
Параметры
Нет.
Описание
Каждый объект имеет метод toString
, который автоматически вызывается, когда объект должен представиться как текстовое значение или когда объект упоминается в строковой конкатенации.
Этот метод возвращает строку в следующем формате:
db "name" "userName" "dbtype" "serverName"
где
name | Имя базы данных. |
userName | Имя пользователя, соединенного с базой данных. |
dbType |
Одно из ORACLE , SYBASE , INFORMIX, DB2 или ODBC .
|
serverName | Имя сервера баз данных. |
Метод показывает пустую строку для любых атрибутов, чьи значения неизвестны.
Для информации об определении Вашего собственного метода toString
, смотрите метод Object.toString
.
Последняя Модификация: 10/31/97 16:35:15
Все мессаги сюда:yanich@inbox.ru |