Con VS2005 y SQL Server 2000(el SQL Server esta en otro servidor), mi 
connection string es:
 
Database=NOMBRE_BASE;Server=IP_SERVIDOR;uid=USUARIO;pwd=PASSWORD;
 
Saludos,
 
Matias


From: [EMAIL PROTECTED]: [EMAIL PROTECTED]: [puntonet] ERROR DE 
CONEXIÓN!!!Date: Mon, 8 Jan 2007 13:57:40 -0500








Hola a todos!
Por qué cuándo trato de conectarme a un servidor que no es mi máquina, me da el 
siguiente error: “Timeout expired.  The timeout period elapsed prior to 
completion of the operation or the server is not responding.” Estoy usando 
VS2005 con SQLServer2000. La cadena de conexión que uso es esta: “Data 
Source=SERVIDOR;Initial Catalog=DATABASE;User ID=USER;Password=PASSWORD”, si me 
conecto a mi máquina todo funciona perfectamente.
Nos vemos…
 

Força Barça!!!
---------------------------
Ing. Yudiel Guerra C.
Dpto. Desarrollo SoftwareDeSoft S.A.
---------------------------




From: [email protected] [mailto:[EMAIL PROTECTED] On Behalf Of Julio E. 
SzaboSent: Friday, January 05, 2007 10:47To: [EMAIL PROTECTED]: [puntonet] 
TransactionScope
 
Hola a todos, estoy probando hacer transacciones con TransactionScope, la 
verdad que la sintaxis es bastante sencilla y no requiere de nada extra, solo 
hacer uso de System.Transaction.
Ahora bien, estuve haciendo unas pruebas en mi maquina (Servidor local, Windows 
XP SP 2, SQL Server 2000 Developer Edition) y funciona de maravillas, para la 
comunicación con la DB, utilizo Enterprise Library 2.0.
 
Pero el problema es cuando quiero hacer exactamente lo mismo, pero en otra 
maquina, es decir, lo ejecuto desde la mia pero me conecto a la Db de la otra 
maquina, y esta tiene instalado lo mismo (Windows XP SP 2, SQL Server 2000 
Developer Edition). Investigue un poco de esto y encontré que hay que 
configurar el MSDTC, de la maquina donde se quiere realizar las transacciones, 
con lo cual, marque los checks de Acceso desde la Red, Permitir clientes 
remotos, Permitir Entrantes y Permitir Salientes, también selecciona la opción 
No se requiere autenticación. Pero no hay caso, no funciona. La verdad que 
busque por todos lados, pero no encontre nada, y seguramente, alguno de 
ustedes, ya le ha tocado renegar con esto y me pueda dar una mano.
 
Este es el Error que da:
 
An unhandled exception of type 
'System.Transactions.TransactionAbortedException' occurred in 
Microsoft.Practices.EnterpriseLibrary.Data.dll
 
Additional information: The transaction has aborted.
 
Este es el codigo que ejecuto en el Windows form
 
        Using transScope As New TransactionScope()
 
            Dim objDts As New DataService("Password=;Persist Security 
Info=True;User ID=sa;Initial Catalog=Prueba;Data Source=PCServer01")
 
            ' inserta cuatro registro en la tabla clientes, el Id es 
autonumerico
            Call objDts.ExecuteCommand("Insert into Clientes (Nombre) Values 
('Valor1')") ç aca es donde da el Error
            Call objDts.ExecuteCommand("Insert into Clientes (Nombre) Values 
('Valor2')")
            Call objDts.ExecuteCommand("Insert into Clientes (Nombre) Values 
('Valor3')")
            Call objDts.ExecuteCommand("Insert into Clientes (Nombre) Values 
('Valor4')")
 
            ' obtiene todos los registros recien insertados
            Dim objDt As DataTable = objDts.ExecuteCommandDt("Select * From 
Clientes")
 
            ' por cada registro en Clientes, inserta otro en la tabla Registros
            Dim objDtRow As DataRow = Nothing
            For Each objDtRow In objDt.Rows
                Call objDts.ExecuteCommand("Insert into Registros (IdCliente, 
IdRegistro, Descripcion) Values (" & objDtRow.Item("IdCliente") & ", 1, '" & 
objDtRow.Item("Nombre") & "')")
            Next
 
            ' Commit the transaction.
            Call transScope.Complete()
 
        End Using
 
Este es el Codigo de la clase DataService que se comunica con la DB a travez de 
Enterprise Library 2.0
 
Dim objDb As SqlDatabase = Nothing
 
    '- sobrecargo el operador New, para obtener la CnnString
    '----------------------------------------------------------------------
    Public Sub New(ByVal pCnnString As String)
 
        '- crea la db
        objDb = New SqlDatabase(pCnnString)
 
    End Sub
 
    Public Sub ExecuteCommand(ByVal pStrCmm As String)
        objDb.ExecuteNonQuery(CommandType.Text, pStrCmm)
    End Sub
 
    Public Function ExecuteCommandDt(ByVal pStrCmm As String) As DataTable
 
        '- obtiene los datos solicitados
        Dim objDs As DataSet = objDb.ExecuteDataSet(CommandType.Text, pStrCmm)
 
        '- devuelve
        Return objDs.Tables(0)
 
    End Function
 
Desde ya muchisimas gracias.
 
Saludos a todos ustedes,
 
 
Julio.
_________________________________________________________________
Fixing up the home? Live Search can help.
http://imagine-windowslive.com/search/kits/default.aspx?kit=improve&locale=en-US&source=wlmemailtaglinenov06

Responder a