Pergunta

Estamos tentando conectar a uma instância do SQL Server usada pelo sistema ACT CRM. Eles conseguiram coisas bloqueio para baixo por isso não é possível conectar-se ao back-end SQL usando ODBC (há alguma utilidade especial que irá adicionar suporte ODBC que você pode instalar, se você comprar a versão primo do software, mas isso é apenas loucos).

O método recomendado de se conectar a bancos de dados de teses está usando uma conexão OLEDB.

Alguém tem alguma truques / ideias / etc ... para saber como fazer e usar uma conexão OLEDB de Java?

Isto não tem que ser JDBC se isso não é possível. Tudo o que realmente precisa fazer é executar uma consulta SELECT que retorna dois campos e analisar esses valores de campo para cada linha. Eu tenho muito pouca experiência com OLEDB, então 'utilização JACOB' pode ser uma resposta boa, mas eu apreciaria alguns detalhes sobre o que as chamadas COM seria realmente tem que ser.

Foi útil?

Solução

Eu sei que este é antiga, mas poderia ajudar alguém saber como eu fiz isso

I descritos mais detalhadamente como fazê-lo Aqui .

Outras dicas

Isso não é problema seu. O problema é a maneira como eles têm bloqueado o servidor. Basicamente na inicialização parece para outros fins que ACTUser e remove-los logins.

Você pode desbloqueá-lo muito facilmente embora, então você será capaz de se conectar da maneira usual.

https://serverfault.com/questions / 77712 / sqlserver-need-to-access-um-ato-database-para-data-migração

Eu consegui meu desbloqueio mas eu esquecer como ... Eu acho que eu comecei-o no modo de usuário único, em seguida, fez algumas coisas engraçadas envolvendo descriptografar um proc armazenado no banco de dados mestre e editá-lo para remover essa "funcionalidade" . Que por sua vez envolvido usando SQLTrace para ver o que comanda ACT estava enviando.

Eu sugiro que você pergunte sobre o servidor falha.

Java não pode acessar OLE DB diretamente. Você precisa fazer isso em outro idioma, como C ++ ou C #. Então você pode acessar via JNI ou processo externo. Se você não quer escrever a parte nativa do JNI auto então você pode usar JACOB como você sugerir isso. Mas eu acho que um processo externo tomar o pedido parecem ser mais simples.

Ou use: http://uda.openlinksw.com/jdbc / mt / JDBC-sqlserver-mt / Eles desenvolvem todos os tipos de motoristas. Eu usei esta empresa antes de ...

Duas maneiras de resolver esta questão.

  1. O Spawn de java um proc externa (c #, C ++, etc) que se conecta a sqlsrv usando OLE DB e redirecionar a stdin, stdout e stderr para o seu programa java.
  2. Criar um C # ouvinte em uma porta específica e ter java passar todos os pedidos através de um cliente para esse ouvinte.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top