Hola lista,
Hace algunos días ingrese un mensaje en el grupo de noticias de visual basic
(microsoft.public.es.vb) el cual indica como nombre "Cadena de conexión".
Yo tengo un programa hecho en visual basic 6 con SQL Server 2000. (SQL
Server 2000 SP4, VB 6.0 SP6, WIN2K SP4)
La cadena de conexión que tengo es a través de ODBC y mire los comentarios
que era mucho mejor utilizar el OLEDB nativo para SQL Server, entonces,
decidí cambiar mi conexión de:
lcCadenaConnection = "Server=" & gcServidor &
";Uid=Usuario;Pwd=Contrasena;Database=" & baseDatos & ";driver={SQL Server}"
With Cn
.ConnectionString = lcCadenaConnection
.ConnectionTimeout = 10
.CursorLocation = adUseClient
.Open
End With
a :
lcCadenaConnection="Provider=SQLOLEDB;User ID=Usuario;Initial Catalog=" &
baseDatos & ";Data Source=" & gcServidor & ";Password=Contrasena"
With Cn
.ConnectionString = lcCadenaConnection
.ConnectionTimeout = 10
.CursorLocation = adUseClient
.Open
End With
Pero al realizar este cambio tengo problemas con aquellos sp que contengan
tablas temporales, ya que el RecordSet que me devuelve lo hace cerrado, en
cambio si la conexión la realizo con ODBC no tengo ningún problema, ya que
el RecordSet me lo devuelve abierto.
Saludos y gracias por su tiempo, no espero haberme explayado demasiado
PD. El sp que ejecuto es:
CREATE PROCEDURE CATLSS_AyudaCodxAlmSaldo -- CATLSS_AyudaCodxAlmSaldo
'001','200'
@ALMA_Codigo CHAR(3),
@PROD_CodProd VARCHAR(15)
AS
SELECT ALMA_Codigo, PROD_CODPROD, MAX(SALD_FECSALDO) AS SALD_FECHA
INTO #SALDOS
FROM SALDOS
WHERE ALMA_Codigo = @ALMA_Codigo And PROD_CodProd Like @PROD_CodProd + '%'
GROUP BY ALMA_Codigo, PROD_CODPROD
SELECT C.PROD_CodProd As Código, P.PROD_CodigoAnt As [Cód Antiguo],
CATL_Desc As Producto, T.TIPO_DescC As Unidad,
CONVERT(VARCHAR(20),ISNULL(S.SALD_SaldoF,0.0000)) AS Stock
FROM #Saldos SA
INNER JOIN Saldos S ON SA.ALMA_Codigo = S.ALMA_Codigo AND
SA.PROD_CODPROD = S.PROD_CODPROD AND SA.SALD_FECHA = .SALD_FECSALDO
RIGHT JOIN Catalogos C ON S.SUCR_Codigo = C.SUCR_Codigo AND
S.ALMA_Codigo = C.ALMA_Codigo AND S.PROD_CodProd = C.PROD_CodProd
INNER JOIN Productos P ON C.PROD_CodProd = P.PROD_CodProd
INNER JOIN Tipos T ON T.TIPO_CodTabla = 'UNM' AND C.CATL_UniVenta =
T.TIPO_CodTipo
WHERE
C.ALMA_Codigo = @ALMA_Codigo And
C.PROD_CodProd like @PROD_CodProd + '%' AND
C.CATL_Activo = 'S'
ORDER BY C.PROD_CODPROD ASC
DROP TABLE #SALDOS
Leer las respuestas