Categorías destacadas
programacion php    
Lista de foros

SQL Server: Error en Cadena de Conexión en JavaScript


ab mptc
09 de Febrero del 2011

Hola,

Tengo un problemon, hemos migrado de SQL Server 2000 a SQL Server 2005, y va todo bien menos una cosa (el famoso problemon). Al hacer consultas a base de datos desde un Script de cliente, utilizando JavaScript, por ejemplo:




Me da el siguiente error:




Sin embargo si hago lo siguiente desde VbScript:




Funciona perfectamente.

He estado mirando por Internet, he jugado con la cadena de conexión, pero no he conseguido nada. Tengo un montón de funciones en JavaScript, y espero no tener que pasarlas a VbScript.
Al usar alguna de las funciones de JavaScript que llaman a base de datos, no sale el error directamente, se queda la página bloqueada unos 15 segundos y después sale el error. Por lo que he leído, al no salir instantáneamente el error no es un problema de usuario o contraseña, sino de que intenta localizar el servidor de base de datos y no lo localiza. Sin embargo desde VbScript lo encuentra sin ningún problema.

¿Se os ocurre alguna idea?

Muchas gracias de antemano y un saludo.


ab mptc
09 de Febrero del 2011

Hola,

Tengo un problemon, hemos migrado de SQL Server 2000 a SQL Server 2005, y va todo bien menos una cosa (el famoso problemon). Al hacer consultas a base de datos desde un Script de cliente, utilizando JavaScript, por ejemplo:

var Cn=new ActiveXObject(\"ADODB.Connection\");
var Rs=new ActiveXObject(\"ADODB.Recordset\");
Cn.Open(\"Provider=SQLOLEDB.1;password=xxx;Persist Security Info=True;User ID=xxx;Initial Catalog=xxxx; Data Source=C33000ASQLEXPRESS\");

strSQL = \"SELECT * from TABLA\"
Rs.open(strSQL,Cn);

Me da el siguiente error:

[DBNETLIB][ConnectionOpen (Connect()).] No existe el servidor SQL Server o se ha denegado el acceso al mismo.

Sin embargo si hago lo siguiente desde VbScript:

Set Cn = CreateObject(\"ADODB.Connection\")
Set Rs = CreateObject(\"ADODB.Recordset\")
Cn.Open \"Provider=SQLOLEDB.1;Password=xxx;Persist Security Info=True;User ID=xxx;Initial Catalog=xxx; Data Source=C33000ASQLEXPRESS\";

Rs.Open \"Select * from TABLA\" , Cn

Funciona perfectamente.

He estado mirando por Internet, he jugado con la cadena de conexión, pero no he conseguido nada. Tengo un montón de funciones en JavaScript, y espero no tener que pasarlas a VbScript.
Al usar alguna de las funciones de JavaScript que llaman a base de datos, no sale el error directamente, se queda la página bloqueada unos 15 segundos y después sale el error. Por lo que he leído, al no salir instantáneamente el error no es un problema de usuario o contraseña, sino de que intenta localizar el servidor de base de datos y no lo localiza. Sin embargo desde VbScript lo encuentra sin ningún problema.

¿Se os ocurre alguna idea?

Muchas gracias de antemano y un saludo.


ab mptc
11 de Febrero del 2011

Por fin, lo hemos solucionado

Hemos reinstalado el SQL Server 2005, y en vez de dejarle que ponga el nombre de instancia por defecto: C33000ASQLEXPRESS , le hemos puesto como nombre de instancia: C33000A

Y por fin funcionó.

Y además creo que ya tengo la explicación de la causa del error: el backslash. JavaScript consideraba que le estaba indicando un carácter especial, y por eso no funcionaba.

Saludos.

 
BBDD
Entornos de desarrollo
Entretenimiento
Herramientas
Internet
Lenguajes de script
Lenguajes imperativos
Lenguajes orientados a objeto
Otros lenguajes
Plataformas
Teoría
Varios
Copyright © 1998-2011 Programación en Castellano. Todos los derechos reservados
Datos legales | Politica de privacidad | Contacte con nosotros | Publicidad

Diseño web y desarrollo web. Un proyecto de los hermanos Carrero.

Red internet:
Juegos gratis | Servidores dedicados
Más internet: Password | Directorio de weblogs | Favicon