PDA

Ver la Versión Completa : Consulta ADO con MS SQL Server 2008 Express


Jere_84
15-05-2012, 05:20:17
Mi consulta es la siguiente: Utilizo los componentes ADO para conectarme a una base de datos que tengo en SQL Server 2008 pero estoy teniendo problemas como por ejemplo al abrir los ADO Query de vez en cuendo me aparece una excepcion que me dice: EOleException con el mensaje 'Error desconocido' lo que me hace suponer que estos componentes no funcionan muy bien con el motor SQL Server o quizas yo no los estoy utilizando correctamente algo. Bueno me gustaria saber si alguien los usa de esta manera y si me prodrian dar una mano de como se configura. yo por ejempplo en mi aplicacion tengo un formulario principal con un ADOConnection, luego en los datamodules uso los ADOQuery enlazados a los DataSource estaria bien esto?

Cabe destacar que otras veces funcionan bien y que graban en la BD y todo, pero este error me aparece seguido y no se que es. Cuando ejecuto el .exe el error no aparece.

Muchas Gracias! :)

olbeup
15-05-2012, 08:52:34
Cual es la conexión que estas utilizando, para SQL SERVER 2000 es Provider=SQLOLEDB y para 2005..2008 es Provider=SQLNCLI, quizás sea éste tú problema del error desconocido.

Un saludo.

Neftali [Germán.Estévez]
15-05-2012, 09:02:26
ADO funciona muy bien con SQLServer, en realidad creo que son los que mejor funcionan con este SGBD.
Deberías colocar un ejemplo que podamos probar y darnos datos de la conexión (cómo la heces), sino es difícil saber dónde está el problema.

Jere_84
17-05-2012, 18:07:43
Acabo de revisar y me doy cuenta que estoy usando Provider=SQLOLEDB y tengo 2008. Cual seria el proveedor que tengo que seleccionar?

Jere_84
17-05-2012, 18:18:32
Encontre ese proveedor pero el error me sigue dando al hacer un Insert en el AdoQuery es realmente extraño...

Jere_84
18-05-2012, 04:22:09
Hola de nuevo, el error persiste pero solo ocurre cuando lo ejecuto con el debugger. Si ejecuto el .exe no ocurre y creo que se debe a que el form es una opción de ABM clientes y tengo varios DbLookupComboBox en donde cargo paises, provincias y demas. ¿Alguien sabe como solucionar esto problema? o a alguien le ha ocurrido?

DataModuleClienf.ADOQueryNumero.Open;
CodClien:= DataModuleClienf.ADOQueryNumero.FieldByName('CodigMax').AsInteger;
DataModuleClienf.ADOQueryNumero.Close;

DataModuleClienf.ADOQueryTipoDocum.Open;
DataModuleClienf.ADOQueryCiudad.Open;
DataModuleClienf.ADOQueryPais.Open;
DataModuleClienf.ADOQueryClientes.Open; <--- Debugger exception class EOleException 'error desconocido'.
DataModuleClienf.ADOQueryClientes.Insert;

JfDbEditCodig.Value:= CodClien + 1;
JfDbLookupComboBoxTipoDocum.Value:= 1;
FormuClaseAbmf.ADOQueryABM.Close;
FormuClaseAbmf.Visible:= False;


Muchas gracias por las sugerencias!

olbeup
18-05-2012, 08:21:48
Como dice Neftali, cual es la conexión o parámetros que utilizas, para hacer una valoración o sugerencias
Acabo de revisar y me doy cuenta que estoy usando Provider=SQLOLEDB y tengo 2008. Cual seria el proveedor que tengo que seleccionar?
El Provider que debes de utilizar es Provider=SQLNCLI

Un saludo

Paoti
22-05-2012, 18:21:07
Prueba con esta cadena de conexión (es su sintaxis) si deseas ver más opciones, más abajo pongo la dirección donde muestran las diferentes formas de conectarse a una base de diferentes tipos.


Provider=SQLNCLI10;Server=myServerAddress;Database=myDataBase;Uid=myUsername; Pwd=myPassword;



link

http://www.connectionstrings.com/sql-server-2008

Jere_84
22-05-2012, 18:24:34
Prueba con esta cadena de conexión (es su sintaxis) si deseas ver más opciones, más abajo pongo la dirección donde muestran las diferentes formas de conectarse a una base de diferentes tipos.


Provider=SQLNCLI10;Server=myServerAddress;Database=myDataBase;Uid=myUsername; Pwd=myPassword;



link

http://www.connectionstrings.com/sql-server-2008

Gracias probé pero me di cuenta que el error sucede cuando tengo DbLookupComboBox es un error que tiene este componente con ADO los busque en los foros y a muchos les paso, por suerte el error es solo con el debugger y no en el exe, pero molesta para debuggar el código.