Ligar ao IBM DB2 with.Net usando apenas.referência dll

Eu gostaria de me conectar a uma base de dados DB2, especificamente uma versão iSeries, usando. Net e C# por referência a .dll e não instalar nenhum software no servidor. Atualmente usamos o IBM.Dado.DB2.iSeries.dll , que está instalado como parte do acesso iSeries para o windows. Não quero ter de instalar tudo isso. Mas aparentemente eu não tenho uma opção porque o outro fornecedor IBM.Dado.DB2.o dll também requer que instale software antes que funcione de acordo com to this over stackoverflow post: IBM.Dado.DB2

Existe de qualquer forma para se ligar a partir de. Net C# código para DB2 simplesmente referenciando A.dll no seu código e não instalar outro software no servidor?

eu sei que podes fazer isto com Java e a caixa de ferramentas JT Open (} http://jt400.sourceforge.net porque não fazes isto com a .Net?

Aqui está um exemplo básico de como nós usamos atualmente o IBM.Dado.DB2.iSeries.dll.

String sql = "SELECT 1 FROM SCHEMAX.TABLEX";
System.Data.IDbConnection connection = null;
IDataReader reader = null;
try
{
connection = new iDB2Connection(ConfigurationManager.ConnectionStrings.ConnectionString);
connection.Open();
IDbCommand command = connection.CreateCommand();
command.CommandType = CommandType.Text;
command.CommandText = sql;
reader = command.ExecuteReader();
}
finally
{
try { reader.Close(); } catch (Exception ex) { }
try { connection.Close(); }catch (Exception ex) { }
}
Obrigado pelo seu tempo., welzie

Author: Community, 2010-07-29

1 answers

A minha pergunta foi respondida num fórum da IBM. Aqui estão as respostas.

Https://www.ibm.com/developerworks/forums/thread.jspa?threadID=335816

Resposta 1: Olá Welzie., Embora eu não esteja familiarizado com o JT Open product per say, é mais provável que seja baseado em um driver JDBC Tipo 4, que é um driver Java somente do lado do cliente ( em oposição ao driver JDBC Tipo 2 mais antigo que exigia um componente não-Java no cliente ). Sendo apenas um driver Java, permite o JT abrir para fazer o que estás a descrever. O driver. NET, no entanto, tem uma estrutura de dependências muito mais complicada, e como tal, requer vários DLLs para ser minimizado sobre o cliente, tanto gerenciado e não-gerenciado. Além disso, a conectividade a um servidor de iSeries também exigiria uma licença de conexão DB2 para estar disponível no cliente. Portanto, a instalação de cliente mínima que é necessária para suportar a conectividade.NET a um servidor DB2 é o Driver do servidor de dados IBM ( que é cerca de 40 MB instalado). Dados IBM Driver do servidor é um pacote de cliente distribuído livremente que pode ser baixado do site da IBM. No entanto, como eu disse acima, para se conectar a um servidor de iSeries, você precisaria de uma licença de conexão DB2 também.

No que diz respeito, Alex

Resposta 2: A IBM.Dado.DB2.iSeries.DLL provider requer muitas outras partes do IBM i Access Para Windows product, por exemplo para lidar com a pilha de comunicações TCP/IP, Segurança/tratamento logon, conversões CCSID, etc. Não pode ser copiado ou instalado como um soldado independente.

 8
Author: Blake Mills, 2010-08-06 18:21:50