Результаты поиска
Вызов ошибки в триггере MySQL
Если у меня есть trigger before the update на таблице, как я могу бросить ошибку, которая предотвращает обновление на этой таблице?
Базы данных плоских файлов
Каковы наилучшие методы создания структур базы данных плоских файлов в PHP?
Многие из более зрелых PHP плоских файловых фреймворков, которые я вижу, пытаются реализовать SQL-подобный синтаксис запроса, который в большинстве случаев является избыточным для моих целей (я бы просто использовал базу данных в этой точке).
Есть ли какие-то элегантные трюки, чтобы получить хорошую производительность и функции с небольшими накладными расходами кода?
XSD DataSets и игнорирование внешних ключей
У меня есть довольно стандартная настройка таблицы в текущем приложении с использованием функций .NET XSD DataSet и TableAdapter . Моя таблица contracts состоит из некоторой стандартной информации о контракте, со столбцом для primary department . Этот столбец является внешним ключом к моей таблице Departments , где я храню основные department name , id, notes . Все это настраивается и функционирует на моем сервере SQL .
Когда я использую инструмент XSD, я могу перетащить обе таблицы сразу, и он автоматически обнаруживает/создает внешний ключ, который у меня есть между этими двумя таблицами. Это отлично работает, когда я нахожусь на своей главной странице и просматриваю данные контракта.
Однако, когда я перехожу на свою административную страницу, чтобы изменить данные отдела, я обычно делаю что-то вроде этого:
Dim dtDepartment As New DepartmentDataTable()
Dim taDepartment As New DepartmentTableAdapter()
taDepartment.Fill(dtDepartment)
Однако в этот момент возникает исключение, говорящее о том, что здесь нарушена ссылка на внешний ключ, я предполагаю, поскольку у меня нет заполненного Contract DataTable .
Как я могу исправить эту проблему? Я знаю, что могу просто удалить внешний ключ из XSD, чтобы все работало нормально, но иметь дополнительную проверку целостности там и иметь схему XSD, соответствующую схеме SQL в базе данных, приятно.
Управление версиями SQL база данных сервера
Я хочу, чтобы мои базы данных были под контролем версий. Есть ли у кого-нибудь какие-нибудь советы или Рекомендуемые статьи, чтобы я начал работу?
Я всегда буду хотеть иметь там хотя бы некоторые данные (как упоминает alumb: типы пользователей и администраторы). Мне также часто требуется большая коллекция сгенерированных тестовых данных для измерения производительности.
Создание базы данных SQLite на основе набора данных XSD
Кто-нибудь знает, есть ли способ создать базу данных SQLite на основе XSD DataSet ? В прошлом я просто использовал базовый менеджер SQLite, но хочу немного больше объединить вещи с моей разработкой .NET , если это возможно.
Существует ли система контроля версий для изменения структуры базы данных?
Я часто сталкиваюсь со следующей проблемой.
Я работаю над некоторыми изменениями в проекте, которые требуют новых таблиц или столбцов в базе данных. Я делаю изменения в базе данных и продолжаю свою работу. Обычно я не забываю записать изменения, чтобы они могли быть воспроизведены в живой системе. Однако я не всегда помню, что я изменил, и не всегда помню, чтобы записать это.
Итак, я делаю толчок к живой системе и получаю большую, очевидную ошибку , что нет NewColumnX, тьфу.
Независимо от того, что это может быть не лучшим решением для данной ситуации, существует ли система контроля версий для баз данных? Меня не волнует конкретная технология баз данных. Я просто хочу знать, существует ли он. Если это случится работать с сервером MS SQL, то отлично.
cx_Oracle: Как выполнить итерацию по результирующему набору?
Существует несколько способов перебора результирующего набора. Каков компромисс каждого из них?
Замена уникальных индексированных значений столбцов в базе данных
У меня есть таблица базы данных, и одно из полей (не первичный ключ) имеет уникальный индекс. Теперь я хочу поменять местами значения под этим столбцом для двух строк. Как же это можно было сделать? Два хака, которые я знаю, это:
- Удалите обе строки и вставьте их заново.
- Обновить строки с некоторым другим значением и поменять местами, а затем обновить до фактического значения.
Но я не хочу идти на это, поскольку они не кажутся подходящим решением проблемы. Кто-нибудь может мне помочь?
Соедините PHP с IBM и (AS/400)
У меня есть предстоящий проект, в котором мне нужно будет подключить наш веб-сайт ( PHP5/Apache 1.3/OpenBSD 4.1 ) к нашей серверной системе, работающей на iSeries с OS400 V5R3, чтобы я мог получить доступ к некоторым таблицам, хранящимся там. Я кое-что проверил вокруг, но наткнулся на несколько блокпостов.
Из того, что я видел, расширения DB2 и программное обеспечение DB2 от IBM работают только под Linux. Я попытался скомпилировать расширения со всем программным обеспечением от IBM и даже попробовал их предварительно скомпилированное расширение ibm_db2, но безуспешно. IBM поддерживает только Linux, поэтому я включил эмуляцию Linux в kernel, но это, похоже, ничему не помогло.
Если кто-то столкнулся с тем, что все работает изначально под OpenBSD, это было бы здорово, но я думаю, что мне нужно будет сделать, это настроить второй сервер под управлением CentOS с установленным DB2 (скорее всего, через ZendCore для IBM, так как он, похоже, делает все это для меня) и драйвер, чтобы я мог настроить небольшой сервер транзакций, который я могу разместить и получить представление JSON данных DB2, которые мне нужны.
Может быть, второй вариант кажется излишним или у кого-то еще есть идеи получше?
Встроенная база данных для .net, которая может работать вне сети
Я искал (и до сих пор ищу) встроенную базу данных для использования в приложении .net (c#). Предостережение: приложение (или, по крайней мере, база данных) хранится на сетевом диске, но используется только 1 пользователем одновременно.
Итак, моя первая идея была SQL Server Compact edition . Это действительно хорошо интегрировано, но оно не может работать вне сети.
Firebird, по -видимому, имеет ту же проблему, но интеграция .net, по-видимому, не является действительно первоклассной и в значительной степени недокументирована.
Blackfish SQL выглядит интересно, но пробной версии .net нет. Ценообразование также OK.
Есть ли другие предложения о том, что хорошо работает с .net и работает вне сети без необходимости установки серверного программного обеспечения?
Редактирование записей базы данных несколькими пользователями
Я разработал таблицы баз данных (нормализованные, на сервере MS SQL) и создал автономный интерфейс windows для приложения, которое будет использоваться несколькими пользователями для добавления и редактирования информации. Мы добавим веб-интерфейс, который позволит осуществлять поиск по всему нашему производственному району в более поздние сроки.
Я обеспокоен тем, что если два пользователя начнут редактировать одну и ту же запись, то последним, кто зафиксирует обновление, будет 'winner', и важная информация может быть потеряна. На ум приходит множество решений, но я не уверен, что создам еще большую головную боль.
- Ничего не делайте и надейтесь, что два пользователя никогда не будут редактировать одну и ту же запись одновременно. - Может быть, никогда и не случится, но что, если это случится?
- Процедура редактирования может хранить копию исходных данных, а также обновления, а затем сравнить, когда пользователь закончил редактирование. Если они отличаются, показывают пользователя и подтверждают обновление -потребуется две копии данных для хранения.
- Добавьте последний обновленный столбец DATETIME и проверьте его соответствие при обновлении, если нет, то покажите различия. - требуется новый столбец в каждой из соответствующих таблиц.
- Создайте таблицу редактирования, которая регистрируется, когда пользователи начинают редактировать запись, которая будет проверена и не позволит другим пользователям редактировать ту же запись. - потребуется тщательное продумывание потока программ, чтобы предотвратить блокировку тупиков и записей, которые будут заблокированы, если пользователь выйдет из программы.
Есть ли какие-то лучшие решения или я должен пойти на одно из них?
Как подключиться к базе данных и выполнить цикл над набором записей в C#?
Каков самый простой способ подключения и запроса базы данных для набора записей в C#?
Как работает индексация баз данных?
Учитывая, что индексация так важна, поскольку ваш набор данных увеличивается в размере, может ли кто-нибудь объяснить, как индексирование работает на уровне базы данных-агностика?
Сведения о запросах для индексации поля см. В разделе Как индексировать столбец базы данных .
Как индексировать столбец базы данных
Надеюсь, я смогу получить ответы для каждого сервера баз данных.
Для получения общих сведений о том, как работает индексация, ознакомьтесь с разделом: как работает индексация базы данных?
Насколько большой может быть база данных MySQL, прежде чем производительность начнет снижаться
В какой момент база данных MySQL начинает терять производительность?
- Имеет ли значение физический размер базы данных?
- Имеет ли значение количество записей?
- Является ли любое снижение производительности линейным или экспоненциальным?
У меня есть то, что я считаю большой базой данных, с примерно 15М записями, которые занимают почти 2 ГБ. Основываясь на этих цифрах, есть ли у меня стимул Очистить данные, или я могу позволить им продолжать масштабироваться еще несколько лет?
Механизмы отслеживания изменений схемы DB
Каковы наилучшие методы отслеживания и / или автоматизации изменений схемы DB? Наша команда использует Subversion для управления версиями, и мы смогли автоматизировать некоторые из наших задач таким образом (перемещение сборок на промежуточный сервер, развертывание тестируемого кода на рабочий сервер), но мы все еще делаем обновления базы данных вручную. Я хотел бы найти или создать решение, которое позволит нам эффективно работать на разных серверах с различными средами, продолжая использовать Subversion в качестве бэкенда, через который код и обновления DB передаются на различные серверы.
Многие популярные программные пакеты включают в себя сценарии автоматического обновления, которые обнаруживают версию DB и применяют необходимые изменения. Является ли это лучшим способом сделать это даже в более крупном масштабе (через несколько проектов, а иногда и через несколько сред и языков)? Если да, то есть ли какой-либо существующий код, который упрощает этот процесс, или лучше всего просто запустить наше собственное решение? Кто-нибудь реализовывал что-то подобное раньше и интегрировал его в Subversion post-commit hooks, или это плохая идея?
Хотя решение, поддерживающее несколько платформ, было бы предпочтительнее, мы определенно должны поддерживать стек Linux/Apache/MySQL/PHP, поскольку большая часть нашей работы находится на этой платформе.
Есть ли опыт работы с буферами протокола?
Я просто просматривал некоторую информацию о формате обмена данными буферов протокола Google. Кто-нибудь играл с кодом или даже создал проект вокруг него?
В настоящее время я использую XML в проекте Python для структурированного контента, созданного вручную в текстовом редакторе, и мне было интересно, каково общее мнение о буферах протокола в качестве пользовательского формата ввода. Преимущества скорости и краткости определенно кажутся там, но есть так много факторов, когда речь заходит о фактическом создании и обработке данных.
Какой язык вы используете для PostgreSQL триггеров и хранимых процедур?
PostgreSQL интересен тем, что он поддерживает несколько языков для написания хранимых процедур. Какой из них вы используете, и почему?
Вы когда-нибудь сталкивались с запросом, который SQL Server не мог выполнить, потому что он ссылался на слишком много таблиц?
Вы когда-нибудь видели там сообщения об ошибках?
-- SQL Server 2000
Не удалось выделить вспомогательную таблицу для разрешения представления или функции.
Было превышено максимальное количество таблиц в запросе (256).-- SQL Server 2005
Слишком много имен таблиц в запросе. Максимально допустимое значение-256.
Если да, то что вы сделали?
Сдался? Убедили клиента упростить свои требования? Денормализовали базу данных?
@(все хотят, чтобы я опубликовал запрос):
- Я не уверен, что смогу вставить 70 килобайт кода в окно редактирования ответа.
- Даже если я смогу это сделать, это не поможет, так как эти 70 килобайт кода будут ссылаться на 20 или 30 просмотров, которые мне также придется опубликовать, так как в противном случае код будет бессмысленным.
Я не хочу, чтобы это прозвучало так, как будто я хвастаюсь здесь, но проблема не в запросах. Запросы являются оптимальными (или, по крайней мере, почти оптимальными). Я потратил бесчисленные часы на их оптимизацию, ища каждый отдельный столбец и каждую отдельную таблицу, которые можно удалить. Представьте себе отчет, содержащий 200 или 300 столбцов, которые должны быть заполнены одним оператором SELECT (потому что именно так он был разработан несколько лет назад, когда это был еще небольшой отчет).
Автогенерация Диаграммы Базы Данных MySQL
Я устал открывать Dia и создавать схему базы данных в начале каждого проекта. Есть ли там инструмент, который позволит мне выбрать определенные таблицы, а затем создать схему базы данных для меня на основе базы данных MySQL? Предпочтительно, чтобы это позволило мне отредактировать диаграмму позже, так как ни один из внешних ключей не установлен...
Вот что я представляю себе схематично (пожалуйста, извините за ужасный дизайн данных, я его не проектировал. Давайте сосредоточимся на концепции диаграммы, а не на фактических данных, которые она представляет для этого примера ;) ):
Вы когда-нибудь сталкивались с запросом, который SQL Server не мог выполнить, потому что он ссылался на слишком много таблиц?
Вы когда-нибудь видели там сообщения об ошибках?
-- SQL Server 2000
Не удалось выделить вспомогательную таблицу для разрешения представления или функции.
Было превышено максимальное количество таблиц в запросе (256).-- SQL Server 2005
Слишком много имен таблиц в запросе. Максимально допустимое значение-256.
Если да, то что вы сделали?
Сдался? Убедили клиента упростить свои требования? Денормализовали базу данных?
@(все хотят, чтобы я опубликовал запрос):
- Я не уверен, что смогу вставить 70 килобайт кода в окно редактирования ответа.
- Даже если я смогу это сделать, это не поможет, так как эти 70 килобайт кода будут ссылаться на 20 или 30 просмотров, которые мне также придется опубликовать, так как в противном случае код будет бессмысленным.
Я не хочу, чтобы это прозвучало так, как будто я хвастаюсь здесь, но проблема не в запросах. Запросы являются оптимальными (или, по крайней мере, почти оптимальными). Я потратил бесчисленные часы на их оптимизацию, ища каждый отдельный столбец и каждую отдельную таблицу, которые можно удалить. Представьте себе отчет, содержащий 200 или 300 столбцов, которые должны быть заполнены одним оператором SELECT (потому что именно так он был разработан несколько лет назад, когда это был еще небольшой отчет).
Автогенерация Диаграммы Базы Данных MySQL
Я устал открывать Dia и создавать схему базы данных в начале каждого проекта. Есть ли там инструмент, который позволит мне выбрать определенные таблицы, а затем создать схему базы данных для меня на основе базы данных MySQL? Предпочтительно, чтобы это позволило мне отредактировать диаграмму позже, так как ни один из внешних ключей не установлен...
Вот что я представляю себе схематично (пожалуйста, извините за ужасный дизайн данных, я его не проектировал. Давайте сосредоточимся на концепции диаграммы, а не на фактических данных, которые она представляет для этого примера ;) ):
Shell странности перенаправления ввода сценариев
Может ли кто-нибудь объяснить такое поведение? Бегущий:
#!/bin/sh
echo "hello world" | read var1 var2
echo $var1
echo $var2
результаты в ничего не выход, а:
#!/bin/sh
echo "hello world" > test.file
read var1 var2 < test.file
echo $var1
echo $var2
производит ожидаемый результат:
hello
world
Не должен ли канал сделать за один шаг то, что перенаправление на test.file сделало во втором примере? Я попробовал один и тот же код с оболочками dash и bash и получил одинаковое поведение от обоих из них.
Лучше ли создавать классы моделей или придерживаться общего класса утилиты базы данных?
У нас есть простой служебный класс в доме для наших вызовов базы данных (легкая оболочка вокруг ADO.NET), но я думаю о создании классов для каждого database/object. было бы разумно сделать это, или это только выиграло бы, если бы мы использовали полную структуру MVC для ASP.NET?
Итак, у нас есть это:
SQLWrapper.GetRecordset(connstr-alias, sql-statement, parameters);
SQLWrapper.GetDataset(connstr-alias, sql-statement, parameters);
SQLWrapper.Execute(connstr-alias, sql-statement, parameters);
Думая о том, чтобы сделать это:
Person p = Person.get(id);
p.fname = "jon";
p.lname = "smith";
p.Save();
или для нового рекорда -
Person p = new Person();
p.fname = "Jon";
p.lname = "Smith";
p.Save();
p.Delete();
Будет ли это умно, или это будет перебор? Я вижу выгоду для повторного использования, изменения базы данных и maintenance/readability.
Есть ли какой-либо трюк, который позволяет использовать Management Studio (ver. 2008) функция IntelliSense с более ранними версиями сервера SQL?
Новая версия Management Studio (т. е. та, которая поставляется с SQL Server 2008), наконец, имеет функцию Transact-SQL IntelliSense. Однако out-of-the-box он работает только с экземплярами SQL Server 2008.
Есть ли какой-то обходной путь для этого?
Простое решение MOLAP
Для анализа большого количества текстовых журналов я сделал некоторые хакерские действия, которые выглядят так:
- Локально импортировать журналы в Access
- Перерабатывать ссылке куб с предыдущими MDB в услуги обработки 2000 (Да это 2К)
- Используйте Excel для визуализации Куба (он не большой - до миллионов необработанных записей)
Мой hackery-это успех, и все больше людей требуют доступа к моему инструменту. Как вы видите, я вижу больше автоматизации и проще deployment.
Есть ли у вас сейчас какие-то инструменты / библиотеки, которые дали бы мне то же самое, но с более легким deployment? Вид встроенного сервиса OLAP ?
Edit: я слышал о Мондриане, но мы не делаем много с Java. Вы видели что-то подобное, сделанное для .Net/Win32 ? Comercial также OK.
MOSS SSP проблема-сбой входа в базу данных из удаленного SSP
У нас были некоторые проблемы с экземпляром SharePoint в тесте окружающая среда. К счастью, это не производство ;) проблемы начались когда закончился диск с базами данных сервера SQL и индексом поиска из космоса. После этого Служба поиска не будет работать и искать настройки в SSP были недоступны. Восстановление дискового пространства сделал не решить проблему. Поэтому вместо того, чтобы восстанавливать VM, мы решили попробуйте решить эту проблему.
Мы создали новый SSP и изменили ассоциацию всех сервисов на новый SSP. Старый SSP и его базы данных были затем удалены. Поиск результаты для файлов PDF больше не отображаются, но поиск работает в остальном все нормально. MySites также работает OK.
После реализации этого изменения возникают следующие проблемы:
1) в журнале событий приложений появилось сообщение об ошибке аудита, для 'DOMAIN\SPMOSSSvc', которое является учетной записью фермы MOSS.
Event Type: Failure Audit
Event Source: MSSQLSERVER
Event Category: (4)
Event ID: 18456
Date: 8/5/2008
Time: 3:55:19 PM
User: DOMAIN\SPMOSSSvc
Computer: dastest01
Description:
Login failed for user 'DOMAIN\SPMOSSSvc'. [CLIENT: <local machine>]
2) SQL Server profiler показывает запросы от SharePoint, которые ссылаются на старый (удалено) база данных SSP.
Так...
- Где бы эти ссылки на DOMAIN\SPMOSSSvc и старый SSP база данных существует?
- Есть ли способ 'completely' удалить SSP с сервера, и воссоздать? Опция удаления была недоступна (выделена серым цветом), Когда a один SSP находится на месте.
В какой момент кто-то должен решить переключить системы баз данных
При разработке ли его веб или рабочий стол в какой момент разработчик должен переключиться с SQLite, MySQL, MS SQL и т. д
Блокировка базы данных сервера SQL с помощью PHP
Мне нужна дополнительная безопасность для определенной точки в моем веб-приложении. Поэтому я хочу заблокировать базу данных (SQL Server 2005). Любые предложения или это даже необходимо с SQL сервером?
Редактировать на вопрос:
Запрос не выполняется в автоматическом режиме без регистрации сообщений об ошибках и не происходит внутри транзакции.
окончательное решение:
Я никогда не мог решить эту проблему, однако то, что я сделал, было переключением на MySQL и использованием запроса транзакционного уровня здесь. Это не было главной или даже основной причиной для переключения. У меня были проблемы с сервером SQL, и это позволило мне иметь наш CMS и различные другие инструменты, работающие на одной базе данных. Ранее у нас был сервер SQL и база данных MySQL, работающая для запуска нашего сайта. Порт был немного трудоемким, однако в долгосрочной перспективе я чувствую, что он будет работать намного лучше для сайта и бизнеса.
Больше, чем символ, но меньше, чем капля
Char отлично подходят, потому что они имеют фиксированный размер и, таким образом, делают более быструю таблицу. Однако они ограничены 255 символами. Я хочу держать 500 символов, но blob-это переменная длина, и это не то, что я хочу.
Есть ли способ иметь поле фиксированной длины 500 символов в MySQL или мне придется использовать 2 поля char?
Блокировка базы данных сервера SQL с помощью PHP
Мне нужна дополнительная безопасность для определенной точки в моем веб-приложении. Поэтому я хочу заблокировать базу данных (SQL Server 2005). Любые предложения или это даже необходимо с SQL сервером?
Редактировать на вопрос:
Запрос не выполняется в автоматическом режиме без регистрации сообщений об ошибках и не происходит внутри транзакции.
окончательное решение:
Я никогда не мог решить эту проблему, однако то, что я сделал, было переключением на MySQL и использованием запроса транзакционного уровня здесь. Это не было главной или даже основной причиной для переключения. У меня были проблемы с сервером SQL, и это позволило мне иметь наш CMS и различные другие инструменты, работающие на одной базе данных. Ранее у нас был сервер SQL и база данных MySQL, работающая для запуска нашего сайта. Порт был немного трудоемким, однако в долгосрочной перспективе я чувствую, что он будет работать намного лучше для сайта и бизнеса.
Больше, чем символ, но меньше, чем капля
Char отлично подходят, потому что они имеют фиксированный размер и, таким образом, делают более быструю таблицу. Однако они ограничены 255 символами. Я хочу держать 500 символов, но blob-это переменная длина, и это не то, что я хочу.
Есть ли способ иметь поле фиксированной длины 500 символов в MySQL или мне придется использовать 2 поля char?
Функция подстроки Firebird SQL не работает
Я создал представление на машине, используя функцию подстроки из Firebird, и это сработало. Когда я скопировал базу данных на другую машину, представление было нарушено. Вот как я его использовал:
SELECT SUBSTRING(field FROM 5 FOR 15) FROM table;
И это выход на машине которая не принимает функцию:
token unknown: FROM
Оба компьютера имеют такую конфигурацию:
- IB Expert version 2.5.0.42 для выполнения запросов и работы с базой данных.
- Firebird версия 1.5 как сервер к базе данных.
- Установлена версия администрирования BDE 5.01 с драйверами Interbase 4.0.
Есть идеи о том, почему он ведет себя по-другому на этих машинах?
Как сохранить древовидную структуру в таблице базы данных с автоматическим увеличением IDs с помощью ADO.NET DataSet и DataAdapter
У меня есть самореферентная таблица ролей, которая представляет собой древовидную структуру
ID [INT] AUTO INCREMENT
Name [VARCHAR]
ParentID [INT]
Я использую ADO.NET DataTable и DataAdapter для загрузки и сохранения значений в эту таблицу. Это работает, если я создаю только дочерние элементы существующих строк. Если я создаю дочернюю строку, а затем создаю дочерний элемент этого ребенка, а затем обновляю, временное значение ID, сгенерированное DataTable, переходит в столбец ParentID. У меня есть следующий набор отношений данных:
dataset.Relations.Add(New DataRelation("RoleToRole",RoleTable.Columns("ID"), RoleTable.Columns("ParentID")))
И когда я создаю новые дочерние строки в DataTable, я вызываю метод SetParentRow
newRow.SetParentRow(parentRow)
Есть ли что-то особенное, что я должен сделать, чтобы заставить поколение ID распространяться рекурсивно, когда я вызываю Update на DataAdapter?
Какие инструменты FoxPro data tools можно использовать для поиска поврежденных данных?
У меня есть несколько пакетов SQL Server DTS, которые импортируют данные из базы данных FoxPro. Все это прекрасно работало до недавнего времени. Теперь скрипт, который импортирует данные из одной из таблиц FoxPro, выбрасывает в импорт около 470 000 записей. Я просто вытаскиваю данные в таблицу с nullable varchar полями, поэтому я думаю, что это должно быть странная/коррумпированная проблема с данными.
Какие инструменты вы бы использовали, чтобы отследить такую проблему?
FYI, это ошибка, которую я получаю:
Данные для исходного столбца 1 ('field1') недоступны. Поставщик может потребовать, чтобы все столбцы Blob-объектов были самыми правыми в исходном результирующем наборе.
В этой таблице не должно быть никаких столбцов blob-объектов.
Спасибо за ваши предложения. Я не знаю, является ли это проблемой коррупции наверняка. Я только что начал скачивать FoxPro из своей подписки MSDN, так что я посмотрю, смогу ли я открыть таблицу. SSRS открывает таблицу, она просто задыхается, прежде чем запустить все записи. Я просто пытаюсь понять, с какой пластинкой у него возникли проблемы.
Насколько велика будет такая база данных?
Я пытаюсь выяснить, насколько большой будет определенная база данных (она еще не создана). Я знаю, сколько строк и какие таблицы будут. Есть ли функция в Oracle, которая скажет мне размер такой теоретической базы данных? Есть ли известная математическая формула, которую я могу использовать? Я знаю, что есть функция для определения размера существующей базы данных, но я хочу знать, насколько она будет большой, прежде чем я ее создам.
Насколько велика будет такая база данных?
Я пытаюсь выяснить, насколько большой будет определенная база данных (она еще не создана). Я знаю, сколько строк и какие таблицы будут. Есть ли функция в Oracle, которая скажет мне размер такой теоретической базы данных? Есть ли известная математическая формула, которую я могу использовать? Я знаю, что есть функция для определения размера существующей базы данных, но я хочу знать, насколько она будет большой, прежде чем я ее создам.
GCC проблема: использование члена базового класса, который зависит от аргумента шаблона
Следующий код компилируется не с помощью gcc, а с помощью Visual Studio:
template <typename T> class A {
public:
T foo;
};
template <typename T> class B: public A <T> {
public:
void bar() { cout << foo << endl; }
};
Я получаю ошибку:
test.cpp: в функции-члене ' void B::bar()’:
test.cpp:11: ошибка: ‘foo’ не был объявлен в этой области видимости
Но так и должно быть! Если я изменю bar на
void bar() { cout << this->foo << endl; }
затем он компилируется, но я не думаю, что мне нужно это делать. Есть ли что-то в официальных спецификациях C++, что GCC следует здесь, или это просто причуда?
Хорошие ресурсы для проектирования реляционных баз данных
Я ищу book/site/tutorial о лучших практиках для проектирования реляционных баз данных, настройки производительности и т. д. Оказывается, этот вид ресурса немного трудно найти; есть много "here's normalization, here's ER diagrams, have at it,", но не так много на пути реальных примеров. У кого-нибудь есть идеи?
Лучшее решение .NET для часто изменяемой базы данных
В настоящее время я разрабатываю небольшое приложение CRUD. Их база данных-это огромный беспорядок и будет часто меняться в течение следующих 6 месяцев до года. Что бы вы порекомендовали для моего слоя данных:
1) ORM (если да, то какой?)
2) Linq2Sql
3) Хранимые Процедуры
4) Параметризованные Запросы
Мне действительно нужно решение, которое будет достаточно динамичным (как быстрым, так и легким), где я могу часто заменять таблицы и добавлять/удалять столбцы.
Примечание: у меня нет большого опыта работы с ORM (только немного SubSonic) и, как правило, используют хранимые процедуры, поэтому, возможно, это будет путь. Я хотел бы узнать Ling2Sql или NHibernate, если бы это позволяло ситуацию, которую я описал выше.
Какая самая страшная авария с базой данных произошла с вами на производстве?
Например: обновление всех строк таблицы customer, поскольку вы забыли добавить предложение where.
- На что это было похоже, осознавая это и сообщая об этом своим коллегам или клиентам?
- Какие уроки были извлечены?
Индекс Базы Данных Без Учета Регистра?
У меня есть запрос, в котором я ищу по строке:
SELECT county FROM city WHERE UPPER(name) = 'SAN FRANCISCO';
Теперь это работает нормально, но масштабируется не очень хорошо, и мне нужно его оптимизировать. Я нашел вариант создания сгенерированного представления или что-то в этом роде, но я надеялся на более простое решение с использованием индекса.
Мы используем DB2 , и я действительно хочу использовать выражение в индексе, но эта опция, кажется, доступна только на z/OS,, однако мы запускаем Linux. Я все равно попробовал индекс выражения:
CREATE INDEX city_upper_name_idx
ON city UPPER(name) ALLOW REVERSE SCANS;
Но, конечно, он давится на UPPER(имя).
Есть ли другой способ создать индекс или что-то подобное таким образом, чтобы мне не нужно было перестраивать существующие запросы для использования нового сгенерированного представления, изменять существующие столбцы или любые другие подобные навязчивые изменения?
EDIT: я готов выслушать решения для других баз данных... он может перейти на DB2...
Каков хороший способ денормализации базы данных mysql?
У меня есть большая база данных нормализованных данных заказа, которые становятся очень медленными для запроса отчетов. Многие из запросов, которые я использую в отчетах, объединяют пять или шесть таблиц и должны исследовать десятки или сотни тысяч строк.
Есть много запросов, и большинство из них были максимально оптимизированы, чтобы уменьшить нагрузку на сервер и увеличить скорость. Я думаю, что пришло время начать хранить копию данных в денормализованном формате.
Есть идеи по поводу подхода? Должен ли я начать с пары моих худших запросов и пойти оттуда?
Каковы преимущества использования единой базы данных для EACH клиента?
В ориентированном на базу данных приложении, которое предназначено для нескольких клиентов, я всегда думал, что "better" будет использовать единую базу данных для ALL клиентов-связывая записи с соответствующими индексами и ключами. Слушая подкаст Stack Overflow, я услышал, как Джоэл упомянул, что FogBugz использует одну базу данных на клиента (так что если бы было 1000 клиентов, то было бы 1000 баз данных). Каковы преимущества использования этой архитектуры?
Я понимаю, что для некоторых проектов клиентам нужен прямой доступ ко всем их данным - в таком приложении очевидно, что каждому клиенту нужна своя база данных. Однако для проектов, где клиенту не нужно обращаться непосредственно к базе данных, есть ли какие-либо преимущества в использовании одной базы данных на клиента? Кажется, что с точки зрения гибкости гораздо проще использовать единую базу данных с одной копией таблиц. Проще добавлять новые функции, легче создавать отчеты и просто легче управлять ими.
Я был довольно уверен в методе "one database for all clients", пока не услышал, как Джоэл (опытный разработчик) упомянул, что его программное обеспечение использует другой подход, и я немного смущен его решением...
Я слышал, как люди цитируют, что базы данных замедляются с большим количеством записей, но любая реляционная база данных с некоторыми достоинствами не будет иметь этой проблемы - особенно если используются правильные индексы и ключи.
Любой вход очень ценится!
Как вы держите две взаимосвязанные, но отдельные системы в синхронизации друг с другом?
Мой нынешний проект развития имеет два аспекта. Во-первых, существует общедоступный веб-сайт, на котором внешние пользователи могут представлять и обновлять информацию для различных целей. Эта информация затем сохраняется на локальном сервере SQL на объекте colo.
Второй аспект - это внутреннее приложение, которое сотрудники используют для управления теми же записями (концептуально)и предоставления обновлений статуса, утверждений и т. д. Это приложение размещается в корпоративном брандмауэре с собственной локальной базой данных сервера SQL.
Эти две сети соединены аппаратным решением VPN, которое является приличным,но явно не самым быстрым в мире.
Эти две базы данных похожи и имеют много общих таблиц, но они не являются 100% одинаковыми. Многие таблицы с обеих сторон очень специфичны для внутреннего или внешнего применения.
Таким образом, возникает вопрос: когда пользователь обновляет свою информацию или представляет запись на общедоступном веб-сайте, Как вы передаете эти данные в базу данных внутреннего приложения, чтобы она могла управляться внутренним персоналом? И наоборот... как ВЫ продвигаете обновления, сделанные сотрудниками, обратно на веб-сайт?
Стоит отметить, что чем больше "real time" таких обновлений происходит, тем лучше. Не то чтобы это было мгновенно, просто достаточно быстро.
До сих пор я думал об использовании следующих типов подходов:
- Двунаправленная репликация
- Веб-сервис взаимодействует с обеих сторон с кодом для синхронизации изменений по мере их внесения (в режиме реального времени).
- Веб-службы взаимодействуют с обеих сторон с кодом для асинхронной синхронизации изменений (с помощью механизма массового обслуживания).
Какой-нибудь совет? Кто-нибудь сталкивался с этой проблемой раньше? Вы придумали решение, которое хорошо сработало для вас?
mysqli или PDO - каковы плюсы и минусы?
В нашем случае мы разделены между использованием mysqli и PDO для таких вещей, как подготовленные заявления и поддержка транзакций. Некоторые проекты используют одно, некоторые другое. Существует очень мало реальной вероятности того, что мы когда-нибудь переедем в другой RDBMS.
Я предпочитаю PDO только по той причине, что он допускает именованные параметры для подготовленных операторов, а насколько мне известно, mysqli этого не делает.
Есть ли еще какие-то плюсы и минусы в выборе одного из них в качестве стандарта, когда мы объединяем наши проекты, чтобы использовать только один подход?
Триггеры базы данных
В прошлом я никогда не был поклонником использования триггеров в таблицах базы данных. Для меня они всегда представляли собой некий "magic", который должен был произойти на стороне базы данных, далеко - далеко от контроля моего кода приложения. Я также хотел ограничить объем работы, которую должен был выполнять DB, поскольку это обычно общий ресурс, и я всегда предполагал, что триггеры могут быть дорогостоящими в сценариях с высокой нагрузкой.
Тем не менее, я нашел несколько примеров, когда триггеры имели смысл использовать (по крайней мере, на мой взгляд, они имели смысл). Однако недавно я оказался в ситуации, когда мне иногда может понадобиться "bypass" спусковой крючок. Я чувствовал себя очень виноватым из-за необходимости искать способы сделать это, и я все еще думаю, что лучший дизайн базы данных облегчил бы необходимость этого обхода. К сожалению, этот DB используется несколькими приложениями, некоторые из которых поддерживаются очень несговорчивой командой разработчиков, которая кричала бы об изменениях схемы, поэтому я застрял.
Что там за общий консесус насчет триггеров? Любишь их? Ненавидеть их? Думаете, они служат какой-то цели в некоторых сценариях? Считаете ли вы, что необходимость обойти триггер означает, что вы "делаете это неправильно"?
Как я должен обрабатывать autolinking в wiki контент страницы?
Под автолинковкой я подразумеваю процесс, с помощью которого wiki ссылок, встроенных в содержимое страницы, генерируются либо в гиперссылку на страницу (если она существует), либо в ссылку на создание (если страница не существует).
С помощью парсера, который я использую, это двухэтапный процесс-сначала анализируется содержимое страницы и извлекаются все ссылки на страницы wiki из источника markup. Затем я передаю массив существующих страниц обратно в синтаксический анализатор, прежде чем будет создан окончательный HTML markup.
Каков наилучший способ справиться с этим процессом? Похоже, что мне нужно сохранить кэшированный список каждой отдельной страницы на сайте, а не извлекать индекс заголовков страниц каждый раз. Или лучше проверить каждую ссылку отдельно, чтобы увидеть, существует ли она? Это может привести к большому количеству запросов к базе данных, если список не был кэширован. Будет ли это по-прежнему жизнеспособно для более крупного сайта wiki с тысячами страниц?
Как организовать запросы набора данных для повышения производительности
Я не знаю, когда, чтобы добавить к набору данных адаптера таблицы или запроса с помощью панели инструментов. Разве это имеет какое-то значение?
Я также не знаю, где создавать экземпляры адаптеров.
- Должен ли я сделать это в
Page_Load? - Должен ли я просто сделать это, когда я собираюсь использовать его?
- Открываю ли я новое соединение при создании нового экземпляра?
Это не кажется очень важным, но каждый раз, когда я создаю запрос, маленький голос в моем мозгу задает мне эти вопросы.
Как избежать использования курсоров в Sybase (T-SQL)?
Представьте себе сцену, вы обновляете какой-то устаревший код Sybase и натыкаетесь на курсор. Хранимая процедура создает результирующий набор в таблице #temporary, которая полностью готова к возвращению, за исключением того, что один из столбцов не очень удобочитаем, это буквенно-цифровой код.
Что нам нужно сделать, так это выяснить возможные различные значения этого кода, вызвать другую хранимую процедуру для перекрестной ссылки на эти дискретные значения, а затем обновить результирующий набор новыми расшифрованными значениями:
declare c_lookup_codes for
select distinct lookup_code
from #workinprogress
while(1=1)
begin
fetch c_lookup_codes into @lookup_code
if @@sqlstatus<>0
begin
break
end
exec proc_code_xref @lookup_code @xref_code OUTPUT
update #workinprogress
set xref = @xref_code
where lookup_code = @lookup_code
end
Итак, хотя это может вызвать у некоторых людей учащенное сердцебиение, это действительно работает. Мой вопрос в том, как лучше всего избежать такого рода вещей?
_NB: для целей этого примера вы также можете представить, что результирующий набор находится в области 500k строк и что существует 100 различных значений look_up_code и, наконец, что невозможно иметь таблицу со значениями внешней ссылки, так как логика в proc_code_xref слишком arcane._
[ADO.NET error]: в базе данных 'master' отказано в разрешении создать базу данных. Попытка прикрепить базу данных с автоматическим именем для файла HelloWorld.mdf не удалась
Создать базу данных разрешение запрещено в базе данных 'master'.
Попытка прикрепить базу данных с автоматическим именем для файла
C:\Documents и Settings\..\App_Data\HelloWorld.mdf потерпели неудачу.
База данных с таким же именем существует, или указанный файл не может быть
открыт, или он находится на UNC share.
Создать базу данных разрешение запрещено в базе данных 'master'. Попытка прикрепить базу данных с автоматическим именем для файла C:\Documents и Settings\..\App_Data\HelloWorld.mdf потерпели неудачу. База данных с таким же именем существует, или указанный файл не может быть открыт, или он находится на UNC share.
Я нашел эти ссылки:
- http://blog.benhall.me.uk/2008/03/sql-server-and-vista-create-database.html
- http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=702726&SiteID=1
Привязка параметров: что происходит под капотом?
.
NET, Java и другие высокоуровневые базы данных API на различных языках часто предоставляют методы, известные как подготовленные операторы и привязка параметров, в отличие от отправки простых текстовых команд на сервер базы данных. Я хотел бы знать, что происходит, когда вы выполняете такой оператор:
SqlCommand cmd = new SqlCommand("GetMemberByID");
cmd.CommandType = CommandType.StoredProcedure;
SqlParameter param = new SqlParameter("@ID", memberID);
para.DbType = DbType.Integer;
cmd.Parameters.Add(param);
Я знаю, что это лучшая практика. SQL инъекционные атаки сводятся к минимуму таким образом. Но что именно происходит под капотом, когда вы выполняете эти заявления? Является ли конечный результат все еще безопасной строкой SQL? Если нет, то каков конечный результат? И достаточно ли этого для предотвращения SQL инъекционных атак?
Как мне создать ASCII коды 2 и 3 в командной строке Bash?
Если я нажму Ctrl + B , это должно дать мне ASCII код 2, но Ctrl + C будет интерпретироваться как перерыв.
Поэтому я решил, что мне нужно перенаправить файл. Как я могу получить эти символы в файл?
Java+Tomcat, умирающее соединение с базой данных?
У меня есть установка экземпляра tomcat, но соединение с базой данных, которое я настроил в context.xml , продолжает умирать после периодов бездействия.
Когда я проверяю журналы я получаю следующую ошибку:
com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Последний пакет успешно полученный с сервера составил 68051 сек тому назад. Последний пакет успешно отправлено на сервер был 68051 секунд назад, что больше, чем настроенное значение сервера 'wait_timeout'. Вы должны рассмотреть возможность истечения срока действия и / или тестирования срок действия соединения перед использованием в вашем приложении, увеличивая сервер настроил значения для таймаутов клиента или с помощью соединителя / J свойство соединения 'autoReconnect=true', чтобы избежать этой проблемы.
Вот конфигурация в context.xml:
<Resource name="dataSourceName"
auth="Container"
type="javax.sql.DataSource"
maxActive="100"
maxIdle="30"
maxWait="10000"
username="username"
password="********"
removeAbandoned = "true"
logAbandoned = "true"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://127.0.0.1:3306/databasename?autoReconnect=true&useEncoding=true&characterEncoding=UTF-8" />
Я использую autoReconnect=true , как говорит ошибка, но соединение продолжает умирать. Я никогда раньше не видел, как это происходит.
Я также проверил, что все подключения к базе данных закрываются должным образом.
Создание тестовых данных в базе данных
Я знаю о некоторых генераторах тестовых данных, но большинство из них, похоже, просто заполняют базы данных стилей имен и адресов [не стесняйтесь поправлять меня].
У нас есть большое интегрированное и нормализованное приложение - например, счета-фактуры имеют номера деталей, связанные с таблицами запасов, номера клиентов, связанные с таблицами клиентов, журналы изменений, связанные с информацией аудита, и т. д., которые, очевидно, трудно заполнить случайным образом. В настоящее время мы запутываем реальные данные, чтобы получить тестовые данные (но не очень хорошо).
Что tools\methods вы используете для создания больших объемов данных для тестирования?
Создать таблицу DB из таблицы набора данных
Можно ли (в Vb.Net 2005), не разбирая вручную свойства таблицы dataset, создать таблицу и добавить ее в базу данных?
У нас есть старые версии нашей программы На некоторых машинах, которые, очевидно, имеют нашу старую базу данных, и мы ищем способ определить, есть ли отсутствующая таблица, а затем создать таблицу на основе текущего состояния таблицы в наборе данных. Мы переписывали таблицу каждый раз, когда выпускали новую версию (если были добавлены новые столбцы), но мы хотели бы избежать этого шага, если это возможно.
Выберите запрос по 2 таблицам, на разных серверах баз данных
Я пытаюсь создать отчет, запросив 2 базы данных (Sybase) в классическом ASP.
Я создал 2 строки подключения:
connA для databaseA
connB для databaseB
Обе базы данных находятся на одном сервере (не знаю, имеет ли это значение)
Запросы:
q1 = SELECT column1 INTO #temp FROM databaseA..table1 WHERE xyz="A"
q2 = SELECT columnA,columnB,...,columnZ FROM table2 a #temp b WHERE b.column1=a.columnB
с последующим:
response.Write(rstsql) <br>
set rstSQL = CreateObject("ADODB.Recordset")<br>
rstSQL.Open q1, connA<br>
rstSQL.Open q2, connB
Когда я пытаюсь открыть эту страницу в браузере, я получаю сообщение об ошибке:
Поставщик Microsoft OLE DB для ODBC драйверов ошибка '80040e37'
[DataDirect] [ODBC Sybase драйвер проводного протокола] [SQL сервер]#temp не найден. Укажите owner.objectname или используйте sp_help, чтобы проверить, существует ли объект (sp_help может выдавать много выходных данных).
Может ли кто-нибудь помочь мне понять, в чем проблема, и помочь мне ее решить?
Спасибо.
Восстановление резервной копии базы данных по сети
Как восстановить резервную копию базы данных с помощью SQL Server 2005 по сети? Я помню, что делал это раньше, но было что-то странное в том, как вы это делали.
Как выбрать N-ю строку в таблице базы данных SQL?
Мне интересно изучить некоторые (в идеале) агностические способы выбора n-й строки из таблицы базы данных. Было бы также интересно посмотреть, как это может быть достигнуто с помощью собственных функциональных возможностей следующих баз данных:
- SQL сервер
- MySQL
- PostgreSQL
- SQLite
- Oracle
В настоящее время я делаю что-то вроде следующего в SQL Server 2005, но мне было бы интересно увидеть другие более агностические подходы:
WITH Ordered AS (
SELECT ROW_NUMBER() OVER (ORDER BY OrderID) AS RowNumber, OrderID, OrderDate
FROM Orders)
SELECT *
FROM Ordered
WHERE RowNumber = 1000000
Кредит за вышеизложенное SQL: веб- блог Фироза Ансари
Update: смотрите ответ Troels Arvin относительно стандарта SQL. Троэльс, у тебя есть какие-нибудь ссылки, которые мы можем привести?
Почему я не должен "bet the future of the company" на shell скриптах?
Я смотрел на http://tldp.org/LDP/abs/html/why-shell.html и был поражен:
Когда не использовать скрипты shell ...
- Критически важные приложения, на которые вы ставите будущее компании
Почему бы и нет?
Когда файл-это просто файл?
Итак, вы пишете веб-приложение, и у вас есть несколько областей сайта, где пользователь может загружать файлы. Мой основной метод работы для этого-сохранить фактический файл на сервере и иметь таблицу базы данных, которая соединяет сохраненное имя файла с записью, к которой оно относится.
Мой вопрос заключается в следующем: должна ли быть другая таблица для каждого "type" файла? Кроме того, следует ли хранить файлы в контекстно-зависимых местах на сервере или все вместе?
Несколько примеров: фотографии профиля пользователя, работа приложений CVs, документов на страницах CMS и т. д.
Переход с MySQL на PostgreSQL
В настоящее время мы используем MySQL для продукта, который мы создаем, и стремимся перейти на PostgreSQL как можно скорее, в первую очередь по причинам лицензирования.
Кто-нибудь еще сделал такой шаг? Наша база данных-это жизненная сила приложения и в конечном итоге будет хранить TBs данных, поэтому я очень хочу услышать об опыте работы improvements/losses, основных препятствий в преобразовании SQL и хранимых процедурах и т. д.
Edit: просто чтобы разъяснить тем, кто спрашивал, почему нам не нравится лицензирование MySQL. Мы разрабатываем коммерческий продукт, который (в настоящее время) зависит от MySQL в качестве бэк-энда базы данных. В их лицензии говорится, что мы должны платить им процент от нашей прейскурантной цены за установку, а не фиксированную плату. Как стартап, это менее чем привлекательно.
Сравнение производительности хранилища RDF с традиционной базой данных
У кого-то есть решение для хранения RDF, например Sesame ? Я ищу обзор производительности такого рода решений по сравнению с традиционным решением для баз данных.
Как зашифровать строку подключения в WinForms 1.1 app.config?
Просто ищу первый шаг основное решение здесь, что держит честных людей.
Спасибо, Майк
Как создать дамп ядра в Linux при ошибке сегментации?
У меня есть процесс в Linux, который получает ошибку сегментации. Как я могу сказать ему, чтобы он генерировал дамп ядра, когда он выходит из строя?
Лучший способ узнать SQL сервер
Так что я получаю новую работу по работе с базами данных (Microsoft SQL Server, если быть точным). Я ничего не знаю о SQL и уж тем более о SQL сервере. Они сказали, что будут тренировать меня, но я хочу проявить некоторую инициативу, чтобы узнать об этом самостоятельно, чтобы быть впереди. С чего лучше всего начать (учебники, книги и т.д.)? Я хочу узнать больше о языке SQL больше, чем любой из причудливых пунктов и кликов.
Запрос таблицы объединения с полями в виде столбцов
Я не совсем уверен, возможно ли это, или попадает в категорию таблиц pivot, но я решил, что пойду к профессионалам, чтобы увидеть.
У меня есть три основные таблицы: Card, Property и CardProperty. Поскольку карты не имеют одинаковых свойств и часто имеют несколько значений для одного и того же свойства, я решил использовать подход union table для хранения данных вместо того, чтобы иметь действительно большую структуру столбцов в моей карточной таблице.
Таблица свойств-это базовая таблица типов ключевых слов и значений. Таким образом, у вас есть ключевое слово ATK и значение, присвоенное ему. Существует еще одно свойство, называемое SpecialType, для которого карта может иметь несколько значений, например "Sycnro" и "DARK"
Я бы хотел создать представление или хранимую процедуру, которая дает мне идентификатор карты, имя карты и все ключевые слова свойств, назначенные карте в виде столбцов, и их значения в ResultSet для указанной карты. Поэтому в идеале у меня был бы результирующий набор, например:
ID NAME SPECIALTYPE
1 Red Dragon Archfiend Synchro
1 Red Dragon Archfiend DARK
1 Red Dragon Archfiend Effect
и я мог бы подсчитать свои результаты таким образом.
Я думаю, что даже slicker будет просто объединять свойства вместе на основе их ключевого слова, поэтому я мог бы создать ResultSet как:
1 Red Dragon Archfiend Synchro/DARK/Effect
..но я не знаю, возможно ли это.
Помогите мне stackoverflow Кеноби! Ты моя единственная надежда.
Зачем нам нужны объекты сущностей?
Мне действительно нужно увидеть честные, вдумчивые дебаты о достоинствах принятой в настоящее время парадигмы проектирования корпоративных приложений .
Я не убежден, что сущностные объекты должны существовать.
Под объектами сущностей я подразумеваю типичные вещи, которые мы обычно создаем для наших приложений, например "Person", "Account", "Order" и т. д.
Моя нынешняя философия дизайна такова:
- Весь доступ к базе данных должен осуществляться с помощью хранимых процедур.
- Всякий раз, когда вам нужны данные, вызовите хранимую процедуру и выполните итерацию по SqlDataReader или строкам в DataTable
(Примечание: Я также построил корпоративные приложения с Java EE, java людьми, пожалуйста, замените экввалентные для моих .NET примеров)
Я не против OO. Я пишу много классов для разных целей, только не сущностей. Я признаю, что большая часть классов, которые я пишу, являются статическими вспомогательными классами.
Я не строю игрушки. Я говорю о больших транзакционных приложениях большого объема, развернутых на нескольких машинах. Веб-приложения, службы windows, веб-службы, b2b-взаимодействие, вы называете это.
Я использовал или картографы. Я уже написал несколько таких писем. Я использовал стек Java EE, CSLA и несколько других эквивалентов. Я не только использовал их, но и активно разрабатывал и поддерживал эти приложения в производственных средах.
Я пришел к проверенному в бою выводу, что объекты сущностей мешают нам, и без них наша жизнь была бы намного легче.
Рассмотрим этот простой пример: вы получаете вызов службы поддержки по поводу определенной страницы в вашем приложении, которая работает неправильно, возможно, одно из полей не сохраняется, как это должно быть. С моей моделью разработчик, назначенный для поиска проблемы, открывает ровно 3 файла . Файл ASPX, ASPX.CS и SQL с сохраненной процедурой. Проблема, которая может быть пропущенным параметром для вызова хранимой процедуры, требует нескольких минут для решения. Но с любой моделью сущностей вы неизменно запускаете отладчик, начинаете шагать по коду, и в конечном итоге вы можете получить файлы 15-20, открытые в Visual Studio. К тому времени, когда вы спуститесь в самый низ стопки, вы забудете, с чего начали. Мы можем только держать так много вещей в наших головах одновременно. Программное обеспечение невероятно сложное, без добавления каких-либо ненужных слоев.
Сложность разработки и устранение неполадок - это только одна сторона моей проблемы.
Теперь поговорим о масштабируемости.
Делают ли разработчики понимаете ли вы, что каждый раз, когда они пишут или изменяют какой-либо код, взаимодействующий с базой данных, им нужно провести тророговый анализ точного воздействия на базу данных? И не просто копия разработки, я имею в виду имитацию производства, так что вы можете видеть, что дополнительный столбец, который вам теперь требуется для вашего объекта, просто аннулировал текущий план запроса, и отчет, который был запущен за 1 секунду, теперь займет 2 минуты только потому, что вы добавили один столбец в список выбора? И получается, что индекс, который вам теперь требуется, настолько велик, что DBA придется изменить физический макет ваших файлов?
Если вы позволите людям слишком далеко уйти от физического хранилища данных с помощью абстракции, они создадут хаос с приложением, которое нужно масштабировать.
Я вовсе не фанатик. Меня можно убедить, если я ошибаюсь, и, возможно, я ошибаюсь, поскольку существует такой сильный толчок к Linq, чтобы Sql, ADO.NET EF, Hibernate, Java EE, и т.д. Пожалуйста, продумайте свои ответы, если я что-то упускаю, я действительно хочу знать, что это такое, и почему я должен изменить свое мышление.
[Редактировать ]
Похоже, что этот вопрос внезапно снова активен, поэтому теперь, когда у нас есть новая функция комментариев, Я прокомментировал сразу несколько ответов. Спасибо за ответы, я думаю, что это здоровая дискуссия.
Вероятно, мне следовало бы более четко объяснить, что я говорю о корпоративных приложениях. Я действительно не могу комментировать, скажем, игру, которая работает на чьем-то рабочем столе или мобильном приложении.
Одна вещь, которую я должен поставить здесь наверху в ответ на несколько подобных ответов: ортогональность и разделение проблем часто цитируются в качестве причин для перехода entity/ORM. хранимые процедуры, на мой взгляд, являются лучшим примером разделения проблем, который я могу придумать. Если вы запретите любой другой доступ к базе данных, кроме как через хранимые процедуры, вы теоретически можете перестроить всю свою модель данных и не нарушать никакого кода, пока вы поддерживаете входы и выходы хранимых процедур. Они являются прекрасным примером программирования по контракту (просто до тех пор, пока вы избегаете "select *" и документируете результирующие наборы).
Спросите кого-нибудь, кто давно работает в этой отрасли и работает с долгоживущими приложениями: сколько слоев приложений и UI появилось и исчезло за время существования базы данных? Насколько сложно настроить и рефакторировать базу данных, когда есть 4 или 5 различных уровней сохраняемости, генерирующих SQL для получения данных? Ты ничего не можешь изменить! ORMs или любой код, который генерирует SQL, блокирует вашу базу данных в камне .
Действительно ли внешние ключи необходимы при проектировании базы данных?
Насколько мне известно, внешние ключи (FK) используются для того, чтобы помочь программисту правильно манипулировать данными. Предположим, что программист уже делает это правильно, тогда действительно ли нам нужна концепция внешних ключей?
Существуют ли другие способы использования внешних ключей? Может быть, я что-то упустил?
Как я могу конвертировать Markdown документов в HTML в массовом порядке?
Я пишу некоторую документацию в Markdown и создаю отдельный файл для каждого раздела документа. Я хотел бы иметь возможность конвертировать все файлы в HTML за один раз, но я не могу найти никого, кто пробовал бы то же самое. Я работаю на Mac, поэтому я думаю, что простой сценарий bash должен быть в состоянии справиться с этим, но я никогда ничего не делал в bash и не имел никакой удачи. Кажется, что это должно быть просто написать что-то, чтобы я мог просто бежать:
markdown-batch ./*.markdown
Есть какие-нибудь идеи?
Любимые приемы настройки производительности
Когда у вас есть запрос или хранимая процедура, требующая настройки производительности, что вы делаете в первую очередь?
Почему **find** ничего не находит?
Я ищу файлы скриптов shell, установленные в моей системе, но найти не работает:
$ find /usr -name *.sh
Но я знаю, что есть тонна сценариев там. Например:
$ ls /usr/local/lib/*.sh
/usr/local/lib/tclConfig.sh
/usr/local/lib/tkConfig.sh
Почему не находит работу?
Bash Обработка Труб
Кто-нибудь знает, как bash обрабатывает отправку данных по каналам?
cat file.txt | tail -20
Выводит ли эта команда все содержимое file.txt в буфер, который затем считывается tail? Или эта команда, скажем, выводит содержимое file.txt строка за строкой, а затем делает паузу в каждой строке для обработки хвоста, а затем запрашивает дополнительные данные?
Причина, по которой я спрашиваю, заключается в том, что я пишу программу на встроенном устройстве, которое в основном выполняет последовательность операций с некоторым куском данных, где выход одной операции отсылается в качестве входа следующей операции. Я хотел бы знать, как linux (bash) справляется с этим, поэтому, пожалуйста, дайте мне общий ответ, а не конкретно, что происходит, когда я запускаю "cat file.txt | tail -20".
Заранее благодарим вас за ваши ответы!
EDIT: Shog9 указал на соответствующую статью Википедии, это не привело меня непосредственно к статье, но это помогло мне найти это: http://en.wikipedia.org/wiki/Pipeline_% 28Unix%29#реализация , которая действительно имела информацию, которую я искал.
Мне очень жаль, что я не совсем ясно выразился. Конечно, вы используете канал и, конечно же, используете stdin и stdout соответствующих частей команды. Я предполагал, что это было слишком очевидно, чтобы утверждать.
Я спрашиваю, как это handled/implemented., так как обе программы не могут работать одновременно, как данные передаются из stdin в stdout? Что произойдет, если первая программа генерирует данные значительно быстрее, чем вторая программа? Выполняет ли система просто первую команду до тех пор, пока она не завершится или не заполнится буфер stdout, а затем переходит к следующей программе и так далее в цикле, пока не останется больше данных для обработки, или есть более сложный механизм?
SQL2005: связывание таблицы с несколькими таблицами и сохранение целостности ссылок?
Вот упрощение моей базы данных:
Table: Property Fields: ID, Address Table: Quote Fields: ID, PropertyID, BespokeQuoteFields... Table: Job Fields: ID, PropertyID, BespokeJobFields...
Затем у нас есть другие таблицы, которые относятся к таблицам котировок и заданий по отдельности.
Теперь мне нужно добавить таблицу сообщений , где пользователи могут записывать телефонные сообщения, оставленные клиентами относительно заданий и котировок.
Я мог бы создать две идентичные таблицы (QuoteMessage и JobMessage), но это нарушает принцип DRY и кажется беспорядочным.
Я мог бы создать одну таблицу сообщений :
Table: Message Fields: ID, RelationID, RelationType, OtherFields...
Но это останавливает меня от использования ограничений для обеспечения моей ссылочной целостности. Я также могу предвидеть, что это создает проблемы со стороной devlopment, используя Linq для SQL позже.
Есть ли элегантное решение этой проблемы, или мне в конечном итоге придется взломать что-то вместе?
Ожоги
Какова наилучшая стратегия сохранения больших наборов данных?
Я веду проект, где мы будем записывать данные метрик. Я хотел бы сохранить данные в течение многих лет. Тем не менее, я также хотел бы, чтобы основная таблица не раздувалась с данными, которые, хотя и необходимы для долгосрочного тренда, не требуются для краткосрочной отчетности.
Какова наилучшая стратегия для решения этой ситуации? Просто архивировать старые данные в другую таблицу? Или "roll it up" через некоторую консолидацию самих данных (а затем сохранить его в другую таблицу)? Или что-то совсем другое?
Дополнительная информация: мы используем SQL Server 2005.
Как зашифровать строку подключения в WinForms 1.1 app.config?
Просто ищу первый шаг основное решение здесь, что держит честных людей.
Спасибо, Майк
Как создать дамп ядра в Linux при ошибке сегментации?
У меня есть процесс в Linux, который получает ошибку сегментации. Как я могу сказать ему, чтобы он генерировал дамп ядра, когда он выходит из строя?
Лучший способ узнать SQL сервер
Так что я получаю новую работу по работе с базами данных (Microsoft SQL Server, если быть точным). Я ничего не знаю о SQL и уж тем более о SQL сервере. Они сказали, что будут тренировать меня, но я хочу проявить некоторую инициативу, чтобы узнать об этом самостоятельно, чтобы быть впереди. С чего лучше всего начать (учебники, книги и т.д.)? Я хочу узнать больше о языке SQL больше, чем любой из причудливых пунктов и кликов.
Запрос таблицы объединения с полями в виде столбцов
Я не совсем уверен, возможно ли это, или попадает в категорию таблиц pivot, но я решил, что пойду к профессионалам, чтобы увидеть.
У меня есть три основные таблицы: Card, Property и CardProperty. Поскольку карты не имеют одинаковых свойств и часто имеют несколько значений для одного и того же свойства, я решил использовать подход union table для хранения данных вместо того, чтобы иметь действительно большую структуру столбцов в моей карточной таблице.
Таблица свойств-это базовая таблица типов ключевых слов и значений. Таким образом, у вас есть ключевое слово ATK и значение, присвоенное ему. Существует еще одно свойство, называемое SpecialType, для которого карта может иметь несколько значений, например "Sycnro" и "DARK"
Я бы хотел создать представление или хранимую процедуру, которая дает мне идентификатор карты, имя карты и все ключевые слова свойств, назначенные карте в виде столбцов, и их значения в ResultSet для указанной карты. Поэтому в идеале у меня был бы результирующий набор, например:
ID NAME SPECIALTYPE
1 Red Dragon Archfiend Synchro
1 Red Dragon Archfiend DARK
1 Red Dragon Archfiend Effect
и я мог бы подсчитать свои результаты таким образом.
Я думаю, что даже slicker будет просто объединять свойства вместе на основе их ключевого слова, поэтому я мог бы создать ResultSet как:
1 Red Dragon Archfiend Synchro/DARK/Effect
..но я не знаю, возможно ли это.
Помогите мне stackoverflow Кеноби! Ты моя единственная надежда.
Отслеживание версий, автоматизация изменений схемы DB с помощью django
В настоящее время я смотрю на фреймворк Python Django для будущих веб-приложений на базе БД, а также для порта некоторых приложений, написанных в настоящее время в PHP. Одной из самых неприятных проблем в течение последних лет было отслеживание изменений схемы базы данных и развертывание этих изменений в производительных системах. Я не смел просить, чтобы их тоже можно было отменить, но, конечно, для тестирования и отладки это было бы отличной функцией. Из других вопросов здесь (таких как этот или этот) я вижу, что я не одинок и что это не тривиальная проблема. Кроме того, я нашел много вдохновения в ответах там.
Теперь, поскольку Django кажется очень мощным, есть ли у него какие-либо инструменты, чтобы помочь с этим? Может быть, это даже в их документах, и я пропустил это?
MyISAM против InnoDB
Я работаю над проектами, которые включают в себя много записей базы данных, я бы сказал ( 70% вставляет и 30% читает ). Это соотношение также будет включать обновления, которые я считаю одним чтением и одной записью. Чтение может быть грязным (например, мне не нужна 100% точная информация во время чтения).
Задача, о которой идет речь, будет заключаться в выполнении более 1 миллиона транзакций базы данных в час.
Я прочитал кучу материала в интернете о различиях между MyISAM и InnoDB, и MyISAM кажется мне очевидным выбором для конкретной базы данных/таблиц, которые я буду использовать для этой задачи. Из того, что я, кажется, читаю, InnoDB хорошо, если транзакции необходимы, так как поддерживается блокировка уровня строки.
Есть ли у кого-нибудь опыт работы с этим типом нагрузки (или выше)? Разве MyISAM-это правильный путь?
Существует ли эквивалент профилировщика для MySql?
"Microsoft SQL Server Profiler - это графический пользовательский интерфейс к SQL Trace для мониторинга экземпляра компонента Database Engine или служб Analysis Services."
Я нахожу использование SQL Server Profiler чрезвычайно полезным во время разработки, тестирования и при отладке проблем приложений баз данных. Кто-нибудь знает, есть ли эквивалентная программа для MySql?
Одна база данных или много?
Я разрабатываю веб-сайт, который будет управлять данными для нескольких объектов. Данные не являются общими для всех объектов, но они могут принадлежать одному и тому же клиенту. Клиент может захотеть управлять всеми своими сущностями из одного "dashboard". Так что я должен иметь одну базу данных для всего, или держать данные разделены на отдельные базы данных? Есть ли лучшая практика? Каковы положительные / отрицательные стороны для того, чтобы иметь:
- база данных для всего сайта (сущности имеет "customerID", данные имеет "entityID")
- база данных для каждого клиента (данные "entityID")
- база данных для каждой сущности (отношение база данных для клиента находится за пределами база данных)
Несколько баз данных, похоже, будут иметь лучшую производительность (меньше строк и соединений), но в конечном итоге могут стать кошмаром обслуживания.
551   11   03:27, 12th August, 2020
SQL Server 2005-экспорт таблицы программно (запустите файл .sql, чтобы перестроить его)
У меня есть база данных с таблицей клиентов, которые имеют некоторые данные
У меня есть еще одна база данных в офисе, что все то же самое, но мой стол клиентов пуст
Как я могу создать sql файл в SQL Server 2005 (T-SQL), который берет все, что находится на столе клиентов из первой базы данных, создает, скажем, buildcustomers.sql, я zip этот файл, копирую его по сети, выполняю его на моем SQL сервере и вуаля! мой столик клиентов полон
Как я могу сделать то же самое для всей базы данных?
Автоматизируйте Синхронизацию Oracle Таблиц С MySQL Таблицами
Университет, в котором я работаю, использует Oracle для системы баз данных. В настоящее время у нас есть программы, которые мы запускаем ночью, чтобы загрузить то, что нам нужно, в некоторые локальные таблицы доступа для наших потребностей тестирования. Доступ становится маленьким для этого сейчас, и нам нужно что-то большее. Кроме того, ночные задания требуют постоянного обслуживания, чтобы продолжать работать (из-за проблем с сетью, изменений таблиц, плохого кода:)), и я хотел бы устранить их, чтобы освободить нас для более важных вещей.
Я больше всего знаком с MySQL, поэтому я настраиваю тестовый сервер MySQL. Как лучше всего автоматизировать копирование необходимых таблиц из Oracle в MySQL?
Редактировать: я принял ответ. Мне не нравится ответ, но он кажется правильным на основе дальнейших исследований и отсутствия других ответов. Спасибо всем, кто обдумал мой вопрос и ответил на него.
Рекомендуемый SQL дизайн базы данных для тегов или меток
Я слышал о нескольких способах реализации тегирования; использование таблицы сопоставления между TagID и ItemID (имеет смысл для меня, но масштабируется ли она?), добавление фиксированного числа возможных столбцов TagID к ItemID (кажется, это плохая идея), сохранение тегов в текстовом столбце, разделенном запятыми (звучит безумно, но может сработать). Я даже слышал, что кто-то рекомендовал разреженную матрицу, но тогда как же имена тегов растут изящно?
Я пропустил лучшую практику для тегов?
обновление auto_now DateTimeField в родительской модели w/ Django
У меня есть две модели: сообщение и вложение. Каждое вложение прикрепляется к определенному сообщению, используя ForeignKey в модели вложения. Обе модели имеют auto_now DateTimeField под названием updated. Я пытаюсь сделать так, чтобы при сохранении любого вложения оно также устанавливало обновленное поле в связанном сообщении на now. Вот мой код:
def save(self):
super(Attachment, self).save()
self.message.updated = self.updated
Будет ли это работать, и если вы можете объяснить мне, почему? Если нет, то как я должен это сделать?
Список стандартных длин полей базы данных
Я разрабатываю таблицу базы данных и снова задаю себе один и тот же глупый вопрос: как долго должно быть поле firstname?
Есть ли у кого-нибудь список разумной длины для наиболее распространенных полей , таких как имя, фамилия и адрес email?
Представление порядка в реляционной базе данных
У меня есть коллекция объектов в базе данных. Картинки в фотогалерее, товар в каталоге, главы в книге и т. д. Каждый объект представлен в виде строки. Я хочу иметь возможность произвольно упорядочивать эти изображения, сохраняя этот порядок в базе данных, чтобы при отображении объектов они были в правильном порядке.
Например, предположим, что я пишу книгу,и каждая глава-это объект. Я пишу свою книгу и размещаю главы в следующем порядке:
Введение, доступность, форма и Функция, Ошибки, Последовательность, Заключение, Индекс
Он отправляется в Редактор и возвращается со следующим предложенным порядком:
Введение, Форма, Функция, Доступность, Последовательность, Ошибки, Заключение, Индекс
Как я могу хранить этот заказ в базе данных надежным и эффективным способом?
У меня были следующие идеи, но я не в восторге от них:
Массив. Каждая строка имеет порядок ID, когда порядок изменяется (через удаление с последующей вставкой), порядок IDs обновляются. Это упрощает поиск, так как это просто
ORDER BY, но кажется, что его легко сломать.// REMOVAL
UPDATE ... SET orderingID=NULL WHERE orderingID=removedID
UPDATE ... SET orderingID=orderingID-1 WHERE orderingID > removedID
// INSERTION
UPDATE ... SET orderingID=orderingID+1 WHERE orderingID > insertionID
UPDATE ... SET orderID=insertionID WHERE ID=addedIDСвязанный список. Каждая строка имеет столбец для идентификатора следующей строки в заказе. Обход кажется дорогостоящим здесь, хотя может каким-то образом использовать
ORDER BY, о котором я не думаю.Разнесенный массив. Установите orderingID (как используется в #1), чтобы быть большим, так что первый объект 100, Второй 200 и т.д. Затем, когда происходит вставка, вы просто помещаете ее в
(objectBefore + objectAfter)/2. Конечно, это должно было бы быть перебалансировано время от времени, поэтому у вас нет вещей слишком близко друг к другу (даже с поплавками, вы в конечном итоге столкнетесь с ошибками округления).
Ни один из них не кажется мне особенно элегантным. У кого-нибудь есть лучший способ сделать это?
Базы Данных Модульного Тестирования
Этим летом я разрабатывал базовое приложение ASP.NET/SQL Server CRUD, и модульное тестирование было одним из требований. Я столкнулся с некоторыми неприятностями, когда пытался протестировать их с помощью базы данных. Насколько я понимаю, модульные тесты должны быть:
- не имеющий гражданства
- независимые друг от друга
- повторяемость с теми же результатами т. е. отсутствие постоянных изменений
Эти требования, по-видимому, противоречат друг другу при разработке базы данных. Например, я не могу проверить Insert(), не убедившись, что вставляемые строки еще не существуют, поэтому мне нужно сначала вызвать Delete(). Но что, если их там еще нет? Тогда мне нужно было бы сначала вызвать функцию Exists().
Мое окончательное решение включало очень большие функции настройки (фу!) и пустой тестовый случай, который будет запущен первым и укажет, что установка выполнена без проблем. Это принесение в жертву независимости испытуемых при сохранении их безгражданства.
Другое решение, которое я нашел, заключается в том, чтобы обернуть вызовы функций в транзакцию, которая может быть легко откатана, как у Роя Ошерова XtUnit . Это работа, но она включает в себя другую библиотеку, другую зависимость, и это кажется немного слишком тяжелым решением для данной проблемы.
Итак, что же сделало сообщество SO, столкнувшись с этой ситуацией?
tgmdbm сказал:
Вы обычно используете свой любимый автоматизированная система модульного тестирования для выполните интеграционные тесты, которые являются почему некоторые люди путаются, но они не следуйте тем же правилам. Вы разрешено вовлекать бетон реализация многих ваших классов (потому что они прошли юнит-тестирование). Вы испытываете, как ваш бетон классы взаимодействуют друг с другом и вместе с базой данных .
Так что, если я правильно прочитал это, на самом деле нет никакого способа эффективно провести модульное тестирование уровня доступа к данным. Или же "unit test" уровня доступа к данным будет включать тестирование, скажем, команд SQL/, генерируемых классами, независимо от фактического взаимодействия с базой данных?
Можно ли совместно использовать транзакцию между приложением .Net и объектом COM+?
Некоторое время назад я провел несколько тестов и так и не понял, как это сделать.
Ингредиент:
- COM + транзакционный объект (разработан в VB6)
- .Net веб-приложение (с транзакцией) в IIS что...
выполняет вызов компонента COM+
обновление строки в базе данных SQL
Тестирование :
Запустите приложение .Net и принудительно создайте исключение.
Результат :
Обновление, выполненное из приложения .Net, откатывается назад.
Обновление, выполненное объектом COM+, не откатывается.
Если я вызываю объект COM+ со старой страницы ASP, откат срабатывает.
Я знаю, что некоторые люди могут думать: "что?! COM+ и .Net вы, должно быть, сошли с ума!", но есть некоторые места в этом мире, где все еще есть много компонентов COM+. Мне просто было любопытно, сталкивался ли кто-нибудь с этим и выяснил ли ты, как это сделать.
Как изменить размер и преобразовать загруженное изображение в PNG с помощью GD?
Я хочу разрешить пользователям загружать изображения типа Аватара в различных форматах (по крайней мере, в форматах GIF, JPEG и PNG ), но сохранить их все как PNG database BLOBs . Если изображения слишком большие, по пикселям, я хочу изменить их размер до DB-вставки.
Что является лучшим способом, чтобы использовать GD, чтобы сделать изменения и преобразования PNG?
Edit: к сожалению, на сервере, который мне нужен, доступен только GD, а не ImageMagick .
Какой хороший способ инкапсулировать доступ к данным с помощью PHP/MySQL?
Большая часть моего опыта находится в стеке MSFT, но сейчас я работаю над сайд-проектом, помогая кому-то с личным сайтом с дешевым хостингом, который построен на стеке LAMP. Мои возможности по установке дополнительных компонентов ограничены, поэтому мне интересно, как написать код доступа к данным без внедрения необработанных запросов в файлы .php.
Я люблю, чтобы все было просто, даже с этим .NET. Обычно я пишу хранимые процедуры для всего, и у меня есть вспомогательный класс, который обертывает все вызовы для выполнения процедур и возврата наборов данных. Я не ищу полномасштабного ORM,но это может быть путь, и другие, кто рассматривает этот вопрос, возможно, ищут его.
Помните, что у меня есть учетная запись $7/month GoDaddy, поэтому я ограничен тем, что уже установлено в их базовом пакете.
Edit: спасибо rix0rr, Алан, Андерс, Дракон, Я проверю все это. Я отредактировал вопрос, чтобы быть более открытым для решений ORM, поскольку они так популярны.
Где разместить ваш код-база данных или приложение?
Я разрабатываю веб-приложения / настольные приложения уже около 6 лет. В течение своей карьеры я сталкивался с приложениями, которые были сильно написаны в базе данных с использованием хранимых процедур, тогда как многие приложения просто имели только несколько основных хранимых процедур (для чтения, вставки, редактирования и удаления записей сущностей) для каждой сущности.
Я видел, как люди утверждают, что если вы заплатили за корпоративную базу данных, то широко используйте ее функции. В то время как многие из "object oriented architects" сказали мне, что это абсолютное преступление-поместить в базу данных что-то большее, чем необходимо, и вы должны быть в состоянии управлять приложением, используя методы на этих классах?
Как вы думаете, где находится равновесие?
Спасибо, Krunal
Что является лучшим способом, чтобы взаимодействовать с сервером MySQL?
Я собираюсь использовать C/C++, и хотел бы знать, как лучше всего поговорить с сервером MySQL. Должен ли я использовать библиотеку, которая поставляется с установкой сервера? Есть ли у них хорошие библиотеки, которые я должен рассматривать, кроме официальной?
Эффективная стратегия для оставления истории аудита trail/изменений для DB приложений?
Назовите Некоторые стратегии, которые люди успешно использовали для ведения истории изменений данных в довольно сложной базе данных. Одно из приложений, которое я часто использую и разрабатываю, действительно может извлечь выгоду из более полного способа отслеживания изменений записей с течением времени. Например, прямо сейчас записи могут иметь ряд timestamp и измененных пользовательских полей, но в настоящее время у нас нет схемы для регистрации нескольких изменений, например, если операция откатывается. В идеальном мире можно было бы восстановить запись, какой она была после каждого сохранения, и т. д.
Немного информации о DB:
- Необходимо иметь возможность расти на тысячи записей в неделю
- 50-60 таблиц
- Основные пересмотренные таблицы могут содержать несколько миллионов записей каждая
- Разумное количество внешних ключей и индексов набора
- Использование PostgreSQL 8.x
В какой степени разработчик должен изучать специфику систем баз данных?
Современные системы баз данных сегодня оснащены множеством функций. И вы согласитесь со мной, что для изучения одной базы данных вы должны разучиться понятиям, которые вы изучили в другой базе данных. Например, каждая база данных будет реализовывать блокировку иначе, чем другие. Поэтому перенос понятий из одной базы данных в другую был бы рецептом неудачи. И могут быть другие примеры, когда две базы данных будут работать очень по-разному.
Поэтому при разработке систем, управляемых базами данных, должны ли программисты знать базу данных в деталях, чтобы они кодировали для производительности? Я не думаю, что было бы целесообразно, чтобы DBA был вызван для выполнения позже, поскольку его работа заключается в том, чтобы только поддерживать базу данных и помогать разработчику в случае чрезвычайной ситуации, но не на регулярной основе.
Как вы думаете, в какой степени разработчик должен получить представление о базе данных?
Как Hive сравнивается с HBase?
Мне интересно узнать, как недавно выпущенный ( http://mirror.facebook.com/facebook/hive/hadoop-0.17/) Hive сравнивается с HBase по производительности. SQL-подобный интерфейс, используемый Hive, очень предпочтителен для HBase API, который мы реализовали.
Выберите существующие данные из базы данных для создания тестовых данных
У меня есть база данных SqlServer, которую я вручную заполнил некоторыми тестовыми данными. Теперь я хотел бы извлечь эти тестовые данные в виде инструкций insert и проверить их в системе управления версиями. Идея состоит в том, что другие члены команды должны иметь возможность создавать ту же базу данных, запускать созданные сценарии вставки и иметь те же данные для тестирования и разработки.
Есть ли хороший инструмент, чтобы сделать это? Я не ищу инструмент для генерации данных, как описано здесь .
Что такое "best" способ хранения международных адресов в базе данных?
Каков "лучший" способ хранения международных адресов в базе данных? Ответьте в виде схемы и объясните причины, по которым вы решили нормализовать (или нет) свой путь. Также объясните, почему вы выбрали тип и длину каждого поля.
Примечание: Вы сами решаете, какие поля вы считаете необходимыми.
449   6   16:35, 22nd August, 2020
Хранимая процедура и время ожидания
Я запускаю длинную хранимую процедуру процесса.
Мне интересно, если в случае тайм-аута или любого случая отключения с базой данных после инициирования вызова хранимой процедуры. Он все еще работает и реализует изменения на сервере?
присоединение последних из различных тегов usermetadata к пользовательским строкам
У меня есть БД Postgres со столом пользователя (userId, firstName и lastName) и usermetadata таблицы (идентификатор, код, контент, созданный datetime). Я храню различную информацию о каждом пользователе в таблице usermetadata по коду и веду полную историю. например, пользователь (userid 15) имеет следующие метаданные:
15, 'QHS', '20', '2008-08-24 13:36:33.465567-04'
15, 'QHE', '8', '2008-08-24 12:07:08.660519-04'
15, 'QHS', '21', '2008-08-24 09:44:44.39354-04'
15, 'QHE', '10', '2008-08-24 08:47:57.672058-04'
Мне нужно получить список всех моих пользователей и самое последнее значение каждого из различных кодов usermetadata. Я сделал это программно, и это было, конечно, ужасно медленно. Лучшее, что я мог придумать, чтобы сделать это в SQL,-это присоединиться к подзапросам, которые также были медленными, и мне пришлось сделать по одному для каждого кода.
Удалите все файлы X в bash, кроме самых последних
Есть ли простой способ, в довольно стандартной среде UNIX с bash, запустить команду для удаления всех файлов X из каталога, кроме самых последних?
Чтобы привести более конкретный пример, представьте себе, что некое задание cron каждый час записывает файл (скажем, файл журнала или резервную копию tar-ed) в каталог. Мне бы хотелось, чтобы было запущено еще одно задание cron, которое удаляло бы самые старые файлы в этом каталоге, пока их не станет меньше, скажем, 5.
И просто для ясности, там есть только один файл, он никогда не должен быть удален.
Вставить внутрь ... значения ( SELECT ... FROM ... )
Я пытаюсь создать таблицу INSERT INTO , используя входные данные из другой таблицы. Хотя это вполне осуществимо для многих движков баз данных , я всегда стараюсь вспомнить правильный синтаксис для движка SQL дня ( MySQL , Oracle , SQL Server , Informix и DB2 ).
Есть ли в стандарте SQL (например, SQL-92 ) синтаксис серебряной пули, который позволил бы мне вставлять значения, не беспокоясь о базовой базе данных?
Как сжатие данных более эффективно, чем индексирование для производительности поиска?
В нашем приложении большие объемы данных индексируются тремя целочисленными столбцами (источник, тип и время). Загрузка значительных фрагментов этих данных может занять некоторое время, и мы внедрили различные меры для уменьшения объема данных, которые должны быть найдены и загружены для больших запросов, таких как хранение больших гранулярностей для запросов, которые не требуют высокого разрешения (с точки зрения времени).
При поиске данных в наших архивах резервных копий, где данные хранятся в текстовых файлах bzipped, но имеют в основном ту же структуру, я заметил, что значительно быстрее распаковать stdout и передать его через grep, чем распаковать его на диск и grep файлы. Фактически, untar-to-pipe был даже заметно быстрее, чем просто захват несжатых файлов (т. е. дисконтирование untar-to-disk).
Это заставило меня задуматься, действительно ли влияние производительности дискового ввода-вывода намного тяжелее, чем я думал. Итак, вот мой вопрос:
Считаете ли вы, что помещение данных из нескольких строк в (сжатое) поле blob одной строки и поиск одиночных строк на лету во время извлечения может быть быстрее, чем поиск одних и тех же строк через индекс таблицы?
Например, вместо того, чтобы иметь эту таблицу
CREATE TABLE data ( `source` INT, `type` INT, `timestamp` INT, `value` DOUBLE);
Я бы так и сделал
CREATE TABLE quickdata ( `source` INT, `type` INT, `day` INT, `dayvalues` BLOB );
с примерно 100-300 строк в данных для каждой строки в quickdata и поиска нужных меток времени на лету во время декомпрессии и декодирования поля blob.
Это имеет смысл для вас? Какие параметры я должен исследовать? Какие ниточки могут быть привязаны? Какие функции DB (любые DBMS) существуют для достижения аналогичных эффектов?
Bash один лайнер: копировать template_*.txt в foo_*.txt?
Скажем, у меня есть три файла (template_*.txt):
- template_x.txt
- template_y.txt
- template_z.txt
Я хочу скопировать их в три новых файла (foo_*.txt).
- foo_x.txt
- foo_y.txt
- foo_z.txt
Есть ли простой способ сделать это с помощью одной команды, например
cp --enableAwesomeness template_*.txt foo_*.txt
Есть ли способ, чтобы предотвратить находку из раскопок рекурсивно в подкаталогах?
Когда я это сделаю:
$ find /
Он обыскивает всю систему.
Как мне это предотвратить?
(Этот вопрос возникает из "ответа" на другой вопрос.)
RSync только если смонтирована файловая система
Я хочу настроить задание cron для rsync удаленной системы на резервный раздел, Что-то вроде:
bash -c 'rsync -avz --delete --exclude=proc --exclude=sys root@remote1:/ /mnt/remote1/'
Я хотел бы иметь возможность "set it and forget it", но что делать, если /mnt/remote1 будет размонтирован? (После перезагрузки или чего-то еще) я хотел бы ошибиться, если /mnt/remote1 не смонтирован, а не заполнять локальную файловую систему.
Редактировать:
Вот что я придумал для скрипта, очистку улучшений оценил (особенно для пустого тогда ... иначе я не мог бы оставить их пустыми или bash ошибки)
#!/bin/bash
DATA=data
ERROR="0"
if cut -d' ' -f2 /proc/mounts | grep -q "^/mnt/$1\$"; then
ERROR=0
else
if mount /dev/vg/$1 /mnt/$1; then
ERROR=0
else
ERROR=$?
echo "Can't backup $1, /mnt/$1 could not be mounted: $ERROR"
fi
fi
if [ "$ERROR" = "0" ]; then
if cut -d' ' -f2 /proc/mounts | grep -q "^/mnt/$1/$DATA\$"; then
ERROR=0
else
if mount /dev/vg/$1$DATA /mnt/$1/data; then
ERROR=0
else
ERROR=$?
echo "Can't backup $1, /mnt/$1/data could not be mounted."
fi
fi
fi
if [ "$ERROR" = "0" ]; then
rsync -aqz --delete --numeric-ids --exclude=proc --exclude=sys \
root@$1.domain:/ /mnt/$1/
RETVAL=$?
echo "Backup of $1 completed, return value of rsync: $RETVAL"
fi
Существует ли задача rake для резервного копирования данных в вашей базе данных?
Существует ли задача rake для резервного копирования данных в вашей базе данных?
У меня уже есть резервная копия моей схемы, но я хочу сделать резервную копию данных. Это небольшая база данных MySQL.
Тайм-аут не соблюдается в строке подключения
У меня есть долго работающий оператор SQL, который я хочу запустить, и независимо от того, что я помещаю в предложение "timeout=" моей строки подключения, он всегда заканчивается через 30 секунд.
Я просто использую SqlHelper.ExecuteNonQuery() , чтобы выполнить его, и позволяю ему заботиться об открытии соединений и т. д.
Есть ли что-то еще, что может переопределить мой тайм-аут или заставить сервер sql игнорировать его? Я запустил profiler над запросом, и trace не выглядит по-другому, когда я запускаю его в management studio, а не в своем коде.
Management studio завершает запрос примерно за минуту, но даже с тайм-АУ, установленным на 300 или 30000, мой код все равно выходит через 30 секунд.
База данных: что такое Multiversion Concurrency Control (MVCC) и кто его поддерживает?
Недавно Джефф опубликовал сообщение о своей проблеме с блокировками базы данных, связанными с чтением. Мультиверсионное управление параллелизмом (MVCC) претендует на решение этой проблемы. Что это такое и какие базы данных его поддерживают?
обновлено: эти поддерживают его (какие другие?)
- oracle
- postgresql
Какие существуют инструменты рефакторинга баз данных?
Я ищу что-то, что можно интегрировать в мой рабочий процесс CI.
Я слышал о dbdeploy , но я ищу что-то другое. Причина, по которой мне не нравится dbdeploy, заключается в том, что я не хочу устанавливать java на своем сервере.
Я бы предпочел, конечно, чтобы решение не включало в себя нанизывание некоторых скриптов shell вместе.
Когда вы используете табличные кластеры?
Как определить, когда следует использовать табличные кластеры ? Существует два типа, index и hash, которые можно использовать для разных случаев. По вашему опыту, окупилось ли внедрение и использование табличных кластеров?
Если ни одна из ваших таблиц не настроена таким образом, изменение их для использования табличных кластеров увеличит сложность настройки. Но перевесят ли ожидаемые эксплуатационные преимущества затраты на повышение сложности будущих работ по техническому обслуживанию?
Есть ли у вас любимые онлайн-ссылки или книги, которые хорошо описывают кластеризацию таблиц и дают хорошие примеры реализации?
//Oracle советы очень ценятся.
Сервер SQL для MySQL
У меня есть резервная копия сервера SQL DB .формат bak, который мне удалось успешно восстановить в локальный экземпляр SQL Server Express. Теперь я хочу экспортировать как структуру, так и данные в формате, который примет MySQL. Инструменты, которые я использую для управления MySQL, обычно позволяют мне импортировать / экспортировать .sql файлов, но, к сожалению, Microsoft не сочла нужным сделать мою жизнь такой легкой!
Я не могу поверить, что я первый, кто столкнулся с этим, но Google не очень помог. Кто-нибудь справлялся с этим раньше?
Bash Рег-эксп замена
Есть ли способ выполнить замену строки регулярного выражения на текущей строке в bash?
Я довольно часто оказываюсь в ситуации, когда я набрал длинную командную строку, а затем понимаю, что я хотел бы изменить слово где-то в строке.
Мой текущий подход заключается в том, чтобы закончить строку, нажать Ctrl + A (чтобы добраться до начала строки), вставить # (чтобы закомментировать строку), нажать enter, а затем использовать синтаксис ^oldword^newword ( ^oldword^newword выполняет предыдущую команду после замены старого слова новым словом).
Но должен быть лучший (более быстрый) способ достичь этого. (Мышь не представляется возможным, так как я нахожусь в ssh-сеансах большую часть времени).
Вероятно, для этого есть какая-то ключевая команда emacs, о которой я не знаю.
Edit: я пробовал использовать vi-mode. Случилось что-то странное. Хотя я и являюсь любящим пользователем vim, у меня были серьезные проблемы с использованием моего любимого bash. Все эти движения пальцев, которые были выжжены в моем подсознании, внезапно перестали работать. Я быстро вернулся к emacs-режиму и подумал, давая emacs попробовать в качестве моего любимого редактора (хотя я думаю, что то же самое может произойти снова).
Инструменты сравнения баз данных
Моя компания имеет ряд относительно небольших баз данных Access (2-5MB), которые управляют нашими инструментами проектирования с помощью пользователей. Естественно, эти базы данных эволюционируют с течением времени по мере обнаружения и исправления ошибок в данных, а также по мере изменения схемы для поддержки новых функций в инструментах. Может ли кто-нибудь порекомендовать инструмент database diff для сравнения данных и схемы из одной версии базы данных в другую? Любые предложения будут оценены: бесплатно, с открытым исходным кодом или коммерческие.
Можно ли использовать nHibernate с базой данных Paradox?
Можно ли настроить nHibernate для подключения к базе данных Paradox (*.db файлов)?
Почему это плохая практика, чтобы сделать несколько подключений к базе данных в одном запросе?
Обсуждение Синглетонов в PHP году заставляет меня все больше и больше задумываться над этим вопросом. Большинство людей учат, что вы не должны делать кучу соединений DB в одном запросе, и мне просто любопытно, каковы ваши рассуждения. Моя первая мысль-это затраты на ваш сценарий, чтобы сделать так много запросов к DB, но затем я противопоставляю себя вопросу: не будет ли несколько соединений делать параллельные запросы более эффективными?
Как насчет некоторых ответов (с доказательствами, люди) от некоторых людей в курсе?
Простой объект для продукта базы данных
Я рассматривал некоторые различные продукты для .NET, которые предлагают ускорить время разработки, предоставляя возможность бизнес-объектам легко сопоставляться с автоматически создаваемой базой данных. У меня никогда не было проблем с написанием уровня доступа к данным, но мне интересно, действительно ли этот тип продукта сэкономит время, которое он требует. Я также беспокоюсь, что буду отказываться от слишком большого контроля над базой данных и затруднять отслеживание любых проблем на уровне данных. Делают ли эти типы продуктов лучше или хуже в уже сложном случае, когда необходимо изменить структуру базы данных и бизнес-объекта?
Например: Отображение отношений объектов из Dev Express
В сущности, стоит ли оно того? Смогу ли я сэкономить "THAT" много времени, усилий и будущих ошибок?
Почему **sort** не сортирует то же самое на каждой машине?
Использование одной и той же команды сортировки с одинаковыми входными данными приводит к различным результатам на разных машинах. Как мне это исправить?
Кто-нибудь использует CouchDB?
Я с интересом следил за проектом CouchDB в течение последних двух лет и вижу, что теперь это проект инкубатора Apache. До этого веб-сайт CouchDB был полон отказов от использования производственного кода , поэтому я просто следил за ним. Мне было бы интересно узнать ваш опыт, если бы вы использовали CouchDB либо для живого проекта, либо для пилота технологии.
Хорошая бесплатная альтернатива MS Access
Рассмотрим необходимость разработки легкого настольного приложения DB на платформах Microsoft.
Это можно было бы сделать довольно легко с MS Access, но я хотел бы иметь возможность распространять его среди других, и я не хочу платить за лицензию времени выполнения.
Требования:
- легкое распределение для других
- нет проблем с лицензированием среды выполнения
Соображения и кандидаты:
- База из номера OpenOffice . Мои опасения были связаны с его стабильностью.
- MySQL + написание пользовательского кода DB в C++ или Python или что-то еще кажется довольно тяжелым решением.
Вопрос: каковы низкозатратные или бесплатные альтернативы базам данных MS Access?
См. Также: Механизмы Отчетности С Открытым Исходным Кодом
@Schnapple
Bruceatk вроде бы ударил по тому, о чем я думаю; это не столько двигатель DB, сколько я хочу другие тонкости, которые доступ приносит на вечеринку. Хороший конструктор форм, хороший механизм отчетности и т. д. Но вы действительно поднимаете очень хороший вопрос о следе установки. Я думал об этом, но пока еще не принял никаких твердых решений относительно того, в какую сторону мне двигаться. Это, вероятно, будет что-то довольно легкое в любом случае, и небольшой монтажный след определенно будет плюсом.
@Remou,
Нет, я не знал, что среда выполнения MS Access 2007 бесплатна; спасибо, что указали на это. В последний раз, когда я удосужился исследовать его (я не помню, когда это было), я думаю, что это была довольно дорогая лицензия для среды выполнения, потому что я думаю, что они пытались продать ее корпоративным отделам IT.
И спасибо всем остальным, кто откликнулся также; я был совершенно не в курсе тех других вариантов, которые вы все указали.
Как вы используете ssh в скрипте shell?
Когда я пытаюсь использовать команду ssh в сценарии shell, команда просто сидит там. У вас есть пример того, как использовать ssh в скрипте shell?
Получение ssh для выполнения команды в фоновом режиме на целевой машине
Это следующий вопрос к тому, как вы используете ssh в скрипте shell? вопрос. Если я хочу выполнить команду на удаленной машине, которая выполняется в фоновом режиме на этой машине, как я могу получить команду ssh для возврата? Когда я пытаюсь просто включить амперсанд (&) в конце команды, он просто зависает. Точная форма команды выглядит так:
ssh user@target "cd /some/directory; program-to-execute &"
Есть какие-нибудь идеи? Одна вещь, чтобы отметить, что логины на целевой машине всегда производят текстовый баннер, и у меня есть SSH ключей, настроенных так, что пароль не требуется.
Создание таблиц базы данных из определений объектов
Я знаю, что существует несколько (автоматических) способов создания уровня доступа к данным для управления существующей базой данных (от LINQ до SQL, Hibernate и т. д...). Но я начинаю немного уставать (и я считаю, что должен быть лучший способ делать вещи) от таких вещей, как:
- Создание / изменение таблиц в Visio
- Использование Visio-х "Update Database" для создания / изменения базы данных
- Импорт таблиц в объект "LINQ to SQL classes"
- Соответственно, меняется код
- Скомпилировать
Как насчет способа создания схемы базы данных из определения объектов / сущностей? Я не могу найти хороших ссылок для таких инструментов (и я ожидал бы какой-то встроенной поддержки, по крайней мере, в некоторых фреймворках).
Было бы прекрасно, если бы я только мог ... :
- Изменение определения объекта
- Измените код, который управляет объектом
- Компилировать (изменения в базе данных производятся автоматически-магически)
Как обойти неподдерживаемые целочисленные типы полей без знака в MS SQL?
Пытаясь сделать приложение на основе MySQL поддержкой MS SQL, я столкнулся со следующей проблемой:
Я сохраняю auto_increment MySQL как целочисленные поля без знака (разных размеров), чтобы использовать полный диапазон, поскольку я знаю, что никогда не будет отрицательных значений. MS SQL не поддерживает атрибут unsigned для всех целочисленных типов, поэтому мне приходится выбирать между удалением половины диапазона значений или созданием обходного пути.
Одним из очень наивных подходов было бы поместить некоторый код в код абстракции базы данных или в хранимую процедуру, которая преобразует между отрицательными значениями на стороне БД и значениями из большей части диапазона без знака. Это, конечно, испортит сортировку, а также не будет работать с функцией автоматического идентификатора (или это будет каким-то образом?).
Я не могу придумать хороший обходной путь прямо сейчас, есть ли он? Или я просто фанатик и должен просто забыть о половине диапазона?
Редактировать:
Вудхаус: да, наверное, ты прав. В моей голове все еще звучит голос, говорящий, что, возможно, я смогу уменьшить размер поля, если оптимизирую его использование. Но если нет простого способа сделать это, вероятно, не стоит беспокоиться об этом.
Как выбрать базу данных SQL?
Мы живем в золотой век баз данных, с многочисленными высококачественными коммерческими и бесплатными базами данных. Это здорово, но недостатком является то, что нет простого очевидного выбора для того, кто нуждается в базе данных для своего следующего проекта.
- Какие ограничения / критерии вы используете для выбора базы данных?
- Насколько хорошо различные базы данных, которые вы использовали, соответствуют этим constraints/criteria?
- Какие особенности имеют базы данных?
- Какие базы данных вы чувствуете себя комфортно, рекомендуя другим?
и т.д...
Как управлять обновлением схемы в рабочей базе данных?
Это, кажется, забытая область,которая действительно может использовать некоторое понимание. Каковы ваши лучшие практики для:
- выполнение процедуры обновления
- резервное копирование в случае ошибок
- синхронизация изменений кода и базы данных
- тестирование до deployment
- механика изменения таблицы
и т.д...
Получить последний элемент в таблице-SQL
У меня есть таблица истории в SQL Server, которая в основном отслеживает элемент через процесс. Элемент имеет несколько фиксированных полей, которые не изменяются на протяжении всего процесса, но имеет несколько других полей, включая статус и идентификатор, которые увеличиваются по мере увеличения шагов процесса.
В основном я хочу получить последний шаг для каждого элемента, заданного ссылкой на пакет. Так что если я сделаю
Select * from HistoryTable where BatchRef = @BatchRef
Он вернет все шаги для всех элементов в пакете-например
Id Status BatchRef ItemCount 1 1 Batch001 100 1 2 Batch001 110 2 1 Batch001 60 2 2 Batch001 100
Но чего я действительно хочу, так это:
Id Status BatchRef ItemCount 1 2 Batch001 110 2 2 Batch001 100
Edit: Appologies - кажется, не удается получить теги TABLE для работы с Markdown - последовал за справкой к письму и выглядит нормально в предварительном просмотре
Screen и history?
В своем ubuntu я постоянно использую терминальный мултиплексор Screen. Со своими функциями он справляется на отменно, но вот один прокол у него имеется — это история комманд. С ней происходит непонятное чёрт-те что что, но свои комманды я там найти не могу. Может ли кто-нибудь подсказать как сделать так чтобы история комманд работала как надо?
Книгу для экспресс-изучения Visual Basic?
Нужно оперативно изучить Visual Basic, не углубляясь в дебри, для написания утилиток к научной работе
(по специальности я — инженер-строитель, ставать программистом не планирую.
В программировании новичок — когда-то успешно решал задачки на паскале и делфи)
Возможно, Visual Basic, в моем случае, не лучший вариант — советы очень приветствуются.
Bash. Скрипт автоматического кодирования видео
Господа, требуется помощь в написании скрипта. В связи в началом нового сериального сезона в голову пришла мысль что хватит уже «руками» каждый файл кодировать, надо этот процесс как то автоматизировать. задача: есть папка с видео, из неё необходимо выбирать файлы, в названиях которых содержится — LostFilm.TV, и если при этом нет такого же файла с расширением mp4 (уже закодированный) — запихивать в скрипт и кодировать. Кодирую видео при помощи ffmpeg: ffmpeg -i House.M.D.s07e01.rus.LostFilm.TV.avi -acodec aac -strict experimental -ab 128kb -vcodec mpeg4 -b 1000kb -s 320x180 -r 23.98 House.M.D.s07e01.rus.LostFilm.TV.mp4
Проблема с bash-скриптом
Имеется bash-скрипт, который должен запускаться по крону. Процесс получает pid из файла (pid=`<pid/order_$name`). Крон как раз ругается на то, что не может получить pid. Из строки скрипт запускается и отрабатывает отлично.
Если же в скрипте '<' заменить на /bin/cat, то и кроном он начинает запускаться хорошо. В кронтабе SHELL=/bin/bash
Уже всю голову себе поломал. Нужна помощь. Заранее спасибо.
Инструмент для совместной работы филиалов и центра
Взываю к коллективному хабраразуму. Мы ищем систему мечты для централизованного взаимодействия основной компании и компаний-партнёров. Вариантов таких сервисов масса, все не изучишь. Думаю, кто-то с подобной задачей сталкивался.
Нужно иметь возможности
• Общение по принципу форума
• Обмен фото, видео, офисные файлы. Хранение в виде централизованого структурированного хранилища.
• Публикация новостей
• Есть свой сервер, на который можно эту систему поставить. В принципе, мы не против хранить такую информацию на сервере разработчика.
• По цене лучше бесплатно или недорого. От Basecamp'а отказываемся, потому что дорого и избыточно
Желательно, чтоб система была простая, без наворотов и избыточного функционала. Нам не нужны задания, отслеживание проектов и т.п. Нам нужна единая база знаний и возможность общения. Ах, и да! Желательно на русском, не все наши партнёры сильны в английском.
358   5   03:47, 20th August, 2020
Запуск openofficeю.writer из коммандной строки в macos?
Недавно на mac, пытаюсь сделать такую вещь:
open -a /Applications/OpenOffice.app --args -writer
Но он открывает новый writer только если OpenOffice еще не был запущен, если был запущен раньше показывает последнее активное окно.
Как создать новый документ из консоли?
Посоветуйте хороший таск-менеджер для удалённого коллектива
Сейчас используем basecamp, не устраивает — не хватает возможности создавать и наблюдать вложенные задачи и связанные задачи. В целом сервис довольно тяжёлый, а функциональности маловато.
Shell, замена всех символов строки их кодами?
Привет!
Подскажите, кто знает, каким образом все символы строки заменить их кодами или каким нибудь hash, по средствам команд shell.
Вот пример:
На входе
> hello world
А на выходе, что-то на подобии
> h2dfde3r443332d
Пробовал под windows через perl
$ perl -e 'print crypt(«hello world», «a3»)'
Но выдал:
The crypt() function is unimplemented due to excessive paranoia. at -e line 1.
В линкусе все отрабатывает хорошо.
Вот и ищу, чтоб под windows можно было с минимальными затратами просто поставив msysGit можно было выполнить данную задачу.
upd: пришлось поставить ActivePerl.
заработало.
но решение задачи средствами sh буду ждать.
> hello world
А на выходе, что-то на подобии
> h2dfde3r443332d
Как бороться с ошибкой: couldn't commit memory for cygwin heap?
Привет!
есть код:
<font color="black">awk <font color="#A31515">'<br/>
BEGIN {<br/>
split("\b\b\b\b\b. . . . . \b- \b\b- \b\b- \b\b- \b\b- \b= = = = =", st, " ")<br/>
i=0<br/>
}<br/>
/^[0-9]/ { <br/>
sub(/:.*/, "");<br/>
d=$0;<br/>
next;<br/>
} <br/>
/^&/ {<br/>
sub(/&/, "");<br/>
f=$0<br/>
substr($0, 2, length($0) - 1);<br/>
next;<br/>
}<br/>
/^+/ { a="A"; }<br/>
/^-/ { a="D"; } <br/>
/^[\+-]/ { <br/>
fflush("")<br/>
sub(/[\+-]/, "") <br/>
"echo \"" $0 "\" | md5sum | cut -f1 -d \" \" | sed -e \"s@[32|16]@/sd@g\"" | getline str; close("")<br/>
print ""<br/>
system("echo -ne \"" st[i++] "\" >&2")<br/>
if (i > 16) i=0<br/>
} <br/>
' $gitdiff | \<br/>
sed -e <font color="#A31515">'s/\(filename="[^"]"\)/\1/'</font> <br/>
</font><br/>
<font color="gray">* This source code was highlighted with <a href="http://virtser.net/blog/post/source-code-highlighter.aspx"><font color="gray">Source Code Highlighter</font></a>.</font></font>
есть файл из которого берутся данные
при выполнение вылетает ошибка
C:\Program Files\Git\bin\sh.exe: *** couldn't commit memory for cygwin heap, Win32 error 487
C:\Program Files\Git\bin\sh.exe: *** couldn't commit memory for cygwin heap, Win32 error 487
C:\Program Files\Git\bin\gawk.exe: *** couldn't commit memory for cygwin heap, Win32 error 487
помогите понять почему?
upd: может дело в длине данных?
<font color="black">awk <font color="#A31515">'<br/>
BEGIN {<br/>
split("\b\b\b\b\b. . . . . \b- \b\b- \b\b- \b\b- \b\b- \b= = = = =", st, " ")<br/>
i=0<br/>
}<br/>
/^[0-9]/ { <br/>
sub(/:.*/, "");<br/>
d=$0;<br/>
next;<br/>
} <br/>
/^&/ {<br/>
sub(/&/, "");<br/>
f=$0<br/>
substr($0, 2, length($0) - 1);<br/>
next;<br/>
}<br/>
/^+/ { a="A"; }<br/>
/^-/ { a="D"; } <br/>
/^[\+-]/ { <br/>
fflush("")<br/>
sub(/[\+-]/, "") <br/>
"echo \"" $0 "\" | md5sum | cut -f1 -d \" \" | sed -e \"s@[32|16]@/sd@g\"" | getline str; close("")<br/>
print ""<br/>
system("echo -ne \"" st[i++] "\" >&2")<br/>
if (i > 16) i=0<br/>
} <br/>
' $gitdiff | \<br/>
sed -e <font color="#A31515">'s/\(filename="[^"]"\)/\1/'</font> <br/>
</font><br/>
<font color="gray">* This source code was highlighted with <a href="http://virtser.net/blog/post/source-code-highlighter.aspx"><font color="gray">Source Code Highlighter</font></a>.</font></font>есть файл из которого берутся данные
при выполнение вылетает ошибка
C:\Program Files\Git\bin\sh.exe: *** couldn't commit memory for cygwin heap, Win32 error 487
C:\Program Files\Git\bin\sh.exe: *** couldn't commit memory for cygwin heap, Win32 error 487
C:\Program Files\Git\bin\gawk.exe: *** couldn't commit memory for cygwin heap, Win32 error 487
помогите понять почему?
upd: может дело в длине данных?
Linux: прицепить обратно консоль к процессу?
Дело было из под ssh в bash.
Запустил некую программу на несколько суток, которая изредка выводит в стандартный вывод сообщения. Потом сделал
Ctrl-Z
$ bg
$ logout
На следующий день опять залогинился и вижу программу в списке процессов. Все еще работает, зараза.
Можно ли прицепить обратно вывод программы в консоль/увидеть ее вывод?
Если да, то как?
PS/ я понимаю, что если бы заранее сделать что-то вроде «progname | tee ./log-file», то этого вопроса можно было бы избежать, но процесс прерывать нельзя.
UPD: после повторного логина в jobs не висит, к сожалению.
Пишу скрипты для BAS только на запросах

Скрипт для накрутки рефералов в Android-приложении

Скрипт зарегистрировал 49000 аккаунтов на сайте менее, чем за 2 часа.
Пишу BAS-скрипты на запросах для несложных сайтов и Android-приложений.
Качественная разработка проектов для автоматизации действий в браузере, приложениях и др. парсеры, регеры, грабберы, чекеры, спамеры и. т. д.
Загрузка файлов, фотографий на сайты, хостинги, фотостоки.
Абуз Окея, Пятерочки, Магнита, Ашана, Магнита, аирдропов и др. акций
Накрутка банеров, рекламных объявлений, сокращённых ссылок.
Чекер SMS и капча-сервисов, европейских и американских банков, других форумов, интернет-магазинов, где нужно подобрать пароль.
- Регистраторы. Боты для регистрации на различных сайтах (фрихостинги, форумы, почтовые сервисы, соцсети, дедики и т.д). Создание аккаунтов в промышленных масштабах (с автоматическим распознаванием капчи и вводом подтверждения кода из SMS).
- Постеры. Боты для постинга (постинг на доски объявлений, наполнение сайтов контентом, загрузка видео, картинок, размещение комментариев и. т.д ).
- Парсеры. Боты для сбора, отслеживания и анализа информации с различных интернет ресурсов в автоматическом режиме.
- Боты для социальных сетей (программы для smm на заказ). Накрутка лайков, приглашение в группы, парсинг пользователей по критериям, отправка личных сообщений, наполнение групп и. т.п.
Автоматизировать можно вообще все, что вы делаете вручную в браузере.
Поддержка:
- многопоточность
- прокси HTTPs / SOCKS5
- генерация отпечатков браузера
- генерация имени, фамилии и других данных
- спинтакс - генератор уникального текста, пример: {Привет|Здравствуй|Добрый день}
- уникализация изображений
- подгрузка UserAgent и других заголовков
- интеграция по API с SMS сервисами (сервисы распознавания капчи)
- интеграция по API с другими сервисами и сайтами
- оповещения в Telegram
- другие задачи связанные со входами в аккаунт и выполнением желаемых действий
- и многое другое
Работаю на честных условиях без предоплаты. Для очень простых сайтов - напишу скрипт бесплатно!
Для написания бота, нужен сайт и желательно видео с порядком действий, чтобы я эти действия мог прописать в боте, но если на сайте есть Cloudflare , то на запросах (POST/GET) не выйдет написать бота, на эмуляции не пишу(медленно слишком).
По всем вопросам пишите: Telegram ༺Leͥgeͣnͫd༻ ᴳᵒᵈ или T_Condor
Я НЕ пишу скрипты под десктопные приложения.
Я НЕ пишу ботов для Telegram.
Я НЕ пишу чекеры для СНГ банков.
Я НЕ пишу скрипты для сайтов, на которых присутствует Cloudflare
Скрипт скачивает картинки-мемы в папку с сайта (в итоге скачано более 41000 мемов)

Сокращатель ссылок bit.ly. Создание множества редиректов.