O proguard não vai criptografar. Na verdade ele nem criptografa, ele ofusca (são coisas bem diferentes).
Você vai ter que criptografar isso na mão (e descriptografar no programa).
Dependendo de como você está fazendo, pode usar recursos de um servidor de aplicação. O JBoss, por exemplo, permite que você tenha a senha de um datasource criptografada. Bastaria você não usar a conexão diretamente no seu sistema (que é algo recomendável) e usar o datasource do servidor de aplicação (estou assumindo que você esteja usando um servidor de aplicação).
[quote=magalli]Minha aplicação é desktop e a conexão é feita em rede local,
qual é o melhor caminho para criptografar o programa ??[/quote]
Você já imaginou como seria criptografar o programa? Primeiro você teria que criptografar os bytecodes e escrever um Classloader que os descriptografasse antes de carregar (sem contar os problemas envolvidos com plataformas e ferramentas que usam classloaders próprios). Isso daria tanto trabalho que é um dos motivos pelos quais não se costuma fazer isso. Você pode ofuscar o código-fonte com ferramentas como o proguard, mas isso não impede alguém de fazer uma engenharia reversa no código.
Se quiser reduzir ao máximo a possibilidade de engenharia reversa, não use Java. No seu caso em questão, eu acredito que você precise melhorar o local de armazenamento da senha e não criptografar a string de conexão. Nesse caso você só precisaria deixar a senha de fora do código-fonte e fazer o programa ler essa senha (aí você pode, inclusive, criptografar a senha se quiser).