Подключение к SQL серверу HP Web JetAdmin

      В данной инструкции рассмотрим подключение к SQL базе данных, утилиты НР Web JetAdmin и получение всех ip адресов сетевых принтеров которые там хранятся.
      НР Web JetAdmin и HP JetAdmin упрощают осуществляемые сетевыми администраторами процессы инсталляции, мониторинга и диагностики сетевых принтеров и других устройств и позволяют сетевым администраторам выполнять перечисленные функции, не покидая своих рабочих мест. Более высокий уровень проактивности, обеспечиваемый этими программными продуктами, позволяет снизить время, затрачиваемое на управление сетевыми устройствами. Утилита JetAdmin входит в комплект поставки каждого сервера печати HP JetDirect.
      Для создания подключения к серверу с установленным НР Web JetAdmin, необходимо запустить службу SQL Browser. Для этого запустите SQL Server Configuration Manager из меню пуск. В левой части окна выберете пункт «Protocols for HPWJA», а затем в правой части, пункт «TCP/IP», статус данного протокола должен быть «Enabled».
      Перейдите в свойства данного протокола, вкладка «IP Addresses». Выставьте параметр «Active» в положение «Yes».
      Перейдите в левой части окна на пункт «SQL Server 2005 Services»,а в правой части выберете пункт «SQL Server Browser».
      Перейдите в его свойства. Выберете вкладку «Service» и в параметре «Start Mode» выставьте значение «Automatic», это будет означать, что данная служба будет запускаться при старте операционной системы.
      Перейдите во вкладку «Log On» и выставьте в параметре «Built-in account» значение «Network Service».
      Перейдите во вкладку «Advanced» и в параметре «Active», выставьте значение «Yes» и нажмите кнопку «ОК».
     Перезагрузите компьютер с установленным сервером HP JetAdmin. После перезагрузки перейдите на компьютер, с которого вы будете устанавливать подключение к SQL серверу. Установите на него программу Microsoft SQL Server Management Studio Express для просмотра базы данных вашего сервера.
Скачать данную программу вы можете по адресу http://www.microsoft.com/ru-ru/download/details.aspx?id=8961.
      В случае успешной установки, запустите программу перейдя «Пуск» – «Все программы» - «Microsoft SQL Server 2005» -«Среда SQL Server Management Studio Express».
      После запуска, программы, у вас появится окно «Соединение с сервером», в котором вы должны указать DNS имя или IP адрес вашего компьютера с установленным HP JetAdmin и дописать в конце через левый слеш, имя базы данных для подключения - «HPWJA» . Например: 192.168.1.101\HPWJA. Для установки подключения, нажмите в данном окне, кнопку «Соединить».
      Если вы не знаете имя компьютера с установленным сервером, нажмите в окне «Соединение с сервером» на кнопку «Параметры». Данное окно изменится в размере и откроется вкладка «Свойства соединения». В верхней части данной вкладки будет поле «Соединение с базой данных», с выпадающим списком. В списке две записи, <по умолчанию> и <Обзор сервера…>. Выберете второе.
      У вас откроется окно с именами компьютеров, на которых установлен SQL сервер. Найдите сервер у которого в конце через левый слеш написано «HPWJA», это и будет ваш SQL сервер HP JetAdmin.
      Выберете нужный вам компьютер и нажмите клавишу «OK». У вас автоматически выберется вкладка «Вход» и в поле «Имя сервера», отобразится имя выбранного вами компьютера. Проверка подлинности при подключении осуществляется через учетную запись Windows под который вы зашли на компьютер, с которого устанавливаете подключение. Для успешного соединения вы должны обладать правами администратора на сервере HP JetAdmin. Настроить данные права вы можете в клиенте HP JetAdmin. Запустите клиент и перейдите в левой, нижней части во вкладку «Управление приложениями». В правой части у вас будет «Безопасность пользователя - Пользователи». Рядом с таблицей пользователей у вас будет кнопка «Добавить», добавьте пользователя, под которым вы будете выполнять подключение к серверу и назначьте ему права администратора, выбрав роль «WJA Administator».
     Если вы все сделали успешно, для установки соединения нажмите на кнопку «Соединить», расположенную внизу окна «Соединение с сервером».
      В случае успешного подключения вы увидите базу данных «HPWJA» в обозревателе объектов, расположенного в левой части программы.
      На сайте поддержки HP есть инструкция «USING MICROSOFT® SQL SERVER with HP Web Jetadmin» по настройке SQL сервера.

Ссылка на документ: Яндекс.Диск

      Перейдите в обозревателе объектов: Имя вашего сервера – Базы данных – HWJA –Представления. На сайте поддержки HP есть документ «DATABASE VIEWS in HP Web Jetadmin», в котором описываются данные содержащиеся в базе данных.

Ссылка на документ: Яндекс.Диск

      Если вы перейдете на 19 страницу данного документа, вы увидите «представление» таблицу «Connection attributes view (PUBLIC_CONN_INFO_VW)» В которой есть поле «ipv4_address», данное поле содержит ip адреса принтеров отсканированные HP Web Jetadmin.
      В Microsoft SQL Server Management Studio Express откройте данное представление и сделайте по нему клик правой клавишей мыши, из контекстного меню выберете «Открыть представление».
      У вас откроется данное представление в центральной части окна, в котором вы можете увидеть данные описанные в таблице «Connection attributes view (PUBLIC_CONN_INFO_VW)».

      Из данного представления нам необходимо будет вытащить все Ip адреса принтеров. В базе данных «HPWJA» 310 таблиц, перебирать каждую в поисках нужных данных мы не будем и пойдем более простым путем. В «Обозреватель объектов» сделайте клик правой клавишей мыши по данному представлению и из контекстного меню выберете пункт «Создать сценарий для представления» - «Используя CREATE» - «В новом окне редактора запросов».

      У вас откроется SQL запрос для создания данного представления, в котором вы можете увидеть, из каких таблиц базы данных берутся значения.
Нас интересует строка:
LEFT OUTER JOIN RESERVED_CON_MOE_VW v3 ON mdc.deviceNdx=v3.device_id and mdc.con_guid=v3.con_guid and v3.valid_name='IPv4Address'
      Данная строка содержит имя таблицы «RESERVED_CON_MOE_VW», в которой содержатся данные по IP адресам. Из этих данных мы может составить собственный запрос для вывода представления, содержащего только IP адреса.
select MoeValue from RESERVED_CON_MOE_VW where valid_name='IPv4Address'
Для проверки запроса, создадим тестовый запрос в Microsoft SQL Server Management Studio Express. Перейдите «Файл» - «Создать» - «Запрос в текущем соединении».
В правой части, у вас откроется новая вкладка для создания SQL запроса. Вставьте запрос:
select MoeValue from RESERVED_CON_MOE_VW where valid_name='IPv4Address'
      Нажмите на кнопку «Выполнить», расположенную на панели инструментов. После выполнения запроса, вы увидите в нижней части список IP адресов принтеров.
Теперь переходим непосредственно к программированию. Создайте проект Windows Form в Microsoft Visual Studio.

Добавьте на главную форму три компонента:
  • textBox1 – Для ввода DNS имени сервера или IP адреса;
  • button1 – Для запуска получения данных;
  • dataGridView1 – Компонент для вывода данных.
У вас получится приблизительно вот такая форма:
      Сделайте двойной клик левой клавишей мыши по компоненту «button1» и перейдите в автоматически созданный метод «button1_Click». Добавьте в этот метод приведенный ниже листинг:
System.Data.SqlClient.SqlConnection cn = 
new System.Data.SqlClient.SqlConnection();

DataSet CustomersDataSet = new DataSet();
System.Data.SqlClient.SqlDataAdapter da;
System.Data.SqlClient.SqlCommandBuilder cmdBuilder;

//Настройка строки соединения объекта 
//SqlConnection для подключения к базе данных SQL Server.          
cn.ConnectionString = string.Format(
"Server={0}\\HPWJA;Initial Catalog=HPWJA;Integrated Security=true",
 textBox1.Text.Trim());

//Открываем подключение к базе данных со значениями свойств, определяемыми
//объектом System.Data.SqlClient.SqlConnection.ConnectionString.
cn.Open();

if (cn.State == ConnectionState.Open)
{
    //Инициализация объекта SqlDataAdapter с помощью команды Select, 
    //получающей данные из таблицы RESERVED_CON_MOE_VW.
    da = new System.Data.SqlClient.SqlDataAdapter(
 @"select MoeValue from RESERVED_CON_MOE_VW where valid_name='IPv4Address'", cn);
    cmdBuilder = new System.Data.SqlClient.SqlCommandBuilder(da);

    //Наполнение объекта DataSet с помощью метода Fill объекта SqlDataAdapter.
    da.Fill(CustomersDataSet, "IpPrinters");

    //Вывод данных в компонент dataGridView1
    dataGridView1.DataSource = CustomersDataSet.Tables["IpPrinters"];                
}
else
{
    MessageBox.Show("Отсутствует подключение к базе данных!",
 "Подключение к HP Web JetAdmin",MessageBoxButtons.OK,MessageBoxIcon.Error);
}
      Запустите ваш проект клавишей «F5». Введите в текстовое поле IP адрес или Dns имя сервера HP Web JetAdmin и нажмите на единственную клавишу вашего приложения. Если вы все сделали правильно, то результатом будет список Ip адресов.

Ссылка для скачивания примера: Яндекс.Диск


Комментариев нет:

Отправить комментарий

Большая просьба, не писать в комментариях всякую ерунду не по теме!