Requete select plus précise [Résolu] [MSSQL] - SQL/NoSQL - Programmation
Marsh Posté le 16-10-2008 à 12:34:09
Je dirais que ton mode de connexion n'est pas bon.
Toi tu te connectes en mode OLEDB, alors que le programme attends une connexion native SQL pour .NET
En gros, tu utilises une chaîne de connexion du genre :
|
Alors que le programme attends une connexion de ce genre :
|
Marsh Posté le 16-10-2008 à 12:34:56
Pour plus d'infos sur les chaînes de connexion :
http://www.connectionstrings.com/? [...] server2005
Marsh Posté le 16-10-2008 à 13:10:40
En fait, en SQL je n'y connais que dalle
Le serveur SQL n'autorise que les connexions windows authentification.
Donc tu me dis que l'agent SQL de Service Pilot utiliserait une connection OLEDB.
Mais pourquoi parles tu de .Net ?
Merci d'avance.
EDIT:
Arf, je crois comprendre. A cause du "SqlConnection"
Marsh Posté le 16-10-2008 à 14:17:52
'System.Data.SqlClient.SqlConnection' => C'est un namespace de .NET, j'en déduit que ton programme utilise .NET
Le coup de l'authentification Windows, les deux chaînes que je t'ai filé l'utilisent.
La seule différence, c'est que la première utilise la couche OLEDB pour se connecter à SQL Server, tandis que la seconde utilise directement le drivers de .NET
Ce n'est pas à proprement parler spécifique à SQL Server, mais de la couche MDAC de Microsoft qui permet de faire abstraction de la méthode de connection à la base.
Dans ton cas en tout cas, l'erreur vient de là : tu utilises une chaîne de connexion OLEDB, ce qui fait que lorsque le programme essaie d'accéder à la base avec cette chaîne, il se prend un cast exception car il attend une connexion avec le drivers .NET
Cependant, je ne te cache pas que je trouve ça très bizarre. Du moins j'aurais jamais cru que ce soit cette exception qui serait levée dans ce cas.
Marsh Posté le 17-10-2008 à 14:14:03
Merci à toi MagicBuzz,
C'était tout à fait cela.
Les dev l'ont corrigé.
Meric encore pour ton aide.
Marsh Posté le 16-10-2008 à 11:19:14
Bonjour à tous,
Je dois utiliser l'Agent SQL de Service Pilot pour me connecter à un serveur UCCX(cisco) tournant sous une version de MS SQL.
Nous utilisons l'authentification Windows et cela fonctionne.
Cependant, lorsque je passe à l'agent la commande suivante:
select * from dbo.NextSupervisorID
Les logs me retournent cette erreur:
2008-10-16 11:13:46.770 UCCX ** Problem in the SQLAgent Treatment: Unable to cast object of type 'System.Data.OleDb.OleDbConnection' to type 'System.Data.SqlClient.SqlConnection'.
Est-ce que j'oublie quelque chose ?
Merci d'avance
Message édité par kill9 le 17-10-2008 à 14:14:22