```markdown
# node-sybase (Fork de [rodhoward/node-sybase](https://github.com/rodhoward/node-sybase))

Este projeto é um fork do [rodhoward/node-sybase](https://github.com/rodhoward/node-sybase) que adiciona a possibilidade de passar propriedades de conexão extras diretamente ao Java Bridge. Assim, é possível configurar parâmetros adicionais (como `ENCRYPT_PASSWORD`, por exemplo) sem a necessidade de editar um arquivo de propriedades externo.

Uma simples biblioteca wrapper para Node.js que utiliza uma aplicação Java para facilitar o acesso a bancos de dados Sybase via jconn3. O principal objetivo é permitir uma instalação mais simples, sem a necessidade de instalar e configurar ODBC ou FreeTDS. Contudo, é necessário ter o Java 1.5 (ou superior) instalado.

---

## Requisitos

- Java 1.5 ou superior

---

## Instalação

### Via Git

```bash
git clone git://github.com/rodhoward/node-sybase.git
cd node-sybase
node-gyp configure build
```

### Via npm

```bash
npm install sybase
```

---

## Exemplo Rápido

### Uso Básico

```javascript
var Sybase = require('sybase'),
    db = new Sybase('host', port, 'dbName', 'username', 'pw');

db.connect(function (err) {
  if (err) return console.log(err);

  db.query('select * from user where user_id = 42', function (err, data) {
    if (err) console.log(err);

    console.log(data);
    db.disconnect();
  });
});
```

### Passando Propriedades de Conexão Adicionais

Agora, propriedades extras podem ser passadas diretamente no construtor, por exemplo, para ativar a criptografia da senha:

```javascript
var Sybase = require('sybase'),
    logTiming = true,
    javaJarPath = './JavaSybaseLink/dist/JavaSybaseLink.jar',
    // Propriedades adicionais são passadas como um objeto extra (ex: ENCRYPT_PASSWORD)
    db = new Sybase('host', port, 'dbName', 'username', 'pw', logTiming, javaJarPath, { ENCRYPT_PASSWORD: "true" });

db.connect(function (err) {
  if (err) return console.log(err);

  db.query('select * from user where user_id = 42', function (err, data) {
    if (err) console.log(err);

    console.log(data);
    db.disconnect();
  });
});
```

---

## API

A API é bem simples e utiliza callbacks padrão do Node.js, facilitando o uso com Promises. A assinatura completa do construtor é:

```
new Sybase(host: string, port: int, dbName: string, username: string, password: string, logTiming?: boolean, javaJarPath?: string, options?: SybaseOptions)
```

Onde a interface `SybaseOptions` inclui:

```javascript
SybaseOptions {
  encoding: string, // padrão: "utf8"
  extraLogs: boolean // padrão: false
}
```

> **Observação:** No fork, além das opções acima, é possível passar quaisquer outras propriedades que serão encaminhadas ao Java Bridge como pares `CHAVE=VALOR`.

---
## Considerações Finais

- Este fork permite uma configuração mais flexível ao possibilitar o repasse de propriedades extras para a conexão Sybase.
- As alterações no Java Bridge e no chamador Node.js foram feitas de forma a manter a compatibilidade com o funcionamento original, adicionando apenas novas funcionalidades.

Sinta-se à vontade para contribuir e reportar quaisquer problemas!
```