Visual Basic - ODBC y ADO

Life is soft - evento anual de software empresarial
 
Vista:

ODBC y ADO

Publicado por isaias (23 intervenciones) el 12/09/2001 15:04:18
Bueno, pues resulta que tengo una BD de access 2000, que esta en otra maquina. cuando me intento conectar, me manda un error que dice asi:

[Microsoft][ODBC Microsoft Access Driver] Operation must use an updateable query.

o en español: la operacion deberia ejecutar una consulta actualizable:

Los hechos:

Utilizo ADo, y he utilizado de todo:
'Esta es la que ejecuto a mi pc local, y no hay problema
'cnn.ConnectionString = "PROVIDER=Microsoft.Jet.OLEDB.4.0;User Id=" & "Admin" & ";Data Source=" & App.Path & ".\BD.mdb;"

'cnn.ConnectionString = "PROVIDER=Microsoft.Jet.OLEDB.4.0;User Id=" & "Admin" & ";Data Source= \\Cybercafe 37\c\BD.mdb;"

'cnn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;User Id=admin; pws=sa; Data Source=\\Cybercafe 37\c\BD.mdb;Mode=ReadWrite;"
cnn.ConnectionString = "Provider=MSDASQL.1;Persist Security Info=False;User ID=admin;Data Source=DSNFAure;Mode=ReadWrite;Initial Catalog=\\maquina37\C\BD;"
cnn.CursorLocation = adUseClient
'cnn.Open "DSNAlgo"
cnn.Open cnn.ConnectionString

Pues es que todos los las SQL que hago ya funcionan, de hecho es que cuando solo ejecuto una consulta no hay problema, me trae datos de la otra pc, pero cuando ejecuto un INSERT on un UPDATE, me sale el error que ya te comente,

De antemano gracias , por su tiempo!!

Ahhhhh!, utilizo ADO 2.1!!!!!

Saludos!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

A Mi Manera

Publicado por Renzo Roberto (22 intervenciones) el 13/09/2001 00:04:32
Yo LO Hago con Archivos Ini
temando como se usa

Public INI As String * 100
Public RUTA As String * 100
'FILTRAR EN LA LISTA
Public Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
'Función para obtener ruta de Base de Datos descrita en archivo INI
Public Declare Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Long, ByVal lpFileName As String) As Long

Sub main()
INI = GetPrivateProfileString("TITULO", "CUERPO", " ", RUTA, 100, App.Path & "\System.ini")
CAD = "driver=microsoft access driver (*.mdb);Dbq=" & RUTA & ";uid=admin;pwd=;"
'CAD = "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=tito;Data Source=A1_11"
CN.Open CAD
Form1.Show
End Sub
eso en el modulo
y en un archivo de texto
pon
esto

[TITULO]
CUERPO=C:\systemaidat\basededatos\idat.MDB
osea tu carpeta y tu base de datos
ahora si cambias de maquina solo cambias la ruta y no el exe
ok
Desde Peru Renzo Roberto
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

buena manera

Publicado por isaias (23 intervenciones) el 15/09/2001 20:18:25
gracias, un poco ante de que leyera tu mensage le encontre la forma, y oh sorpresa es exactamnte la misma que la tuya, a exception de que no declaro como tu lo haces.

lo que hago es pasarle el DSN a cnn.open "mi dsn y la ruta de la pc a la que me quiero conectar"

De todas maneras muchas gracias!!,

Saludos!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar