подключение к базе данных quickbooks через odbc с помощью php? - PullRequest
4 голосов
/ 03 марта 2009

[редактировать]
Мы собираем данные о кредитных заявках от пользователей в веб-форме.

Я не привязал свою веб-форму непосредственно к QB.

Я понятия не имею, какова структура таблицы QB для этого набора данных - и как она отображается для пользователя, потому что я никогда не работал непосредственно с QB. Другие в моем офисе делают, однако.


Я все равно буду благодарен за любую информацию об открытых источниках / бесплатных опциях.


Я упросту проблему, удалив первую желаемую опцию.

Давайте просто поговорим об импорте плоских файлов в быстрые книги.

У меня нет копии быстрых книг, с которой я могу играть, поэтому я не знаю, какие существуют варианты, которые являются родными для быстрых книг, но я вижу в Интернете некоторые разговоры о том, что QB ожидает импорт файла .ini. (пока не знаю формат, который он ожидает, но я выясню это позже)

Пожалуйста, поделитесь своей историей, если вам удалось импортировать простой файл из mySQL в быстрые книги или узнать о ссылках, предлагающих понимание (сейчас я не нахожу много).
[конец редактирования]

Я понимаю, что этот сценарий, вероятно, необычен, но мне нужно подключиться к существующей базе данных quickbooks одним из двух способов.

1) либо непосредственно из скрипта php, запущенного на нашем веб-сайте, - вставьте предоставленные пользователем данные непосредственно из Интернета в quickbooks.

или

2) помещать данные пользователя непосредственно в базу данных mySQL, а затем экспортировать данные из mySQL в quickbooks.

Если первый вариант жизнеспособен, я был бы признателен за ваши мысли по поводу подключения odbc к базе данных quickbooks.

Могу ли я пойти по этому поводу с чем-то вроде:

try {
  $conn = @odbc_connect("DSNName", "", "", "SQL_CUR_USE_ODBC");
  // un and pw parameters are passed as empty strings since the DSN 
  // has knowledge of the password already.
  // 4th parameter is optional

  $exec = @odbc_exec($conn, $insert) or die ("exec error");
  echo "success!";
}
catch (Exception $e) {
  echo $e->getMessage();
} // end try catch

Ответы [ 5 ]

4 голосов
/ 07 марта 2009

Третий вариант может работать для вас.

Вариант 1 - QODBC: Если вы ищете простоту, Qodbc, как упоминалось выше, является основным продуктом, который делает это, и стоит денег.

Вариант 2 - Quickbooks SDK: Если вы хорошо работаете с SDK и используете их XML-структуры, вы можете найти отличные ресурсы в сети разработчиков. Учетные записи бесплатны для SDK, и вы можете легко пройти через них.

Это сводится к одному: если вы хотите получить его бесплатно, вы, возможно, не сможете получить его по-своему. QODBC по разумной цене в последний раз, когда я проверял.

Единственное, что важно знать при любом подходе - обеспечить доступность таблиц, в которые вы хотите записывать данные в Quickbooks, в SDK и QODBC.

По мере того как Quickbooks становился старше, доступ к некоторым таблицам исчезал. Например, невозможно напрямую записывать данные в таблицу вычетов из заработной платы, так как она конкурирует с системой расчета заработной платы Intuit.

Вариант 3 - Прямые манипуляции с SQL: Intuit шифрует свои данные в своих данных SQL, делая их недоступными для прямого доступа.

Редактировать: Вариант 4 - Quickbooks Web Connector Оболочка SOAP, которая находится на компьютере с Quickbooks и взаимодействует с ним для вас. Также бесплатно.

Удачи!

1 голос
/ 11 марта 2009

Если вам нужен ODBC-доступ, QODBC - ваш единственный выбор.

В более новых версиях QuickBooks Enterprise Edition используется серверная часть базы данных SQL, но не позволяет напрямую обращаться к таблицам SQL. Они блокируют базу данных, поэтому вы не можете запросить какие-либо данные.

AccessBooks - это еще одна опция, которая отображает данные из QuickBooks в MySQL, а затем может отправлять данные обратно в QuickBooks. Я слышал, что это может быть немного облупленным.

Вы можете использовать QuickBooks SDK и заставить его делать практически все, что вы можете делать в графическом интерфейсе QuickBooks, но это немного больше работы. Если вы интегрируете веб-приложение с QuickBooks, вам нужно использовать Web Connector. Я являюсь разработчиком фреймворка QuickBooks / PHP, который достаточно стабилен и популярен и, вероятно, будет вам полезен:

https://idnforums.intuit.com/messageview.aspx?catid=56&threadid=9164

Я нахожусь в процессе добавления поддержки для зеркального отображения всей схемы QB в базу данных, ее синхронизации и последующей передачи изменений обратно в QuickBooks. Хотя работа еще не завершена. В настоящее время он извлекает данные из QuickBooks и синхронизирует их на удивление хорошо.

Вы также можете импортировать файлы IIF в QuickBooks, но теперь Intuit поддерживает неподдерживаемый и устаревший формат. Они настоятельно рекомендуют вам не использовать его, вот несколько причин, почему: http://wiki.consolibyte.com/wiki/doku.php/quickbooks_integration_methods

0 голосов
/ 23 января 2011

В QuickBooks Enterprise 2011 это изменилось, и вы можете иметь реальный доступ к ODBC (хотя и с ограниченными правами и к ограниченному количеству таблиц), а затем использовать инструмент SQL для сопоставления через доступ ODBC.

0 голосов
/ 07 марта 2009

Не знаете точно, для чего нужен импорт: какие транзакции вы вводите в быстрые книги?

У меня был большой успех с использованием QuickBooks SDK для передачи данных в quickbooks, особенно данных транзакций, так что такие вещи, как выверки, проводка и т. Д., Обрабатываются самими quickbooks. Вам доступна эта опция?

Вы можете получить много информации о SDK здесь

0 голосов
/ 04 марта 2009

Возможно, вы уже видели это, но если вы этого не сделали, вам захочется взглянуть на него, так как кажется, что он содержит требования, инструкции по установке и пример кода для вашего первого сценария.

http://www.qodbc.com/QODBCweb.htm

...