Соедините 4D базу данных с R
Я думаю, что Stackru - лучший QA для того, чтобы задать этот вопрос.
Я хотел бы соединить базу данных 4D (пожалуйста, не спрашивайте, почему 4D, это достаточно болезненно, чтобы использовать ее) с математическими инструментами, такими как R (или Matlab или даже C++ или.NET рукописный клиент), но я могу выяснить, Строка подключения!
Я установил 4D ODBC Driver, отредактировал свои источники ODBC, и я могу подключить его через MS Access. Я работаю над W7 Pro. Я уверен, что есть и другие возможности, и я хочу их изучить.
Я проверил различные базы данных строк подключения, но для 4D нет строки подключения (я не спрашиваю себя, почему). Одновременно я напишу в службу поддержки 4D, но я уверен, что некоторые из вас знают ключ или, возможно, подсказку, чтобы решить эту проблему.
2 ответа
Я (несколько неохотно) разработчик 4D днем, парень Python ночью. Когда мне нужно подключиться через SQL к 4D, я использую модуль pyodbc. Я работаю над Windows, поэтому моя строка подключения - это просто мое имя DSN.
import pyodbc
conn = pyodbc.connect('DSN=4D_DSN_Name')
4D_DSN_Name - это 32-разрядный системный DSN, который я создал с помощью драйвера 4D ODBC. Я не сделал ничего особенного в настройке, просто убедился, что у меня есть правильный адрес, порт, имя пользователя и пароль. Остальные настройки по умолчанию работают.
Не прямой ответ, но, возможно, ключ или альтернатива.
Помечен пост Джошуа как ответ, и я добавлю некоторые детали здесь...
Это было так же просто, как использовать имя DSN для всей строки подключения. Вот так в R:
> library(RODBC)
> dbhandle <- odbcDriverConnect('DSN=SomeObscureDatabase')
> dbhandle
RODBC Connection 1
Details:
case=nochange
DSN=SomeObscureDatabase
DRIVER=4D v12 ODBC Driver
Description=4D v12 SQL datasource.
Server=x
Port=19812
UID=x
PWD=x
SSL=true
PhysicalConnectionTimeout=30
LoginTimeout=30
QueryTimeout=240
DefaultPageSize=100
FavouriteImageFormats=*
NetworkCacheSize=128
CharsEncoding=UTF-8
OpenQuery=false