isql vs osql
Osql e isql são ferramentas de conectividade usadas para permitir que um SQL Server execute comandos SQL de transação. Eles são importantes, pois funcionam de maneira semelhante ao SQL Server Query Analyzer. Como essas duas ferramentas de conectividade se comparam?
O Osql é um utilitário de linha de comando cuja função principal é fornecer uma interface para a consulta baseada em ODBC para o servidor SQL. O uso do osql substitui o uso do isql na API da biblioteca de banco de dados. Este utilitário vem com o Microsoft SQL Server 2000. As limitações do isql são corrigidas pelo osql.
Entre os usos do osql estão permitir que os usuários insiram interativamente as instruções Transact SQL, que imitam o prompt de comando. O que é recebido como resultado da ação é mostrado na janela do prompt de comandos do osql.
O Osql também permite que os usuários enviem uma tarefa executada pelo osql, que tem a capacidade de especificar se uma única instrução Transact-SQL ou em execução, indica o local exato em que o utilitário com um arquivo de texto contendo instruções Transact-SQL para execução. A saída do osql é normalmente direcionada para um arquivo de texto que pode ser exibido em uma janela do prompt de comando.
A execução do utilitário osql pode ser feita diretamente no sistema operacional, com várias opções que diferenciam maiúsculas de minúsculas. Ao iniciar, o osql aceitará instruções SQL ao enviar essas instruções para o servidor. Os resultados são formatados e exibidos na tela e QUIT ou EXIT são os comandos usados para sair da linha de comando.
Falha ao especificar nomes de usuário ao iniciar o osql é que o SQL Server 2000 verifica as variáveis de ambiente e as utiliza. Um bom exemplo das variáveis ambientais usou o usuário e o servidor. Se as variáveis de ambiente não estiverem definidas, a linha de comandos resultará no uso do nome da estação de trabalho.
O Isql, por outro lado, é um utilitário cuja função principal é permitir a inserção de instruções Transact-SQL, além de arquivos de script e procedimentos do sistema. Ele usa a biblioteca de banco de dados para se comunicar com o Microsoft SQL Server 2000.
O Isql funciona como um cliente de nível do SQL Server 6.5 quando conectado ao SQL Server 2000. No entanto, ele não suporta alguns recursos do SQL Server 2000. A compilação do isql é baseada no ODBC e não suporta alguns dos recursos do SQL Server 2000. O Isql é capaz de executar scripts que o osql não pode executar.
Uma limitação que o isql possui é que ele não suporta Unicode, mas o analisador de consultas SQL, por padrão, salva os scripts SQL no Unicode. Para contornar esse problema, o OSQL é preferido para uso. O ANSI também pode ser usado se o isql precisar ser usado. Outra coisa a notar é que o isql não define nenhuma opção de conexão por padrão. Como ocorre no osql, a falha ao especificar um nome leva o isql às variáveis de ambiente e a falta de variáveis de ambiente leva ao uso do nome da estação de trabalho.
Sumário
Osql e isql são ferramentas de conectividade comuns usadas no ambiente SQL.
Eles permitem que um SQL Server execute comandos SQL de transação.
O utilitário de linha de comando osql tem uma função principal de fornecer uma interface para a consulta baseada em ODBC para o servidor SQL.
O Osql também permite que os usuários enviem um trabalho realizado.
Isql é um utilitário cuja função principal é permitir instruções Transact-SQL.
OSQL suporta Unicode.
O Isql não suporta Unicode. Só pode funcionar com o formato ANSI.
O osql e o isql revertem para o ambiente operacional quando os nomes não são especificados e, se não, são movidos para obter o nome da estação de trabalho.