06.12.2010

Drupal -> Получить имя пользователя

Получить имя
global $user;
profile_load_profile($user);
print $user->name;

Проверка роли
if (in_array('user_role', array_values($user->roles)))

02.12.2010

Как отключить phpmyadmin

sudo chmod 000 /usr/share/phpmyadmin/

28.11.2010

Не удалось получить доступ к файлу блокировки /var/lib/dpkg/lock - open (11: Ресурс временно недоступен)

host:~$ sudo rm /var/lib/dpkg/lock
host:~$ sudo rm /var/cache/apt/archives/lock

Числовое представление прав для chmod

–x 1
-w- 2
-wx 3
r– 4
r-x 5
rw- 6
rwx 7

Узнать версию установленных Apachе, MySQL, PHP на Ubuntu

apache:
host:~$ apache2 -v
Server version: Apache/2.2.16 (Ubuntu)
Server built: Sep 8 2010 12:52:08


mysql:
select version()
5.1.49-1ubuntu8

php:
host:~$ php5 -v
PHP 5.3.3-1ubuntu9.1 with Suhosin-Patch (cli) (built: Oct 15 2010 14:17:04)
Copyright (c) 1997-2009 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies

15.01.2009

MS SQL Server: Создание Linked Server



Хочу привести пример создания связанных серверов на примере SQL Server и Firebird.
SQL Server позволяет выполнять команды источников данных OLE DB на удаленных серверах с помощью конфигурации связанных серверов.






Подробнее о конфигурации связанных серверов можно прочитать в BOL .

Из приведенной схемы становиться ясно что нам требуется OLE DB провайдер для соединения с сервером Firebird. Я выбрал бесплатную версию драйвера IBprovider :

IBProvider Free Edition - бесплатная версия, основанная на ядре коммерческого провайдера IBProvider v3. В состав дистрибутива включены следующие компоненты: IBProvider v3 Free, примеры кода, справочная документация, а так же библиотека для работы с OLE DB-провайдерами для Visual Studio 2003/2005 и C++ Builder.
Итак, инструкция к действиям:
  1. Загружаем и устанавливаем IBProvider Free c сайта http://www.ibprovider.com

  2. Открываем SSMS и находим установленный провайдер:

    В свойствах провайдера отмечаем свойства: Dynamic Parametr и Allow inprocess.

  3. Создаем связанный сервер

    USE master
    GO
    EXEC sp_addlinkedserver
    @server = N'MyLinkedServer', --имя сервера (произольное)
    @srvproduct=N'FireBird',
    @provider=N'LCPI.IBProvider.3.Free', --имя провайдера
    @datasrc=N'127.0.0.1:c:\gb\nk.gdb', --DataSource
    @provstr=N'
    user=SYSDBA;password=masterkey;
    ctype=WIN1251;
    truncate_char=false;
    support_odbc_query=true;
    auto_commit=true;'
    GO

    /* Подробнее о параметрах provider string читать на сайте IBProvider */



    EXEC sp_serveroption @server=N'MyLinkedServer', @optname=N'data access', @optvalue=N'true'
    EXEC sp_serveroption @server=N'MyLinkedServer', @optname=N'rpc', @optvalue=N'true'
    EXEC sp_serveroption @server=N'MyLinkedServer', @optname=N'rpc out', @optvalue=N'true'
    EXEC sp_serveroption @server=N'MyLinkedServer', @optname=N'use remote collation', @optvalue=N'true'
    EXEC sp_serveroption @server=N'MyLinkedServer', @optname=N'collation compatible', @optvalue=N'true'

  4. Так как бесплатная версия провайдера не поддерживает использование схем в запросах, а для обращения к связанному серверу SQL Server требует наличие схем в запросе, то запрос типа:

    SELECT * FROM MyLinkedServer...Documents , приведет к ошибке:
    Запрошенная функциональность [IDBSchemaRowset::GetSchemas] доступна только в коммерческой версии IBProvider'а

    По этому используем инструкцию OPENQUERY:

    SELECT * FROM
    OPENQUERY(MyLinkedServer,'select * from documents')