Page 1
more
more
Standard

Conectar Codeigniter con MSSQL en Ubuntu

A continuación muestro como conectar codeigniter con mssql en ubuntu

Para ubuntu 14 con php5

apt-get install unixodbc freetds freetds-dev tdsodbc php5-odbc

Para Ubuntu 16 con php7

apt-get install unixodbc freetds-common freetds-dev tdsodbc php7.0-odbc

Reiniciar Apache

service apache2 restart

Editar /etc/freetds/freetds.conf

[nombre-servidor]
host = 192.168.10.10
port = 1433
tds version = 7.3

La version TDS 7.3 es para SQL Server 2008, para ver un listado de los protocolos visitar este link

 

Editar /etc/odbcinst.ini 

[TDS]
Driver = /usr/lib/x86_64-linux-gnu/odbc/libtdsodbc.so
Description = FreeTDS driver
Setup = /usr/lib/x86_64-linux-gnu/odbc/libtdsS.so

 

Editar /etc/odbc.ini

[mi-servidor]
Driver = TDS
Description = Descripcion 
ServerName = nombre-servidor
Database = bd_ejemplo

El ServerName es el nombre del servidor en el archivo de configuración freetds.conf, en el archivo de configuración de codeigniter debe tener algo así:

$db['mssql'] = array(
'dsn' => '',
'hostname' => 'dsn=my-server;uid=myusername;pwd=mypassword',
'username' => '',
'password' => '',
'database' => 'MyDatabase',
'database' => '',
'dbdriver' => 'odbc',
'dbprefix' => '',
'pconnect' => FALSE,
'db_debug' => (ENVIRONMENT !== 'production'),
'cache_on' => FALSE,
'cachedir' => '',
'char_set' => 'utf8',
'dbcollat' => 'utf8_general_ci',
'swap_pre' => '',
'encrypt' => FALSE,
'compress' => FALSE,
'stricton' => FALSE,
'failover' => array(),
'save_queries' => TRUE
);

y se llama de esta forma:

class Prueba_Model extends CI_Model{
	public function __construct(){
	parent::__construct();
	$this->pruebadb = $this->load->database('mssql', true);
}

 

more
more
Standard

PHP Warning: file_put_contents(TelegramException.log): failed to open stream: Permission denied in …/vendor/longman/telegram-bot/src/Exception/TelegramException.php on line 24

Luego de revisar la línea 24 del archivo al que hace referencia, se puede observar que trata de escribir y añadir un log.

namespace Longman\TelegramBot\Exception;

class TelegramException extends \Exception
{

    public function __construct($message, $code = 0)
    {
        parent::__construct($message, $code);

        $path = 'TelegramException.log';
        $status = file_put_contents(
            $path,
            date('Y-m-d H:i:s', time()) .' '. self::__toString() . "\n",
            FILE_APPEND
        );

    }
}

Pero no tiene permisos de hacerlo. Por lo que hay que darselos a la carpeta en donde se encuentra el archivo php que se esta ejecutando

chmod 777 [carpeta donde se esta ejecutando el script php]

 

more
Standard

Cacti no grafica

En mi caso me quedé sin espacio en disco. Luego cacti dejó de graficar. El problema se encuentra en que se daña una tabla llamada poller_output. Hay que borrarla y volverla a generar con la siguiente consulta:

DROP TABLE IF EXISTS `poller_output`;

CREATE TABLE `poller_output` (
  `local_data_id` mediumint(8) unsigned NOT NULL DEFAULT '0',
  `rrd_name` varchar(19) NOT NULL DEFAULT '',
  `time` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
  `output` text NOT NULL,
  PRIMARY KEY (`local_data_id`,`rrd_name`,`time`) USING BTREE
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
more
Standard

Habilitar el acceso remoto a un servidor MySql en CentOS

Por defecto el acceso remoto a un servidor mysql viene deshabilitado. Este ejemplo aplica para CentOS

Editamos la configuracion de mysql:

nano /etc/my.cnf

Buscamos la linea bind-address y se comenta con un #

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
#bind-address=0.0.0.0

Desde la maquina local se ingresa como usuario root para crear un usuario nuevo con acceso remoto

mysql -h localhost -u root -p

Se crea el usuario:

GRANT ALL PRIVILEGES ON *.* TO 'usuarionuevo'@'localhost' IDENTIFIED BY 'contraseña' WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON *.* TO 'usuarionuevo'@'%' IDENTIFIED BY 'contraseña' WITH GRANT OPTION;

Se reinicia el servicio:

/etc/init.d/mysql restart

Se añade la regla que permite el acceso a través del puerto 3306

iptables -I INPUT -p tcp --dport 3306 -m state --state NEW,ESTABLISHED -j ACCEPT
/sbin/service iptables save 

Y listo, se realiza las pruebas:

mysql -u usuarionuevo -h 192.168.10.50 -p password

Opcional: para descartar que el bloqueo lo esté realizando el firewall se puede deshabilitar para realizar pruebas:

service iptables stop

 

more
more
more
Standard

Solución: El objeto no acepta la propiedad o el método ‘AddEventListener’

En Visual Basic 2015 al usar el herramienta WebBrowser y ejecutar un a url con codigo javascript al compilar aparece el error: El objeto no acepta la propiedad o el método ‘AddEventListener’

addEventListener

El error se soluciona agregando la siguiente línea en el <head> de la página a consultar:

<meta http-equiv="X-UA-Compatible" content="IE=edge">

Este código hace posible la compatibilidad de la página con versiones de Internet Explorer ya que WebBrowser esta usando su motor.

more