Abrir base de datos () con csv / txt ejemplo?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />¿Alguien tiene un ejemplo de Open Database () para ODBC en un archivo .csv o .txt? Puedo hacer que ODBC funcione bien con Excel 2007 .xlsx pero no he deducido la cadena de conexión del archivo de texto correctamente para abrir un archivo .csv. Incluso estoy haciendo referencia a la cadena de nombre correcta "DSN de usuario" a través del Administrador de fuente de datos ODBC de Windows. ¿Entonces me pregunto si tengo el "DriverId" incorrecto que se muestra a continuación? Gracias... DJ
Esto funciona:
dt_excel = abrir base de datos ("DSN = Excel Files xlsx; DBQ = C: \ Data.xlsx; DriverId = 790; MaxBufferSize = 2048; PageTimeout = 5;", "SELECT *", "Result");
Esto no funciona:
dt_csv = abrir base de datos ("DSN = Archivo de texto; DBQ = C: \ Data.csv; DriverId = 27; MaxBufferSize = 2048; PageTimeout = 5;", "SELECT *", "Result");
Re: Abrir base de datos () con csv / txt ejemplo?Hola, MS, sí, anoche, finalmente lo descubrí. Sí, es exactamente lo que publicaste anteriormente sintaxis. Gracias por responder a este hilo. Para el registro, esto es lo que aprendí acerca de hacer un ODBC a un archivo de texto. Realmente no tiene nada que ver con JSL, sino la convención / sintaxis de la industria requerida para hacer ODBC a un archivo de texto:
a. Crear schema.ini: debe crear este archivo para admitir el formato de archivo de texto. Colóquelo en el mismo directorio que el archivo de texto. Fácil de crear a través de Bloc de notas. Google schema.ini para el archivo de texto ODBC para más detalles.
segundo. Use la sintaxis ODBC correcta: a diferencia de, por ejemplo, la cadena DBQ ODBC de Excel, la cadena DBQ ODBC del archivo de texto no hace referencia a la ruta + nombre de archivo, sino a la ruta. Esto es de lo que me he colgado. Así que esto es lo que funciona (tal como se publicó anteriormente: la clave es hacer referencia a DBQ = y no a DBQ = y luego dividir el nombre de archivo en la declaración SQL FROM):
dt_csv = abrir base de datos ("DSN = Archivo de texto; DBQ = C: \;", "SELECT * FROM Data.csv", "Result");
do. Detalle menor - sólo una nota. Si está utilizando Win7, hay dos ubicaciones diferentes para el Administrador de ODBC. Una es la ubicación de 32 bits y la otra es la ubicación de 64 bits. Microsoft los nombró como Groenlandia e Islandia (algo engañoso). Solo tenga en cuenta esto cuando / si está agregando / modificando el controlador de archivos de texto ODBC. Escucho en Win8 que pueden hacer estos nombres o identificadores separados de alguna manera.
Win7 ODBC Managers:
32 bits: C: \ Windows \ SysWOW64 \ odbcad32.exe
64 bits: C: \ Windows \ System32 \ odbcad32.exe
De todos modos, lo anterior a.) + B.) Me permite usar JSL para ODBC en un archivo de texto en bruto. Muy agradable... ...DJ
Re: Abrir base de datos () con csv / txt ejemplo?¿Has probado esta variante? Funcionó con un archivo de muestra, sin embargo tuve problemas con los delimitadores. Pero al menos conseguí una tabla con datos (desordenados) del archivo de texto.
dt_csv = Abrir base de datos ( "DSN = archivo de texto; DBQ = C: \;" , "SELECT * FROM Data.csv" , "Resultado" ) ;
Re: Abrir base de datos () con csv / txt ejemplo?Gracias chad Intenté eliminar la cadena "DriverId" y otras cadenas posteriores y aparece el mismo mensaje de error. Es como si no pudiera encontrar mi controlador de archivo de texto (aunque parece que está bien en el administrador ODBC de Windows). Si no, ¿tengo algún tipo de error tipográfico / no coincidencia en mi cadena de conexión? Curioso, ya que todo esto funciona muy bien en Excel (pero mis archivos de datos son csv, así que prefiero no tener que convertirlos a archivos .xlsx para usar ODBC).
Esto no funciona:
dt_csv = abrir base de datos ("DSN = Archivo de texto; DBQ = C: \ Data.csv;", "SELECT *", "Result");
Mensaje de error que resulta:
[Microsoft] [Controlador de texto ODBC] '(desconocido)' no es una ruta válida. Asegúrese de que el nombre de la ruta esté escrito correctamente y de que esté conectado al servidor en el que reside el archivo.
Re: Abrir base de datos () con csv / txt ejemplo?No creo que alguna vez haya hecho referencia a "DriverId" en mis cadenas DSN. ¿Funcionará si lo dejas por completo?