& Проблема в том, что БДнаходится на хостинге 1GB. Опыта в программировании таких проектов нет, но нужно очень срочно. БД Аccess, прогу пишу на VB. Уже была мысль заливать базу по ftp на хост, и также скачивать на локальный комп и потом уже обновлять. Но это же порнуха получиться – это сейчас, когда база весит 300 кб, ладно. А потом…?! Помогите….
23 октября 2009 в 0:01
>> SET NOCOUNT…. это еще кто такой? И чем мне грозит его "выкл"?
… setting SET NOCOUNT to ON can provide a significant performance boost, because network traffic is greatly reduced.
>> Как ему это сказать?
буквально. скажете вернуть все записи – вернет все. скажете вернуть только некоторые – вернет некоторые.
22 октября 2009 в 23:04
SET NOCOUNT…. это еще кто такой? И чем мне грозит его "выкл"?
>>в общем, фигня это все. как скажете, так и сделает.
Как ему это сказать?
22 октября 2009 в 23:03
>> на сколько я понял, каждый раз после перезапуска приложения и вызова FILL, база будет скачиваться вся… или только внесенные в нее изменения?
в общем, фигня это все. как скажете, так и сделает.
>> Note:
>> If you are using SQL Server stored procedures to edit or delete data using a DataAdapter, make sure that you do not use SET NOCOUNT ON in the stored procedure definition. This causes the rows affected count returned to be zero, which the DataAdapter interprets as a concurrency conflict. In this event, a DBConcurrencyException will be thrown.
ну и нафига вам такое счастье?
22 октября 2009 в 23:03
>> при нажатии кнопки "обновить" после чтения данных с удаленного сервера опять изменять свойство сonnectionString и записывать изменения в базу на локальном компе. Такой алгоритм покатит?
зачем такие сложности?
22 октября 2009 в 23:02
Вот, я думаю, если при загрузке приложения изменять свойство ConnectionString элемента SqlConnection так, чтобы чтение шло с базы на локальной машине, читать эту базу, а затем опять изменять это свойство на подключение к удаленному серверу. И при нажатии кнопки "обновить" после чтения данных с удаленного сервера опять изменять свойство ConnectionString и записывать изменения в базу на локальном компе. Такой алгоритм покатит?
22 октября 2009 в 23:01
Представляет набор выполняемых над данными команд и подключения базы данных, которые используется для заполнения DataSet и обновления базы данных SQL Server.
SqlDataAdapter служит мостом между DataSet и SQL Server для извлечения и сохранения данных. SqlDataAdapter предоставляет этот мост, отображая Fill, изменяющий данные в DataSet для соответствия их источнику данных, и Update, изменяющий данные в источнике данных для их соответствия DataSet, с помощью выполняемых над источником данных инструкций Transact-SQL. Обновление выполняется построчно. Для каждой вставленной, измененной и удаленной строки метод Update определяет тип выполненных над ней изменений (Insert, Update или Delete). В зависимости от типа изменений шаблон команд Insert, Update или Delete выполняется для распространения измененной строки в источник данных. SqlDataAdapter заполняет DataSet и одновременно создает необходимые таблицы и столбцы для возвращенных данных, если таких таблиц и столбцов еще нет.
( //msdn.microsoft.com/ru-ru/library/system.data…. )
22 октября 2009 в 23:00
>> SqlDataAdapter1
это что за зверь?
22 октября 2009 в 22:05
что за MsSQL и что за FILL?
22 октября 2009 в 22:05
Microsoft SQL Server
SqlDataAdapter1.Fill(DataSet11) (заполнение датасета)
22 октября 2009 в 8:03
Все отлично, подключился к MsSQL. Были проблемы с подключением, оказалось, что мой провайдер блокирует порт 1344. Прописал другой порт. Теперь вопрос глупый такой: на сколько я понял, каждый раз после перезапуска приложения и вызова FILL, база будет скачиваться вся… или только внесенные в нее изменения? Если вся, то как реализовать обновление только измененных данных?
19 октября 2009 в 12:03
Ну всё ясно. Вы под наоборот имеете ввиду перестановку посылок (вместо Z=>A, A=>Z), я же изменение отношений ( вместо Z=>A, дополнение(Z=>A))
19 октября 2009 в 1:00
A=я не знаю все модулей перла.
Z=я не ориентируюсь в перл.
#16 (вы): A!=>Z
#17 (я): все наоборот, Z=>A
#18 (вы): это не наоборот
#19 (я): в моем случае вполне A=>Z (в противоречие #16)
#20 (вы): это тождественно тому, что A=>Z
#21 (я): соглашаюсь, и говорю, что исходно вы утверждали A!=>Z
#22 (вы): наоборот было бы !A!=>!Z
#23 (я): это будет дополнением
#24 (вы): разве дополнение не наоборот?
#25 (я): наоборот – это изменение направления связи
возможные отношения (16 штук):
(A=>Z, A!=>Z), (Z=>A, Z!=>A),
(A=>!Z, A!=>!Z), (Z=>!A, Z!=>!A),
(!A=>Z, !A!=>Z), (!Z=>A, !Z!=>A),
(!A=>!Z, !A!=>!Z), (!Z=>!A, !Z!=>!A).
насколько я могу судить, это различные отношения (отношения заключены в пары по несовместимости, элементы разных пар в одной строке связаны отношением "наоборот").
19 октября 2009 в 0:00
Совсем забыл мат.логику, поправьте, если напортачил..
Разве Z=>A при дополнение (Z=>A) не трансформируется в !Z<=>!A ?
(Хотя имплекация в эквивалентность не прямо переворачивается). Другой предполагаемый вариант: !Z<=>A. Я что-то совсем всё забыл (
18 октября 2009 в 22:04
оно изменяет множество связанных объектов, так что об изменении направления связи говорить не приходится – это уже другая связь.
18 октября 2009 в 21:05
наоборот – это изменение направления связей (причинно-следственных в данном случае).
18 октября 2009 в 21:05
Ну так дополнение разве не изменяет направление связей в данном случае?
18 октября 2009 в 21:04
Ну так дополнение не наоборот разве?
18 октября 2009 в 0:01
это не наоборот, а дополнение.
17 октября 2009 в 23:04
Да, конечно.
Тогда наоборот:
знание моделей пёрла не говорит о том, что вы в нём ориентируетесь.
17 октября 2009 в 23:03
>> И это тождественно тому, что вы не ориентируетесь в perl, т.к. не знаете содержимое модулей
конечно тождественно. вы же утверждали другое: что незнание всех модулей перла не означает того, что я в нем не ориентируюсь.
17 октября 2009 в 12:03
И это тождественно тому, что вы не ориентируетесь в perl, т.к. не знаете содержимое модулей. Наоборот бы было: я ориентируюсь в перле, т.к. знаю содержимое модулей.
17 октября 2009 в 0:00
>> >> >> Вы же, предположим, не знаете программное содержимое всех модулей Perl, все подводные камни ? Но это не говорит о том, что вы не ориентируетесь в perl.
>> >> сначала я в нем не ориентируюсь, а потом не знаю содержимое его модулей и подводные камни. )
>> Перечитайте ещё раз и вы поймете, что "наоборот" нету )))))
именно наоборот. то, что я не знаю содержимого модулей перла, в моем случае вполне говорит о том, что я в нем не ориентируюсь
>>общем, вы, конечно, назвали "провайдеров", но я считаю это просто сгруппированными наборами интерфейсов. Т.е. они за передачу непосредственно не отвечают.
они, собственно, предоставляют единый интерфейс к различным источникам данных. своего рода "драйвера".
16 октября 2009 в 23:04
>> о_О это драйвера к ODBC?
Я успел поправится до вашего ответа )) В общем, вы, конечно, назвали "провайдеров", но я считаю это просто сгруппированными наборами интерфейсов. Т.е. они за передачу непосредственно не отвечают.
>>все как раз наоборот
сначала я в нем не ориентируюсь, а потом не знаю содержимое его модулей и подводные камни. )
Этим утверждением вы согласились с моей посылкой. Перечитайте ещё раз и вы поймете, что "наоборот" нету )))))
16 октября 2009 в 23:03
>> Вы же, предположим, не знаете программное содержимое всех модулей Perl, все подводные камни ? Но это не говорит о том, что вы не ориентируетесь в perl.
все как раз наоборот
сначала я в нем не ориентируюсь, а потом не знаю содержимое его модулей и подводные камни. )
>> Вы называете конкретные драйвера к ODBC. Я думал вы меня чем-то другим порадуйте.
о_О это драйвера к ODBC?
16 октября 2009 в 23:00
Вы называете конкретные драйвера. Я думал вы меня чем-то другим порадуйте.
>smb – это более раннее название того, что сейчас называется cifs. а кто будет писать провайдера для использования telnet в качестве транспорта?
Прекрасно это знаю. Даже точнее, что Cifs – это Samba от MS. Ну вы же попросили меня назвать что-то другое, вместо того что распространено, я и назвал..
>>скорее, это проблема программиста, который не ориентируется в возможностях наличных программных средств.
В adodb никаких ограничений не декларируется. Если что-то не работает из коробки, то надо это допилить самому, либо выкинуть коробку. А не говорить о том, что программист должен знать содержимое всех коробок. Уметь раскопать вручную – желательно, знать – не обязательно. Вы же, предположим, не знаете программное содержимое всех модулей Perl, все подводные камни ? Но это не говорит о том, что вы не ориентируетесь в perl.
16 октября 2009 в 22:04
>> Назовите этих провайдеров по именам, пожалуйста.
их много: SQLOLEDB, JETOLEDB, и так далее. даже для exchange какой-то есть.
>> Не понял суть замечания. Нафига ей по-другому уметь, если есть smb? Но всё равно предложу вариант – telnet
smb – это более раннее название того, что сейчас называется cifs. а кто будет писать провайдера для использования telnet в качестве транспорта?
>> Это уже проблема разработчиков ADODB, которые могут в крайнем случае вообще свой протокол запилить, лишь бы подобных вопросов не возникало.
скорее, это проблема программиста, который не ориентируется в возможностях наличных программных средств.
16 октября 2009 в 22:03
> бред. достаточно иметь MDAC, а это куда менее страшно, чем акцесс.
Ок, я по привычке, предложил старьё : Access + MS JET, в нынешнее время, конечно,MDAC.
>уровнем выше ADODB использует концепцию провайдеров, и искать источники данных – именно их ответственность, а не COM/DCOM. не надо перелагать ответственность на тех, кто за это не отвечает (и отвечать не может, поскольку реализует другой класс задач).
Уровнем выше куда? DCOM? Назовите этих провайдеров по именам, пожалуйста. Мне для общего развития интересно.
>>а записать в текстовый файл на другой машине не по cifs-протоколу (винда других, имхо, и не умеет)?
Не понял суть замечания. Нафига ей по-другому уметь, если есть smb? Но всё равно предложу вариант – telnet
>>для ADODB родным все-таки является OLEDB, а не ODBC (имется OLEDB-провайдер для ODBC, но он со своими причудами). впрочем, как ни странно, ODBC-драйвера также предпочитают работать с файлами на других машинах через cifs, что в случае глобальной сети решительно неприемлемо без прокладки туннелей.
Я бы сказал желательно, но если очень-очень надо поизвращаться, то можно и без туннелей. Но лучше, конечно, пробить связь.Идея в том, что вас, как программиста, использующего ADODB, подобные тонкости совершенно не должны заботить. Это уже проблема разработчиков ADODB, которые могут в крайнем случае вообще свой протокол запилить, лишь бы подобных вопросов не возникало.
16 октября 2009 в 21:04
>> чтобы управлять mdb файлом на целевой машине, там должен стоять Microsoft Access, что, естественно, любому нормальному провайдеру противно.
бред. достаточно иметь MDAC, а это куда менее страшно, чем акцесс.
>> Я вообще не понимаю, как питоновскую либу должно канать где что лежит, она работает с ActiveX Objects (ADO), читай COM/DCOM. Как, что и где найдётся – это проблема DCOM, опять же повторюсь, что ADOdb до этого глубоко фиолетово.
уровнем выше ADODB использует концепцию провайдеров, и искать источники данных – именно их ответственность, а не COM/DCOM. не надо перелагать ответственность на тех, кто за это не отвечает (и отвечать не может, поскольку реализует другой класс задач).
>> Вам не кажется странным, что в текстовый файл или бинарный файл можно что-то записать через континент?
а записать в текстовый файл на другой машине не по cifs-протоколу (винда других, имхо, и не умеет)?
>> Какая к чёрту разница со стороны прикладных средств? Важно где и какой ODBC-драйвер стоит. А это проблема админа, а не программиста.
для ADODB родным все-таки является OLEDB, а не ODBC (имется OLEDB-провайдер для ODBC, но он со своими причудами). впрочем, как ни странно, ODBC-драйвера также предпочитают работать с файлами на других машинах через cifs, что в случае глобальной сети решительно неприемлемо без прокладки туннелей.
16 октября 2009 в 13:01
#9
Да, вам правильно сказали, чтобы управлять mdb файлом на целевой машине, там должен стоять Microsoft Access, что, естественно,любому нормальному провайдеру противно.
Соответственно, если бы вы там заказывали не хостинг, а обслуживание своего сервера и туда поставили бы IIS + MS JET + Access (му-ха-ха-хаха!!!), то вы бы могли со своей машины, посредством Adodb управлять mdb файлом )))))
16 октября 2009 в 13:00
Пофигу, если ADODB не может произвести запись в Access наравне с FoxPro или MySQL, то это бага ADODB или проблемы настройки.Вам не кажется странным, что в текстовый файл или бинарный файл можно что-то записать через континент? Какая к чёрту разница со стороны прикладных средств? Важно где и какой ODBC-драйвер стоит. А это проблема админа, а не программиста.
16 октября 2009 в 13:00
Я вообще не понимаю, как питоновскую либу должно канать где что лежит, она работает с ActiveX Objects (ADO), читай COM/DCOM. Как, что и где найдётся – это проблема DCOM, опять же повторюсь, что ADOdb до этого глубоко фиолетово.
16 октября 2009 в 1:02
Писал в саппорт 1gb. Говорят, удаленно управлять БД access не получится (в смысле если приложение будет работать не на серве).
А SQL говорят можно. Завтра буду пробовать. И гуглить ADOdb. Слышал, но тоже ни разу не сталкивался. Спс, за инфу, потом отпишусь.
16 октября 2009 в 0:00
угу. организуйте каким-нибудь популярным способом запись в такой файл, расположенный на машине на другом континенте. можете вы предложить что-нибудь кроме ftpfs, nfs и прочих юниксовых штучек?
15 октября 2009 в 23:04
ADODB фиолетово где выложен файл: на соседней машине, в локальной сети, в Сиднее или в Вашингтоне и какого он формата mdb или FireBird, Interbase и т.д.. Это проблема транспортного уровня (я уровни OSI имею ввиду), с точки зрения кода ничего не меняется. ADODB не работает именно с файлами напрямую, а работает с интерфейсами СУБД.
15 октября 2009 в 21:04
Анатолий, а как ADODB будет работать с mdb-файлом, выложенным в интернете? сдается мне, что очень посредственно. хорошо, если доступ только для чтения получится.
15 октября 2009 в 20:03
ADODB так же спокойно канает и с Access и ещё со всем остальным MS. Ваш КО.
15 октября 2009 в 20:02
SQL?
Окей, создал базу SQL, залил ее по ftp на хост 1GB.ru, подключил на хосте MS SQL Server 2005 (или другой???), как мне к ней подрубиться из студии?
15 октября 2009 в 20:02
ADODB, например.
15 октября 2009 в 18:04
Access 2000 и выше поддерживают страницы доступа к данным. конечно, лучше всего это работает в локальной сети или даже в пределах машины, а для мировой паутины вам нужно что-нибудь другое. в смысле, не акцесс.