La Web del Programador: Comunidad de Programadores
 
    Pregunta:  29901 - ASIGNAR TIEMOUT AL CAMBIAR LA CONEXIóN...
Autor:  DBA MAC
Tengo que reconectar el proyecto de mi aplicación en tiempo de ejecución y hago lo siguiente:

con = "PROVIDER=SQLOLEDB.1;INTEGRATED SECURITY=SSPI;PERSIST SECURITY INFO=FALSE;INITIAL CATALOG=" & BD & ";Use Procedure for Prepare=1;Auto Translate=True;CONNECT TIMEOUT=300;General TimeOut=300;Workstation ID=" & SQL & ";DATA SOURCE=" & SQL

CurrentProject.OpenConnection con

El problema es que al mirar después la conexión real, NO me aparecen ciertos valores que yo le he indicado, y uno de ellos es el TimeOut.

La cuestión es que si lo hago utilizando el menú..Archivo/Conexión SI que lo hace.

?Qué puedo hacer?

  Respuesta:  Josune Elustondo
Hola:
me gustaria pder ayudarte, yo tengo una aplicacion y cuando y cada vez que abro una nueva conexion para un procedimiento, ejecuto este enlace en cuestion de cuantos parametros tenga el procediminto, este en concreto es para cuando no tiene parametros.
Aqui tienes el valor commandtimeout que esparo que te valga mi ejemplo.
SaLUDOS

Public cnn As ADODB.Connection
Public cmd As ADODB.Command
Public prm As ADODB.Parameter
Public rst As ADODB.Recordset
Public fld As ADODB.Field
Public strCnn As String
Public formulario As String
Public usuario As String
Function Conex0Param(cmdText As String)
Set cnn = New ADODB.Connection
strCnn = "[Cadena de enlace]
cnn.Open strCnn
cnn.CursorLocation = adUseServer
Set cmd = New ADODB.Command
cmd.CommandText = cmdText
cmd.CommandType = adCmdStoredProc
cmd.commandtimeout=300
Set cmd.ActiveConnection = cnn
cmd.Execute
End Function