J'essaie de créer un package d'installation pour un logiciel vb6 hérité. le logiciel lui-même se connecte à un serveur sql via sqlncli (client natif). J'ai emballé toutes les dépendances et les déployer sur une nouvelle machine exécutant winxp et office2003.Ouverture de session échouée, Crystal Reports 9, serveur VB6, sqlncli
maintenant, à partir de la machine cible, je peux me connecter à la base de données (ms sqlserver 2005) qui s'exécute ailleurs en utilisant tcp/ip. le logiciel hérité se connecte à la DB juste bien et je peux manipuler des données. mais quand j'essaie d'ouvrir un rapport de cristal, les choses deviennent malpropres:
Je reçois une erreur disant "Erreur d'exécution" -2147189176 (80047e48): Échec de la connexion Détails: 01000: [Microsoft] [ODBC SQL Server Pilote] [DBNETLIB] ConnectionOpen (Connect()) "
depuis les rapports ont été conçus sur un système différent, différent db et non ... il y a une boucle avant d'appeler le rapport qui réinitialise les informations db pour chaque tableau:
For i= 1 To numTables
Set crTable = crTables.Item(i)
crTable.SetLogOnInfo dbServer, dbName, dbLogin, dbPasswd
Next
le ConnectBufferString lit « Chaîne de connexion = DRIVER = SQL Server ;; ID utilisateur = utilisateur Mot de passe ;; = ;; Database = MY_D B ;; Server = 192.168.1.3 \ SQLEXPRESS ;; UseDSNProperties = -1 "
Il ne semble pas y avoir moyen de définir explicitement le fournisseur SQLNCLI, au moins je n'en vois aucun. Lors de l'exécution du logiciel sur mon système de développement, tout fonctionne comme prévu.
J'espère que vous pouvez m'aider avec ça. juste pour que nous n'ayons pas à discuter à ce sujet: je pense aussi que ces deux technologies (vb6 et cr9) sont obsolètes, mais la commutation n'est pas une option ici.
ce n'est pas une réponse à pourquoi cela ne fonctionne pas, mais en utilisant le code de ce commentaire que je pourrais trouver un moyen de contourner: http://stackoverflow.com/questions/204611/crystal-report-datasource -remap/217756 # 217756 – BigBlackDog