Архивы Sql - Заметки Эникейщика https://7d3.ru/wiki/category/sql Или Рутинная Работа Системного Администратора Fri, 11 Sep 2020 17:05:06 +0000 ru-RU hourly 1 https://wordpress.org/?v=6.9.9 [SQL] Dbeawer отключить autocommit https://7d3.ru/wiki/1140 https://7d3.ru/wiki/1140#respond Fri, 11 Sep 2020 17:05:06 +0000 https://7d3.ru/?p=1140 Dbeawer autocommit off. Manual commit by default

Сообщение [SQL] Dbeawer отключить autocommit появились сначала на Заметки Эникейщика.

]]>
Dbeawer autocommit off. Manual commit by default

Сообщение [SQL] Dbeawer отключить autocommit появились сначала на Заметки Эникейщика.

]]>
https://7d3.ru/wiki/1140/feed 0
[AWS][Microsoft SQL] file to retrieve data for this request https://7d3.ru/wiki/1086 https://7d3.ru/wiki/1086#respond Mon, 23 Mar 2020 11:44:03 +0000 https://7d3.ru/?p=1086 Проблема: Пытаюсь перенести базу Microsoft SQL Server  на инстанс AWS-RDS. При restore получаю ошибку "file to retrieve data for this request, Permission denied" Решение: Надо положить бэкап-файл на S3 Создать S3 Bucket в том же регионе, что и БД Создать новую RDS OptionsGroup с опцией SQLSERVER_BACKUP_RESTOR. Добавить роль IAM, чтобы БД могла лезть в S3 […]

Сообщение [AWS][Microsoft SQL] file to retrieve data for this request появились сначала на Заметки Эникейщика.

]]>
Проблема: Пытаюсь перенести базу Microsoft SQL Server  на инстанс AWS-RDS. При restore получаю ошибку "file to retrieve data for this request, Permission denied"

Решение: Надо положить бэкап-файл на S3

  1. Создать S3 Bucket в том же регионе, что и БД
  2. Создать новую RDS OptionsGroup с опцией SQLSERVER_BACKUP_RESTOR. Добавить роль IAM, чтобы БД могла лезть в S3
  3. Заменить OptionsGroup инстанса
  4. Подключиться к БД исполнить скрипт восстановления (restore) BD
    exec msdb.dbo.rds_restore_database 
    	@restore_db_name='database_name', 
    	@s3_arn_to_restore_from='arn:aws:s3:::bucket_name/file_name.extension',
    	@with_norecovery=0|1,
    	[@kms_master_key_arn='arn:aws:kms:region:account-id:key/key-id'],
    	[@type='DIFFERENTIAL|FULL'];

    или сокращенно
    exec msdb.dbo.rds_restore_database 
    	@restore_db_name='database_name', 
    	@s3_arn_to_restore_from='arn:aws:s3:::bucket_name/file_name.extension';

    Проверить статус: exec msdb.dbo.rds_task_status;

https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/SQLServer.Procedural.Importing.html

Сообщение [AWS][Microsoft SQL] file to retrieve data for this request появились сначала на Заметки Эникейщика.

]]>
https://7d3.ru/wiki/1086/feed 0
[MySQL] Конвертация таблицы из Win-1251 в UTF-8 https://7d3.ru/wiki/1011 https://7d3.ru/wiki/1011#respond Thu, 04 Apr 2019 13:14:10 +0000 https://7d3.ru/?p=1011 Конвертирует данные в таблице и меняет саму кодировку таблицы [crayon-6ab6dad26171c176454455/]  

Сообщение [MySQL] Конвертация таблицы из Win-1251 в UTF-8 появились сначала на Заметки Эникейщика.

]]>
Конвертирует данные в таблице и меняет саму кодировку таблицы

ALTER TABLE `db_name`.`db_table` CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;

 

Сообщение [MySQL] Конвертация таблицы из Win-1251 в UTF-8 появились сначала на Заметки Эникейщика.

]]>
https://7d3.ru/wiki/1011/feed 0
[JASPER] DB2 execute procedure https://7d3.ru/wiki/841 https://7d3.ru/wiki/841#respond Fri, 01 Jun 2018 10:15:34 +0000 https://7d3.ru/?p=841 выполнение процедуры в jasper для db2 call procedurename(?) запрос: {call MON.P_STATISTIC($P{Parameter1})}  

Сообщение [JASPER] DB2 execute procedure появились сначала на Заметки Эникейщика.

]]>
выполнение процедуры в jasper для db2 call procedurename(?)

запрос:

{call MON.P_STATISTIC($P{Parameter1})}

 

Сообщение [JASPER] DB2 execute procedure появились сначала на Заметки Эникейщика.

]]>
https://7d3.ru/wiki/841/feed 0
[JASPER] Создание отчета https://7d3.ru/wiki/817 https://7d3.ru/wiki/817#respond Tue, 15 May 2018 05:52:52 +0000 https://7d3.ru/?p=817 Jasper Report - довольно простой способ создания отчетов для рассылок. Скачиваем jaspersoft-studio File -> New -> Jasper Report. Выбираем шаблон. Например, Simple Blue Table Based Repository Explorer -> правой -> Create date adapter Выбираем DAtebase JDBC Connection На вкладке Driver Classpath добавляем файлы драйверов Настройка подключения. Проверяем Test. Сохраняем Finish Выбираем наш новый отчет. Кликаем […]

Сообщение [JASPER] Создание отчета появились сначала на Заметки Эникейщика.

]]>
Jasper Report - довольно простой способ создания отчетов для рассылок.

  1. Скачиваем jaspersoft-studio
  2. File -> New -> Jasper Report. Выбираем шаблон. Например, Simple Blue Table Based
  3. Repository Explorer -> правой -> Create date adapter
  4. Выбираем DAtebase JDBC Connection
  5. На вкладке Driver Classpath добавляем файлы драйверов
  6. Настройка подключения. Проверяем Test. Сохраняем Finish
  7. Выбираем наш новый отчет. Кликаем по TableDataset -> Edit query, filter and sort options
  8. вверху выбираем наше подключение, справа пишем запрос, жмем Read Fields.
  9. На вкладке Data Preview можно проверить получаемые данные
  10. Title -> Frame Указываем заголовки.

    Перевод на русский:
    "Дата отчета: "+new SimpleDateFormat("dd.MM.yyyy").format(new java.util.Date())
    "Страница "+$V{PAGE_NUMBER}+" из"
    "за период  "+new SimpleDateFormat("dd.MM.yyyy").format(new java.util.Date(new java.util.Date().getTime() - (7000 * 60 * 60 * 24)))+" - "+new SimpleDateFormat("dd.MM.yyyy").format(new java.util.Date(new java.util.Date().getTime() - (1000 * 60 * 60 * 24)))
  11. В свойствах поля необходимо указать шрифт, имеющийся на jasper сервере. Иначе не будет работать экспорт в pdf. Например, Arial
  12. Summary -> table 2х click.
  13. TableDataset -> Fields Убедиться, что поля из запроса добавились
  14. Table -> Здесь задаются заголовки таблицы, само тело таблицы, создаваемое из полей из запроса, футера колонок и самой таблицы
  15. Чтобы задать тело таблицы надо добавить поле в колонку, потом два раза кликнуть и выбрать необходимое поле из запроса.

    В свойствах можно задавать паттерн вывода, например для даты:
  16. Жмем Preview и проверяем результат
  17. Экспортируем отчет и идем на jasper-server
  18. Root->Reports создаем директорию приложения.отчет, например test
  19. Root->Reports->test создаем директорию Data Source
  20. Добавляем датасорс
  21. Добавляем наш отчет
  22. Указываем файл для загрузки, ранее добавленный датасорс
  23. Выбираем отчет -> Run

Сообщение [JASPER] Создание отчета появились сначала на Заметки Эникейщика.

]]>
https://7d3.ru/wiki/817/feed 0
[DB2] linux odbc настройка подключения https://7d3.ru/wiki/803 https://7d3.ru/wiki/803#respond Thu, 03 May 2018 09:44:19 +0000 https://7d3.ru/?p=803 yum install unixODBC.x86_64 cd /etc/ [root@host etc]# odbcinst -j unixODBC 2.3.1 DRIVERS............: /etc/odbcinst.ini SYSTEM DATA SOURCES: /etc/odbc.ini FILE DATA SOURCES..: /etc/ODBCDataSources USER DATA SOURCES..: /root/.odbc.ini SQLULEN Size.......: 8 SQLLEN Size........: 8 SQLSETPOSIROW Size.: 8 sudo mkdir -p /opt/IBM/db2/db2clnt1 # Создаем каталог для драйвера sudo useradd db2clnt1 # создаем пользователя - владельца дравера sudo chown db2clnt1:db2clnt1 […]

Сообщение [DB2] linux odbc настройка подключения появились сначала на Заметки Эникейщика.

]]>
yum install unixODBC.x86_64

cd /etc/
[root@host etc]# odbcinst -j
unixODBC 2.3.1
DRIVERS............: /etc/odbcinst.ini
SYSTEM DATA SOURCES: /etc/odbc.ini
FILE DATA SOURCES..: /etc/ODBCDataSources
USER DATA SOURCES..: /root/.odbc.ini
SQLULEN Size.......: 8
SQLLEN Size........: 8
SQLSETPOSIROW Size.: 8

sudo mkdir -p /opt/IBM/db2/db2clnt1 # Создаем каталог для драйвера
sudo useradd db2clnt1 # создаем пользователя - владельца дравера
sudo chown db2clnt1:db2clnt1 /opt/IBM/db2/db2clnt1 # выдаем права
Качаем нужную нам версию db2_odbc

v10.5fp8_linuxx64_odbc_cli.tar.gz
Выкладываем ее в папку /tmp

sudo -u db2clnt1 -i
cp /tmp/v10.5fp8_linuxx64_odbc_cli.tar.gz /opt/IBM/db2/db2clnt1/
cd /opt/IBM/db2/db2clnt1
tar -zxvf v10.5fp8_linuxx64_odbc_cli.tar.gz
rm v10.5fp8_linuxx64_odbc_cli.tar.gz

sudo vim /etc/odbcinst.ini
[DB2]
Description=ODBC for IBM DB2 10.5-FP8
Driver=/opt/IBM/db2/db2clnt1/odbc_cli/clidriver/lib/libdb2.so
Driver64=/opt/IBM/db2/db2clnt1/odbc_cli/clidriver/lib/libdb2o.so
FileUsage=1
DontDLClose=1

sudo vim /etc/odbc.ini
[DATABASE]
Driver=DB2

sudo -u db2clnt1 vim /opt/IBM/db2/db2clnt1/odbc_cli/clidriver/cfg/db2cli.ini
[DATABASE]
Database=DATABASE
Protocol=TCPIP
Hostname=hostname
ServiceName=50000
uid=User_Name
pwd=XXXXXXXXXXXX
# SCHEMALIST = " 'ZABBIX'"
DeferredPrepare = 1
ConnectTimeout = 25
ReceiveTimeout = 30
LOCKTIMEOUT = 20
AppendForFetchOnly = 1
AutoCommit = 1
ConnectType = 1
CursorHold = 0
TxnIsolation = 1

sudo chmod 640 /opt/IBM/db2/db2clnt1/odbc_cli/clidriver/cfg/db2cli.ini
sudo usermod -a -G db2clnt1 zabbix #Добавляем пользователя zabbix в группу db2clnt1 что бы он мог читать конфиг

isql DATABASE_name
+---------------------------------------+
| Connected! |
| |
| sql-statement |
| help [tablename] |
| quit |
| |
+---------------------------------------+

Сообщение [DB2] linux odbc настройка подключения появились сначала на Заметки Эникейщика.

]]>
https://7d3.ru/wiki/803/feed 0
psql https://7d3.ru/wiki/768 https://7d3.ru/wiki/768#respond Tue, 13 Mar 2018 10:20:19 +0000 http://7d3.ru/?p=768 vim ~/.pgpass [crayon-6ab6dad2618a7767434711/] chmod 0600 ~/.pgpass psql -X -h сервер -d база_данных -U имя_пользователя -c 'SELECT * FROM table;' psql -X -A -t -h сервер -d база_данных -U имя_пользователя -c 'SELECT * FROM table;' https://postgrespro.ru/docs/postgresql/9.6/libpq-pgpass https://postgrespro.ru/docs/postgresql/9.6/app-psql.html

Сообщение psql появились сначала на Заметки Эникейщика.

]]>
vim ~/.pgpass

сервер:порт:база_данных:имя_пользователя:пароль

chmod 0600 ~/.pgpass

psql -X -h сервер -d база_данных -U имя_пользователя -c 'SELECT * FROM table;'
psql -X -A -t -h сервер -d база_данных -U имя_пользователя -c 'SELECT * FROM table;'

https://postgrespro.ru/docs/postgresql/9.6/libpq-pgpass
https://postgrespro.ru/docs/postgresql/9.6/app-psql.html

Сообщение psql появились сначала на Заметки Эникейщика.

]]>
https://7d3.ru/wiki/768/feed 0
MySQL. Match() отменить ограничение на 4 символа https://7d3.ru/wiki/341 https://7d3.ru/wiki/341#respond Sun, 02 Feb 2014 15:20:28 +0000 http://blog.eburgpoisk.ru/?p=341 Добавьте строку set variable в группу [mysqld] файла /etc/my.cnf (или другого файла, в котором вы храните настройки сервера): [mysqld] ft_min_word_len=2 Рестарт сервера MySQL. Пересоздим индекс FULLTEXT: mysql> ALTER TABLE wtable DROP INDEX wkey; mysql> ALTER TABLE wtable ADD FULLTEXT (wkey); Источник

Сообщение MySQL. Match() отменить ограничение на 4 символа появились сначала на Заметки Эникейщика.

]]>
Добавьте строку set variable в группу [mysqld] файла /etc/my.cnf (или другого файла, в котором вы храните настройки сервера):

[mysqld]
ft_min_word_len=2

Рестарт сервера MySQL. Пересоздим индекс FULLTEXT:

mysql> ALTER TABLE wtable DROP INDEX wkey;
mysql> ALTER TABLE wtable ADD FULLTEXT (wkey);

Источник

Сообщение MySQL. Match() отменить ограничение на 4 символа появились сначала на Заметки Эникейщика.

]]>
https://7d3.ru/wiki/341/feed 0
MySQL ускоряем LIKE() при помощи MATCH() https://7d3.ru/wiki/330 https://7d3.ru/wiki/330#respond Sun, 02 Feb 2014 15:09:24 +0000 http://blog.eburgpoisk.ru/?p=330 При большом количестве записей LIKE (Простой пример%) работает оочень долго. Как вариант можно сначала сделать запрос MATCH(),  а потом уже из него лайк. Чтобы матч заработал, создаем индекс FULLTEXT. Его лучше создавать после занесения данных, тк при его наличии данные добавляются медленнее. mysql> ALTER TABLE wtable ADD FULLTEXT (wkey); mysql> SELECT wkey FROM (SELECT * […]

Сообщение MySQL ускоряем LIKE() при помощи MATCH() появились сначала на Заметки Эникейщика.

]]>
При большом количестве записей LIKE (Простой пример%) работает оочень долго. Как вариант можно сначала сделать запрос MATCH(),  а потом уже из него лайк.

Чтобы матч заработал, создаем индекс FULLTEXT. Его лучше создавать после занесения данных, тк при его наличии данные добавляются медленнее.
mysql> ALTER TABLE wtable ADD FULLTEXT (wkey);

mysql> SELECT wkey FROM (SELECT * FROM wtable WHERE MATCH (wkey) AGAINST ('"Простой пример"' IN BOOLEAN MODE) ) as t2 WHERE wkey LIKE 'Простой пример %' ;

Учтите, если слово имеет меньше 4х символов MATCH() верент пустой результат при настройках по умолчанию. Как исправить.

Сообщение MySQL ускоряем LIKE() при помощи MATCH() появились сначала на Заметки Эникейщика.

]]>
https://7d3.ru/wiki/330/feed 0