Cómo conectar una aplicación hecha en VB 6.0 con una bbdd en ms sql server???
Gracias....un saludo

| ||||
para conectar una bd de datos a SQL, para no complicarte con tanto codigo para conectarte, para probar y que entendas te recomiendo que hagas una conexion odbc, en conexion de sistema y que este odbc apunte a tu base de datos. Luego en basic creas un Data Environment que esta dando clic derecho sobre la lista de tus formularios le das agregar y luego DataEnvironment, ya estando ahi asignale un nombre corto, como DE o DE1 por ejemplo, luego de esto, creale una conexion, simplemente dando un clic derecho a DE1 y eliges agregar conexion, a la conexin tambien agregale un nombre corto como CN o CN1, a esta conexion la configuras a que apunte al odbc que creamos anteriormente. este es un ejemplo de como hacerlo editar
Código:
donde dbo_soperadoras es un procedimiento almacenado en tu base de datos.Dim l As Long Dim t As Variant Dim cm As ADODB.Command Dim i As Long On Error GoTo merror If vacio(toperadora_id) Then alerta "Debe definir un Id..." toperadora_id.SetFocus Exit Sub End If Call setinsercion Call inicializar Set cm = DE1.Commands("dbo_soperadoras") cm.Parameters(1) = toperadora_id cm.Parameters(2) = "" 'toperadora_nombre cm.Parameters(3) = "" 'cuenta cm.Execute If cm.Parameters(0) = 0 Then MsgBox "No existe", vbExclamation Call resetbotton toperadora_id.Enabled = True toperadora_id.SetFocus Exit Sub End If toperadora_nombre = cm.Parameters(2) toperadora_cuenta_smsstudio = ALLTrim(cm.Parameters(3)) Call encender toperadora_nombre.SetFocus Exit Sub abortar: Call resetbotton toperadora_id.SetFocus Exit Sub merror: Dim er As ADODB.Error Dim msg As String msg = Err.Description For Each er In DE1.Cn1.Errors msg = msg & er.Description & ": " & er.Number & vbCr Next er MsgBox msg, vbExclamation Resume abortar PERDON, ANTES DE CONTINUAR, QUE DESEAS HACER CON LA CONEXION, ya que el codigo que te dijo Developer y mi metodo son totalmente para lo mismo, pero la conexion es un primer paso, que deseas hacer para tratar de seguir ayudando?? |
| |||
Gracias por las repuestas. Estoy haciendo una aplicación típica de gestión, pues formularios para el mantenimiento de datos de unos trabajadores. Y siempre lo he hecho con una bbdd en access, pero ahora hay q hacerlo con una bbdd de sql server. No se puede hacer también en tiempo de diseño como lo hacía en access ?? saludos..... ![]() |
| ||||
Eje!!! bueno yo no he manejado la forma en que lo hace xcars... por lo que veo la unica diferencia es en el codigo, ya que de igual se necesita crear un dsn que apunte a una base de SQL Server, bueno para conectarse a access yo lo hago de la misma forma, solo que al crear el dsn lo creo utilizando el driver odbc de access y no el de SQL Server. Es mas... en algunas ocasiones he tenido la misma base de datos en access y en SQL Server y puedo utilizar las dos facilmente, en el codigo que yo puse solo cambio el contenido de la variable nombredsn y asi apunto a un origen de datos diferente, independiente si este origen de datos sea de access o de SQLS ![]() |
| |||
Para crear un dsn....en tiempo de ejecución....
Código:
el ejemplo es para MySQL. Tendrás que cambiar el control ODBC por el de SQL Server y los nombres de la base de datos, usuario, etc...'API PARA CREAR DSN DE SISTEMA Private Declare Function SQLConfigDataSource Lib "ODBCCP32.DLL" (ByVal hwndParent As Long, ByVal fRequest As Long, ByVal lpszDriver As String, ByVal lpszAttributes As String) As Long Private Const ODBC_ADD_SYS_DSN As Long = 4 ' Se creará un DSN de sistema Private Const vbAPINull As Long = 0& ' Puntero NULL Sub crearDSN() Dim dl As Long ' Valor devuelto por la función API Dim sAttributes As String ' Aributos Dim sDriver As String ' Nombre del controlador Dim sDescription As String ' Descripción del DSN Dim sDsnName As String ' Nombre del DSN On Error GoTo errorDSN ' Establecemos los atributos necesarios sDsnName = "usuarios" sDescription = "DSN de sistema para controlar los permisos de los usuarios" sDriver = "MySQL ODBC 3.51 Driver" ' Los pares de cadenas acabarán en valor Null sAttributes = "DSN=" & sDsnName & Chr(0) sAttributes = sAttributes & "Server=localhost" & Chr$(0) sAttributes = sAttributes & "User=root" & Chr$(0) sAttributes = sAttributes & "Description=" & sDescription & Chr(0) sAttributes = sAttributes & "Database=mysql" & Chr(0) ' Si deseamos utilizar la autenticación de Windows NT, deberemos de ' especificarlo en la cadena de atributos sAttributes = sAttributes & "Trusted_Connection=True" & Chr(0) ' Creamos el nuevo origen de datos de usuario especificado. ' Si deseamos que aparezca el cuadro de diálogo, tendremos que ' especificar la propiedad «hWnd» del formulario donde se realiza ' la llamada a la función API. dl = SQLConfigDataSource(vbAPINull, ODBC_ADD_SYS_DSN, sDriver, sAttributes) If dl Then 'Se ha creado bien Else MsgBox "Ha ocurrido un error mientras se creaba el DSN de Sistema para MySQL. Posiblemente necesite tener permisos de Aministrador en su máquina." & vbCrLf & "Consulte con el Aministrador de su equipo", vbCritical, "Error" End End If Exit Sub 'ERROR errorDSN: MsgBox "Ha ocurrido un error mientras se creaba el DSN de Sistema para MySQL. Posiblemente necesite tener permisos de Aministrador en su máquina." & vbCrLf & "Consulte con el Aministrador de su equipo", vbCritical, "Error" End End Sub salu2 pd. En tiempo de diseño también se puede, igual que con Access, pero en lugar del motor Microsoft Jet... tendrás que utilizar el de SQL Server.
__________________ Lo importante no es saber, sino tener el teléfono del que sabe :risa: Última edición por sdemingo; 30/05/2005 a las 10:19 |