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
