Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2004.11.21;
Скачать: [xml.tar.bz2];

Вниз

связь с MySQL: почему ZeosLib работает, а через механизм ADO -нет   Найти похожие ветки 

 
TALLA   (2004-10-23 11:54) [0]

Используя:
ADOConnect = createoleobject("ADODB.Connection");
ConnectionString = "Provider=SQLOLEDB.1;server=127.0.0.1;User ID=root;Persist Security Info=False;Initial Catalog=test";
ADOConnect.Open(ConnectionString);
Секунд через 15 показывает Exception - Server not exists or access denied.
Может строка connection string не верна или чего-нибудь в настройках MySQL изменить?
Через phpMyAdmin и MySQL Administrator все ок, через Access работает отлично именно этим способом.


 
sniknik ©   (2004-10-23 17:45) [1]

естественно, приведенная строка для MSSQL.

> через Access работает отлично именно этим способом.
вряд ли, сравни строки, там она другая.


 
TALLA   (2004-10-24 15:19) [2]

С помощью build ConnectionString в итоге получилось следующее
Provider=MSDASQL.1;Persist Security Info=False;User ID=root;Data Source=sample-MySQL;Extended Properties="DSN=sample-MySQL;DATABASE=test;SERVER=127.0.0.1;UID=root;PORT=3306;OPTION=0;STMT=;"
И соответственно использование:

uses ADOInt;

Var R:_RecordSet;i,j:integer;s:string;
begin
R:=ADOConnection1.Execute("SELECT * FROM test",cmdText,[]);
// R.Save("d:\1.txt",2);//0 - as is, 1 - xml, 2 -
For i:=0 to R.RecordCount-1 do begin
 s:="";
 For j:=0 to R.Fields.Count-1 do begin
  s:=s+string((R.Fields.Item[j] as Field).Value)+" ";
 end;
 ListBox1.Items.Add(s);
 R.MoveNext;
end;

Работает, с учетом установленного у меня драйвера MyODBC с www.mysql.ru
А будет ли работать с чужим хостингом (база mysql у них)?


 
Nikolay M. ©   (2004-10-24 16:11) [3]


> будет ли работать с чужим хостингом (база mysql у них)?

Если права тебе соотв. дадут, то будет.
Чисто из интереса: а зачем АДО, почему Зеос не подошел?


 
TALLA   (2004-10-24 17:54) [4]

Потому что Delphi это хорошо, но я 1C программист с недавних пор:)
там есть супер универсальная функция СоздатьОбъект(), которая позволяет управлять word, excel, mysql, etc.
Но нет ни одной функции для работы с dll :(
Так и живем.


 
Nikolay M. ©   (2004-10-24 20:00) [5]

Кошмар какой... :(
А ты создай на Дельфи СОМ-объектик и дергай его из 1С :)))


 
sniknik ©   (2004-10-24 21:39) [6]

Nikolay M. ©   (24.10.04 20:00) [5]
такой уже есть ADO... не что иное как упомянутый "СОМ-объектик", элементарно из 1С вызывается.


 
TALLA   (2004-10-25 01:39) [7]

>sniknik
Именно так и делаю.
>Где бы хелп толковый почитать про создание COM-объектов. Я пытался через wizard - мертвое дело. Ничего не понимаю. Хотя для задач кроме MySQL явно придется это дело изучить :(


 
Nikolay M. ©   (2004-10-25 09:04) [8]


> sniknik ©   (24.10.04 21:39) [6]
> Nikolay M. ©   (24.10.04 20:00) [5]
> такой уже есть ADO... не что иное как упомянутый "СОМ-объектик",
> элементарно из 1С вызывается.

Само собой, но я имел ввиду, что можно создать свою прослойку в виде СОМ-объекта с любыми компонентами доступа, хоть через зеос, хоть через АДО, не суть важно, а из 1С дергать только высокоуровневые операции "Удалить клиента", "Списать деньги со счета" и т.д.


 
sniknik ©   (2004-10-25 11:02) [9]

> "Удалить клиента", "Списать деньги со счета" и т.д.
т.е. все что 1С делает перекинуть в свой обьект? не пойдет. не в смысле нельзя сделать, а просто муторно это для 1С. там и структуру базы/название таблиц/полей узнать проблемно... а уж изменять проще всего вызвав сам 1С в качестве сервера автоматизации. получится один другого дергает ;о)).
у нас на самом деле доступ к базе 1С делают только средствами 1С, а вот базу продаж (очень много данных) держат с своей структуризированной базе и к ней делают доступ через ADO, скорость по сравнению с тем же на 1С на пару порядков выше.
считаю такой "симбиоз" вполне нормален.


 
Nikolay M. ©   (2004-10-25 11:48) [10]


> т.е. все что 1С делает перекинуть в свой обьект?

Дык ему все равно это придется руками делать. База-то MySQL-ная, а не 1С-овская. Впрочем, от задачи все зависит. Наверное, на 1С крутится бэк, а на мускуле - фронт.


 
TALLA   (2004-10-25 18:43) [11]

Вся база и операции только в 1С.
На MySQL только прайс лист выкидывается на сайт.
Вот думаю, как буферизацию изменений лучше сделать (чтобы кнопка Добавить или Изменить работала не сразу, а раз в 3 часа).
По идее проще сделать таблицу-буфер с одной колонкой. И глобальный таймер на истечение срока. Впрочем, это уже совсем другая история:)

Тема закрыта.



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2004.11.21;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.037 c
1-1100028318
Реактор
2004-11-09 22:25
2004.11.21
Числа, большие чем 2^63


1-1100090024
Angela
2004-11-10 15:33
2004.11.21
Как разделить Shape с помощью Splitter


14-1099243806
123
2004-10-31 20:30
2004.11.21
MS-DOS


1-1100077166
StarCon
2004-11-10 11:59
2004.11.21
Refresh RxDBGrid


14-1099829046
John
2004-11-07 15:04
2004.11.21
Как заставить работать приложения JavaBuilder a?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский