Estoy realizando un proyecto usando la clase común DBProviderFActory, para poder hacer conexiones con Bases de Datos de distintos proveedores.
Hasta ahorita la conexión con SQL y ORacle me ha funcionado bien. Con lo que tengo problemas es al realizar la conexión a ACCESS con ODBC y pasarle parámetros a el comando.
Tengo el siguiente código:
Código:
:Public Sub EjecutaComando(ByVal sSentencia As String, ByVal sParametros As ArrayList) Try Me.Conexion() Me.Comando(sSentencia) Me.Parametros(sParametros) Me.AbrirConexion() mComando.ExecuteNonQuery() Catch ex As DataException Throw ex Finally Me.CerrarConexion() End Try End Sub Public Sub Parametros(ByVal sParametros As ArrayList) Dim sParametro As clsParametros Dim Count As Integer For count = 0 To sParametros.Count - 1 sParametro = CType(sParametros(count), clsParametros) Dim mParametro As DbParameter mParametro = mComando.CreateParameter() mParametro.ParameterName = IIf(mTipoServidor = enTipoServidor.ORACLE, sParametro.Nombre.Replace("@", ":"), sParametro.Nombre) If (sParametro.EsNumero) Then mParametro.DbType = DbType.Decimal mParametro.Value = sParametro.ValorEntero Else mParametro.DbType = DbType.String mParametro.Value = sParametro.ValorCadena End If mComando.Parameters.Add(mParametro) Next End Sub
El error que me da al ejecutar la consulta es el siguiente.
"ERROR [07006] [Microsoft][Controlador ODBC Microsoft Access]Infracción del atributo de tipo de datos restringido"
Si alguien me pudiera ayudar se le agradece.