| Categoría : Programación
Autor : Eduardo Romero
Título : Crea DSNs al iSeries con VB Premiado Febrero 2004
Descripción del truco:
¿Alguna vez has deseado que fuera más
sencilla la instalación de programas VB que hacen
uso de ODBC para accesar el AS/400? Esto es tarea fácil
cuando son pocos los usuarios de la aplicación,
pero a medida que éstos van creciendo en número,
se hace más complicado el asegurar que todos
tengan su DSN configurado correctamente tomando en cuenta
que éstos cambian sus PCs y configuraciones constantemente.
Una forma sencilla que encontré buscando soluciones
en el Internet es creando el DSN desde VB a través
de la función \"SQLConfigDataSource\"
incluída en la librería \"ODBCCP32.DLL\". Pueden observar el código anexo y si tienen
dudas con alguno de los valores que deben asignar a
los parámetros, pueden crear un DSN tipo archivo
y después observar sus parámetros y valores
con algún editor de textos. En el ejemplo yo uso la constante ODBC_ADD_SYS_DSN
como parámetro a la función para crear
el DSN, pero incluí la definición de las
constantes para las operaciones de edición y
eliminación de DSNs en caso de que se requieran.
Código
en formato texto
Fecha 04-02-2004
\'Declaración de Variables y funciones para crear el DSN
\' Agrega user data source Private Const ODBC_ADD_DSN = 1 \' Configura o edita user data source
Private Const ODBC_CONFIG_DSN = 2 \' elimina user data source
Private Const ODBC_REMOVE_DSN = 3 \' Agrega system data source
Private Const ODBC_ADD_SYS_DSN = 4 \' configura o edita system data source
Private Const ODBC_CONFIG_SYS_DSN = 5 \' elimina system data source
Private Const ODBC_REMOVE_SYS_DSN = 6
\' NULL Pointer Private Const vbAPINull As Long = 0&
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
Dim intRet As Long
Dim strDriver As String
Dim strAttributes As String
strDriver = \"Client Access ODBC Driver (32-bit)\"
strAttributes = \"SYSTEM=Tu_AS400\" & Chr$(0)
strAttributes = strAttributes & \"DESCRIPTION=Desc DSN\" & Chr$(0)
strAttributes = strAttributes & \"DSN=Nombre_DSN\" & Chr$(0)
strAttributes = strAttributes & \"TRACEFILENAME=DirectorioParaTraceFile\" & Chr$(0)
strAttributes = strAttributes & \"LANGUAGEID=ENU\" & Chr$(0)
strAttributes = strAttributes & \"DBQ=tu_biblioteca\" & Chr$(0)
strAttributes = strAttributes & \"UID=usuario\" & Chr$(0)
strAttributes = strAttributes & \"PWD=password\" & Chr$(0)
strAttributes = strAttributes & \"QAQQINILIB=\'tu_lista_de_bibliotecas\" & Chr$(0)
intRet = SQLConfigDataSource(vbAPINull, ODBC_ADD_SYS_DSN, _
strDriver, strAttributes)
¿Tienes algún truco que quieras compartir con todos los
profesionales de Recursos iSeries AS400?.
Envianoslo y si resulta seleccionado te enviaremos
un vale de Amazon por valor de 50$
|