Результаты поиска
Вызов ошибки в триггере MySQL
Если у меня есть trigger before the update на таблице, как я могу бросить ошибку, которая предотвращает обновление на этой таблице?
Проверьте наличие изменений в таблице сервера SQL?
Как я могу контролировать базу данных сервера SQL на предмет изменений в таблице без использования триггеров или изменения структуры базы данных каким-либо образом? Моя предпочтительная среда программирования-это .NET и C#.
Я хотел бы иметь возможность поддерживать любой SQL Server 2000 SP4 или новее. Мое приложение - это простая визуализация данных для продукта другой компании. Наша клиентская база исчисляется тысячами, поэтому я не хочу вводить требования, чтобы мы изменяли таблицу сторонних поставщиков при каждой установке.
Под "changes to a table" я подразумеваю изменения в табличных данных, а не изменения в структуре таблицы.
В конечном счете, я хотел бы, чтобы изменение инициировало событие в моем приложении, вместо того, чтобы проверять изменения через определенный промежуток времени.
Лучший способ действия, учитывая мои требования (никаких триггеров или модификаций схемы, SQL Server 2000 и 2005), по-видимому, заключается в использовании функции BINARY_CHECKSUM в T-SQL . Вот как я планирую это осуществить:
Каждые X секунд выполняйте следующий запрос:
SELECT CHECKSUM_AGG(BINARY_CHECKSUM(*))
FROM sample_table
WITH (NOLOCK);
И сравните это с сохраненным значением. Если значение изменилось, пройдите по строкам таблицы с помощью запроса:
SELECT row_id, BINARY_CHECKSUM(*)
FROM sample_table
WITH (NOLOCK);
И сравните возвращенные контрольные суммы с сохраненными значениями.
Базы данных плоских файлов
Каковы наилучшие методы создания структур базы данных плоских файлов в PHP?
Многие из более зрелых PHP плоских файловых фреймворков, которые я вижу, пытаются реализовать SQL-подобный синтаксис запроса, который в большинстве случаев является избыточным для моих целей (я бы просто использовал базу данных в этой точке).
Есть ли какие-то элегантные трюки, чтобы получить хорошую производительность и функции с небольшими накладными расходами кода?
Java lib или приложение для преобразования файла CSV в файл XML?
Существует ли существующее приложение или библиотека в Java , которое позволит мне конвертировать файл CSV данных в файл XML ?
Теги XML будут предоставляться, возможно, через первую строку, содержащую заголовки столбцов.
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, то отлично.
WinForms ComboBox привязка данных попалась
Предположим, что вы делаете что-то вроде следующего
List<string> myitems = new List<string>
{
"Item 1",
"Item 2",
"Item 3"
};
ComboBox box = new ComboBox();
box.DataSource = myitems;
ComboBox box2 = new ComboBox();
box2.DataSource = myitems
Так что теперь у нас есть 2 поля со списком, привязанные к этому массиву, и все работает нормально. Но когда вы меняете значение одного поля со списком, он меняет BOTH полей со списком на тот, который вы только что выбрали.
Теперь я знаю, что массивы всегда передаются по ссылке (узнал это, когда узнал C :D), но с какой стати поля со списком будут меняться вместе? Я не верю, что элемент управления combo box вообще изменяет коллекцию.
В качестве обходного пути, не это бы достичь функциональности, которая ожидается / желаемый
ComboBox box = new ComboBox();
box.DataSource = myitems.ToArray();
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#?
Как работает индексация баз данных?
Учитывая, что индексация так важна, поскольку ваш набор данных увеличивается в размере, может ли кто-нибудь объяснить, как индексирование работает на уровне базы данных-агностика?
Сведения о запросах для индексации поля см. В разделе Как индексировать столбец базы данных .
Как индексировать столбец базы данных
Надеюсь, я смогу получить ответы для каждого сервера баз данных.
Для получения общих сведений о том, как работает индексация, ознакомьтесь с разделом: как работает индексация базы данных?
Какова наиболее эффективная графовая структура данных в Python?
Мне нужно уметь манипулировать большим (10^7 узлов) графом в python. Данные, соответствующие каждому узлу / ребру, минимальны, скажем, небольшое количество строк. Каков наиболее эффективный , с точки зрения памяти и скорости , способ сделать это?
Дикт диктов более гибок и прост в реализации, но я интуитивно ожидаю, что список списков будет быстрее. Опция списка также потребует, чтобы я хранил данные отдельно от структуры, в то время как дикты позволят сделать что-то подобное:
graph[I][J]["Property"]="value"
Что бы вы предложили?
Да, мне следовало бы немного прояснить, что я подразумеваю под эффективностью. В данном конкретном случае я имею в виду его в терминах произвольного поиска доступа.
Загрузка данных в память не является огромной проблемой. Это делается раз и навсегда. Трудоемкая часть-это посещение узлов, чтобы я мог извлечь информацию и измерить интересующие меня показатели.
Я не рассматривал возможность сделать каждый узел классом (свойства одинаковы для всех узлов), но похоже, что это добавит дополнительный уровень накладных расходов? Я надеялся, что у кого-то будет какой-то непосредственный опыт с подобным случаем, которым они могли бы поделиться. В конце концов, графики-это одна из самых распространенных абстракций в CS.
Насколько большой может быть база данных MySQL, прежде чем производительность начнет снижаться
В какой момент база данных MySQL начинает терять производительность?
- Имеет ли значение физический размер базы данных?
- Имеет ли значение количество записей?
- Является ли любое снижение производительности линейным или экспоненциальным?
У меня есть то, что я считаю большой базой данных, с примерно 15М записями, которые занимают почти 2 ГБ. Основываясь на этих цифрах, есть ли у меня стимул Очистить данные, или я могу позволить им продолжать масштабироваться еще несколько лет?
Механизмы отслеживания изменений схемы DB
Каковы наилучшие методы отслеживания и / или автоматизации изменений схемы DB? Наша команда использует Subversion для управления версиями, и мы смогли автоматизировать некоторые из наших задач таким образом (перемещение сборок на промежуточный сервер, развертывание тестируемого кода на рабочий сервер), но мы все еще делаем обновления базы данных вручную. Я хотел бы найти или создать решение, которое позволит нам эффективно работать на разных серверах с различными средами, продолжая использовать Subversion в качестве бэкенда, через который код и обновления DB передаются на различные серверы.
Многие популярные программные пакеты включают в себя сценарии автоматического обновления, которые обнаруживают версию DB и применяют необходимые изменения. Является ли это лучшим способом сделать это даже в более крупном масштабе (через несколько проектов, а иногда и через несколько сред и языков)? Если да, то есть ли какой-либо существующий код, который упрощает этот процесс, или лучше всего просто запустить наше собственное решение? Кто-нибудь реализовывал что-то подобное раньше и интегрировал его в Subversion post-commit hooks, или это плохая идея?
Хотя решение, поддерживающее несколько платформ, было бы предпочтительнее, мы определенно должны поддерживать стек Linux/Apache/MySQL/PHP, поскольку большая часть нашей работы находится на этой платформе.
Есть ли опыт работы с буферами протокола?
Я просто просматривал некоторую информацию о формате обмена данными буферов протокола Google. Кто-нибудь играл с кодом или даже создал проект вокруг него?
В настоящее время я использую XML в проекте Python для структурированного контента, созданного вручную в текстовом редакторе, и мне было интересно, каково общее мнение о буферах протокола в качестве пользовательского формата ввода. Преимущества скорости и краткости определенно кажутся там, но есть так много факторов, когда речь заходит о фактическом создании и обработке данных.
Подходят ли когда-нибудь несколько классов DataContext?
Чтобы полностью использовать LinqToSql в приложении ASP.net 3.5, необходимо создать классы DataContext (что обычно делается с помощью конструктора в VS 2008). С точки зрения UI, DataContext-это дизайн разделов вашей базы данных, которые вы хотели бы предоставить через LinqToSql, и является неотъемлемой частью в настройке функций ORM LinqToSql.
Мой вопрос: я настраиваю проект, который использует большую базу данных, где все таблицы связаны каким-то образом через внешние ключи. Моя первая склонность-сделать один огромный класс DataContext, который моделирует всю базу данных. Таким образом, я мог бы теоретически (хотя я не знаю, понадобится ли это на практике) использовать внешние ключевые соединения, которые генерируются через LinqToSql, чтобы легко переходить между связанными объектами в моем коде, вставлять связанные объекты и т. д.
Однако после некоторых размышлений я теперь думаю, что может быть более целесообразно создать несколько классов DataContext, каждый из которых относится к определенному пространству имен или логическому взаимосвязанному разделу в моей базе данных. Моя главная проблема заключается в том, что создание и удаление одного огромного класса DataContext все время для отдельных операций, связанных с конкретными областями базы данных, будет налагать ненужное наложение на ресурсы приложения. Кроме того, легче создавать и управлять меньшими файлами DataContext, чем одним большим. То, что я потеряю, - это то, что будут некоторые удаленные разделы базы данных, которые не будут доступны для навигации через LinqToSql (даже если цепочка отношений соединяет их в реальной базе данных). Кроме того, будут существовать некоторые классы таблиц, которые будут существовать в более чем одном DataContext.
Любые мысли или опыт о том, являются ли множественные DataContexts (соответствующие пространствам имен DB) подходящими вместо (или в дополнение к) одному очень большому классу DataContext (соответствующему всему DB)?
Какой язык вы используете для PostgreSQL триггеров и хранимых процедур?
PostgreSQL интересен тем, что он поддерживает несколько языков для написания хранимых процедур. Какой из них вы используете, и почему?
Любое решение для незаконного исключения операции перекрестного потока?
Когда вы связываете данные в C#, поток, который изменяет данные, вызывает изменение элемента управления. Но если этот поток не является тем, на котором был создан элемент управления, вы получите исключение операции незаконного перекрестного потока.
Есть ли способ предотвратить это?
Ссылка на макет двоичного файла
Где находятся некоторые хорошие источники информации о структурах макета двоичных файлов?
Если бы я хотел вытащить файл индекса BTrieve , проанализировать заголовки MP3 и т. д. Где можно получить достоверную информацию?
Вы когда-нибудь сталкивались с запросом, который SQL Server не мог выполнить, потому что он ссылался на слишком много таблиц?
Вы когда-нибудь видели там сообщения об ошибках?
-- SQL Server 2000
Не удалось выделить вспомогательную таблицу для разрешения представления или функции.
Было превышено максимальное количество таблиц в запросе (256).-- SQL Server 2005
Слишком много имен таблиц в запросе. Максимально допустимое значение-256.
Если да, то что вы сделали?
Сдался? Убедили клиента упростить свои требования? Денормализовали базу данных?
@(все хотят, чтобы я опубликовал запрос):
- Я не уверен, что смогу вставить 70 килобайт кода в окно редактирования ответа.
- Даже если я смогу это сделать, это не поможет, так как эти 70 килобайт кода будут ссылаться на 20 или 30 просмотров, которые мне также придется опубликовать, так как в противном случае код будет бессмысленным.
Я не хочу, чтобы это прозвучало так, как будто я хвастаюсь здесь, но проблема не в запросах. Запросы являются оптимальными (или, по крайней мере, почти оптимальными). Я потратил бесчисленные часы на их оптимизацию, ища каждый отдельный столбец и каждую отдельную таблицу, которые можно удалить. Представьте себе отчет, содержащий 200 или 300 столбцов, которые должны быть заполнены одним оператором SELECT (потому что именно так он был разработан несколько лет назад, когда это был еще небольшой отчет).
Лучшая самобалансировка BST для быстрого ввода большого количества узлов
Я смог найти подробности о нескольких самобалансирующихся BST через несколько источников, но я не нашел хороших описаний, детализирующих, какой из них лучше всего использовать в разных ситуациях (или если это действительно не имеет значения).
Я хочу BST , который является оптимальным для хранения более десяти миллионов узлов. Порядок вставки узлов в основном случайный, и мне никогда не нужно будет удалять узлы, поэтому время вставки-это единственное, что нужно будет оптимизировать.
Я намерен использовать его для хранения ранее посещенных игровых состояний в игре-головоломке, чтобы я мог быстро проверить, была ли уже обнаружена предыдущая конфигурация.
Автогенерация Диаграммы Базы Данных MySQL
Я устал открывать Dia и создавать схему базы данных в начале каждого проекта. Есть ли там инструмент, который позволит мне выбрать определенные таблицы, а затем создать схему базы данных для меня на основе базы данных MySQL? Предпочтительно, чтобы это позволило мне отредактировать диаграмму позже, так как ни один из внешних ключей не установлен...
Вот что я представляю себе схематично (пожалуйста, извините за ужасный дизайн данных, я его не проектировал. Давайте сосредоточимся на концепции диаграммы, а не на фактических данных, которые она представляет для этого примера ;) ):
Ссылка на макет двоичного файла
Где находятся некоторые хорошие источники информации о структурах макета двоичных файлов?
Если бы я хотел вытащить файл индекса BTrieve , проанализировать заголовки MP3 и т. д. Где можно получить достоверную информацию?
Вы когда-нибудь сталкивались с запросом, который SQL Server не мог выполнить, потому что он ссылался на слишком много таблиц?
Вы когда-нибудь видели там сообщения об ошибках?
-- SQL Server 2000
Не удалось выделить вспомогательную таблицу для разрешения представления или функции.
Было превышено максимальное количество таблиц в запросе (256).-- SQL Server 2005
Слишком много имен таблиц в запросе. Максимально допустимое значение-256.
Если да, то что вы сделали?
Сдался? Убедили клиента упростить свои требования? Денормализовали базу данных?
@(все хотят, чтобы я опубликовал запрос):
- Я не уверен, что смогу вставить 70 килобайт кода в окно редактирования ответа.
- Даже если я смогу это сделать, это не поможет, так как эти 70 килобайт кода будут ссылаться на 20 или 30 просмотров, которые мне также придется опубликовать, так как в противном случае код будет бессмысленным.
Я не хочу, чтобы это прозвучало так, как будто я хвастаюсь здесь, но проблема не в запросах. Запросы являются оптимальными (или, по крайней мере, почти оптимальными). Я потратил бесчисленные часы на их оптимизацию, ища каждый отдельный столбец и каждую отдельную таблицу, которые можно удалить. Представьте себе отчет, содержащий 200 или 300 столбцов, которые должны быть заполнены одним оператором SELECT (потому что именно так он был разработан несколько лет назад, когда это был еще небольшой отчет).
Лучшая самобалансировка BST для быстрого ввода большого количества узлов
Я смог найти подробности о нескольких самобалансирующихся BST через несколько источников, но я не нашел хороших описаний, детализирующих, какой из них лучше всего использовать в разных ситуациях (или если это действительно не имеет значения).
Я хочу BST , который является оптимальным для хранения более десяти миллионов узлов. Порядок вставки узлов в основном случайный, и мне никогда не нужно будет удалять узлы, поэтому время вставки-это единственное, что нужно будет оптимизировать.
Я намерен использовать его для хранения ранее посещенных игровых состояний в игре-головоломке, чтобы я мог быстро проверить, была ли уже обнаружена предыдущая конфигурация.
Автогенерация Диаграммы Базы Данных MySQL
Я устал открывать Dia и создавать схему базы данных в начале каждого проекта. Есть ли там инструмент, который позволит мне выбрать определенные таблицы, а затем создать схему базы данных для меня на основе базы данных MySQL? Предпочтительно, чтобы это позволило мне отредактировать диаграмму позже, так как ни один из внешних ключей не установлен...
Вот что я представляю себе схематично (пожалуйста, извините за ужасный дизайн данных, я его не проектировал. Давайте сосредоточимся на концепции диаграммы, а не на фактических данных, которые она представляет для этого примера ;) ):
Хорошая STL-подобная библиотека для C
Что такое хорошие библиотеки для C с такими структурами данных, как векторы, деки, стеки, хэш-карты, древовидные карты, наборы и т. д.? Простой C, пожалуйста, и независимый от платформы.
Лучше ли создавать классы моделей или придерживаться общего класса утилиты базы данных?
У нас есть простой служебный класс в доме для наших вызовов базы данных (легкая оболочка вокруг 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.
Чтение структуры данных C/C++ в C# из байтового массива
Как лучше всего заполнить структуру C# из массива byte[], где данные были получены из структуры C/C++? Структура C будет выглядеть примерно так (мой C очень ржавый):
typedef OldStuff {
CHAR Name[8];
UInt32 User;
CHAR Location[8];
UInt32 TimeStamp;
UInt32 Sequence;
CHAR Tracking[16];
CHAR Filler[12];
}
И наполнил бы что-то вроде этого:
[StructLayout(LayoutKind.Explicit, Size = 56, Pack = 1)]
public struct NewStuff
{
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 8)]
[FieldOffset(0)]
public string Name;
[MarshalAs(UnmanagedType.U4)]
[FieldOffset(8)]
public uint User;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 8)]
[FieldOffset(12)]
public string Location;
[MarshalAs(UnmanagedType.U4)]
[FieldOffset(20)]
public uint TimeStamp;
[MarshalAs(UnmanagedType.U4)]
[FieldOffset(24)]
public uint Sequence;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 16)]
[FieldOffset(28)]
public string Tracking;
}
Что является лучшим способом, чтобы скопировать OldStuff до NewStuff , OldStuff , если передается массив byte[]?
В настоящее время я делаю что-то вроде следующего, но это кажется немного неуклюжим.
GCHandle handle;
NewStuff MyStuff;
int BufferSize = Marshal.SizeOf(typeof(NewStuff));
byte[] buff = new byte[BufferSize];
Array.Copy(SomeByteArray, 0, buff, 0, BufferSize);
handle = GCHandle.Alloc(buff, GCHandleType.Pinned);
MyStuff = (NewStuff)Marshal.PtrToStructure(handle.AddrOfPinnedObject(), typeof(NewStuff));
handle.Free();
Есть ли лучший способ сделать это?
Может ли использование класса BinaryReader обеспечить какой-либо прирост производительности по сравнению с закреплением памяти и использованием Marshal.PtrStructure ?
Есть ли какой-либо трюк, который позволяет использовать 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?
Как сохранить древовидную структуру в таблице базы данных с автоматическим увеличением 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?
Как создать структуру данных связанного списка в Java?
Как лучше всего сделать связанный список в Java?
Какие инструменты FoxPro data tools можно использовать для поиска поврежденных данных?
У меня есть несколько пакетов SQL Server DTS, которые импортируют данные из базы данных FoxPro. Все это прекрасно работало до недавнего времени. Теперь скрипт, который импортирует данные из одной из таблиц FoxPro, выбрасывает в импорт около 470 000 записей. Я просто вытаскиваю данные в таблицу с nullable varchar полями, поэтому я думаю, что это должно быть странная/коррумпированная проблема с данными.
Какие инструменты вы бы использовали, чтобы отследить такую проблему?
FYI, это ошибка, которую я получаю:
Данные для исходного столбца 1 ('field1') недоступны. Поставщик может потребовать, чтобы все столбцы Blob-объектов были самыми правыми в исходном результирующем наборе.
В этой таблице не должно быть никаких столбцов blob-объектов.
Спасибо за ваши предложения. Я не знаю, является ли это проблемой коррупции наверняка. Я только что начал скачивать FoxPro из своей подписки MSDN, так что я посмотрю, смогу ли я открыть таблицу. SSRS открывает таблицу, она просто задыхается, прежде чем запустить все записи. Я просто пытаюсь понять, с какой пластинкой у него возникли проблемы.
Насколько велика будет такая база данных?
Я пытаюсь выяснить, насколько большой будет определенная база данных (она еще не создана). Я знаю, сколько строк и какие таблицы будут. Есть ли функция в Oracle, которая скажет мне размер такой теоретической базы данных? Есть ли известная математическая формула, которую я могу использовать? Я знаю, что есть функция для определения размера существующей базы данных, но я хочу знать, насколько она будет большой, прежде чем я ее создам.
Насколько велика будет такая база данных?
Я пытаюсь выяснить, насколько большой будет определенная база данных (она еще не создана). Я знаю, сколько строк и какие таблицы будут. Есть ли функция в Oracle, которая скажет мне размер такой теоретической базы данных? Есть ли известная математическая формула, которую я могу использовать? Я знаю, что есть функция для определения размера существующей базы данных, но я хочу знать, насколько она будет большой, прежде чем я ее создам.
Сортировка составной коллекции
Таким образом, WPF не поддерживает стандартное поведение сортировки или фильтрации для представлений CompositeCollections, так что было бы лучше всего решить эту проблему.
Существует две или более коллекций объектов различных типов. Вы хотите объединить их в единую сортируемую и фильтруемую коллекцию (без необходимости вручную выполнять сортировку или фильтр).
Один из рассмотренных мною подходов заключается в создании новой коллекции объектов с несколькими основными свойствами, включая те, по которым я хотел бы отсортировать коллекцию, и экземпляр объекта каждого типа.
class MyCompositeObject
{
enum ObjectType;
DateTime CreatedDate;
string SomeAttribute;
myObjectType1 Obj1;
myObjectType2 Obj2;
{
class MyCompositeObjects : List<MyCompositeObject> { }
А затем пройдите через мои две коллекции объектов, чтобы построить новую составную коллекцию. Очевидно, что это немного грубый метод, но он будет работать. Я получил бы все стандартные функции сортировки и фильтрации представлений в моей новой коллекции составных объектов, и я мог бы поместить в нее шаблон данных для правильного отображения элементов списка в зависимости от того, какой тип фактически хранится в этом составном элементе.
Какие есть предложения, чтобы сделать это более элегантным способом?
Переменные привязки в WPF
Я создаю UserControl для богатого TreeView (тот, который имеет контекстные меню для переименования узлов, добавления дочерних узлов и т. д.). Я хочу иметь возможность использовать этот элемент управления для управления или навигации по любым иерархическим структурам данных, которые я создам. В настоящее время он работает для любой структуры данных, которая реализует следующий интерфейс (интерфейс на самом деле не должен быть реализован, однако требуется только присутствие этих членов):
interface ITreeItem
{
string Header { get; set; }
IEnumerable Children { get; }
}
Затем в моем UserControl я использую шаблоны для привязки моего дерева к структуре данных, например:
<TextBlock x:Name="HeaderTextBlock" Text="{Binding Path=Header}" />
То, что я хотел бы сделать, это определить имя каждого из этих членов в моем RichTreeView, позволяя ему адаптироваться к ряду различных структур данных, например:
class MyItem
{
string Name { get; set; }
ObservableCollection<MyItem> Items;
}
<uc:RichTreeView ItemSource={Binding Source={StaticResource MyItemsProvider}}
HeaderProperty="Name" ChildrenProperty="Items" />
Есть ли способ выставить путь привязки внутри UserControl как публичное свойство этого UserControl? Есть ли какой-то другой способ решить эту проблему?
Хорошие ресурсы для проектирования реляционных баз данных
Я ищу 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.
- На что это было похоже, осознавая это и сообщая об этом своим коллегам или клиентам?
- Какие уроки были извлечены?
Возвращение DataTables в WCF/.NET
У меня есть сервис WCF, из которого я хочу вернуть DataTable. Я знаю, что это часто очень обсуждаемая тема, насколько возвращение DataTables является хорошей практикой. Давайте на минуту отложим это в сторону.
Когда я создаю DataTable с нуля, как показано ниже, нет никаких проблем вообще. Таблица создается, заполняется и возвращается клиенту, и все хорошо:
[DataContract]
public DataTable GetTbl()
{
DataTable tbl = new DataTable("testTbl");
for(int i=0;i<100;i++)
{
tbl.Columns.Add(i);
tbl.Rows.Add(new string[]{"testValue"});
}
return tbl;
}
Однако, как только я выхожу и нажимаю на базу данных для создания таблицы, как показано ниже, я получаю CommunicationException "The underlying connection was closed: The connection was closed unexpectedly."
[DataContract]
public DataTable GetTbl()
{
DataTable tbl = new DataTable("testTbl");
//Populate table with SQL query
return tbl;
}
Таблица заполняется правильно на стороне сервера. Он значительно меньше, чем тестовая таблица, которую я прокрутил и вернул, а запрос маленький и быстрый - здесь нет проблем с таймаутами или большой передачей данных. Используются те же самые точные функции и DataContracts/ServiceContracts/BehaviorContracts.
Почему способ заполнения таблицы имеет какое-либо отношение к успешному возвращению таблицы?
Индекс Базы Данных Без Учета Регистра?
У меня есть запрос, в котором я ищу по строке:
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 используется несколькими приложениями, некоторые из которых поддерживаются очень несговорчивой командой разработчиков, которая кричала бы об изменениях схемы, поэтому я застрял.
Что там за общий консесус насчет триггеров? Любишь их? Ненавидеть их? Думаете, они служат какой-то цели в некоторых сценариях? Считаете ли вы, что необходимость обойти триггер означает, что вы "делаете это неправильно"?
Flex: существует ли безболезненная программная привязка данных?
До сих пор я только немного занимался разработкой Flex, но я предпочитал подход создания элементов управления программно над файлами mxml, потому что (и , пожалуйста, поправьте меня, если я ошибаюсь!) Я понял, что вы не можете иметь его в обоих направлениях-то есть иметь функциональность класса в отдельном файле класса ActionScript, но иметь содержащиеся элементы, объявленные в mxml.
С точки зрения производительности разница невелика, но программная привязка данных кажется несколько менее тривиальной. Я посмотрел, как компилятор mxml преобразует выражения привязки данных. В результате получается куча сгенерированных обратных вызовов и гораздо больше строк, чем в представлении mxml. Итак, вот в чем вопрос: есть ли способ сделать привязку данных программно, которая не включает в себя мир боли?
Как я должен обрабатывать autolinking в wiki контент страницы?
Под автолинковкой я подразумеваю процесс, с помощью которого wiki ссылок, встроенных в содержимое страницы, генерируются либо в гиперссылку на страницу (если она существует), либо в ссылку на создание (если страница не существует).
С помощью парсера, который я использую, это двухэтапный процесс-сначала анализируется содержимое страницы и извлекаются все ссылки на страницы wiki из источника markup. Затем я передаю массив существующих страниц обратно в синтаксический анализатор, прежде чем будет создан окончательный HTML markup.
Каков наилучший способ справиться с этим процессом? Похоже, что мне нужно сохранить кэшированный список каждой отдельной страницы на сайте, а не извлекать индекс заголовков страниц каждый раз. Или лучше проверить каждую ссылку отдельно, чтобы увидеть, существует ли она? Это может привести к большому количеству запросов к базе данных, если список не был кэширован. Будет ли это по-прежнему жизнеспособно для более крупного сайта wiki с тысячами страниц?
Как организовать запросы набора данных для повышения производительности
Я не знаю, когда, чтобы добавить к набору данных адаптера таблицы или запроса с помощью панели инструментов. Разве это имеет какое-то значение?
Я также не знаю, где создавать экземпляры адаптеров.
- Должен ли я сделать это в
Page_Load? - Должен ли я просто сделать это, когда я собираюсь использовать его?
- Открываю ли я новое соединение при создании нового экземпляра?
Это не кажется очень важным, но каждый раз, когда я создаю запрос, маленький голос в моем мозгу задает мне эти вопросы.
[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 инъекционных атак?
Структура данных старения в C#
Мне нужна структура данных, которая позволит запрашивать, сколько элементов за последние X минут . Элемент может быть просто простым идентификатором или более сложной структурой данных, предпочтительно timestamp элемента будет находиться в элементе, а не храниться снаружи (как hash или аналогичный, не хотелось бы иметь проблемы с несколькими элементами, имеющими одинаковый timestamp).
До сих пор кажется, что с LINQ я мог бы легко фильтровать элементы с timestamp больше, чем заданное время и агрегировать количество. Хотя я не решаюсь попробовать работать .NET 3.5 конкретных вещей в моей производственной среде пока нет. Есть ли другие предложения для подобной структуры данных?
Другая часть, которая меня интересует, - это устаревание старых данных, если я буду запрашивать количество элементов менее 6 часов назад, я бы хотел, чтобы что-то более старое было удалено из моей структуры данных, потому что это может быть длительная программа.
Какой язык сценариев следует поддерживать в существующей кодовой базе?
Я смотрю на добавление функциональности сценариев к существующей кодовой базе и взвешиваю плюсы/минусы различных пакетов. Lua, вероятно, самый очевидный выбор, но мне было интересно, есть ли у людей какие-либо другие предложения, основанные на их опыте.
Сценарии будут запускаться при определенных событиях и могут оставаться резидентными в течение определенного периода времени. Например, при запуске скрипт может определить несколько опций, которые программа представляет пользователю в виде нескольких кнопок. При выборе одной из этих кнопок программа уведомит сценарий, где могут произойти дальнейшие события.
Это единственные реальные требования;
- Должна быть кроссплатформенная библиотека, которая компилируется из исходного кода
- Скрипты должны иметь возможность вызывать зарегистрированные функции на стороне кода
- Код должен иметь возможность вызывать функции на стороне скрипта
- Используется в кодовой базе C/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, создать таблицу и добавить ее в базу данных?
У нас есть старые версии нашей программы На некоторых машинах, которые, очевидно, имеют нашу старую базу данных, и мы ищем способ определить, есть ли отсутствующая таблица, а затем создать таблицу на основе текущего состояния таблицы в наборе данных. Мы переписывали таблицу каждый раз, когда выпускали новую версию (если были добавлены новые столбцы), но мы хотели бы избежать этого шага, если это возможно.
Восстановление резервной копии базы данных по сети
Как восстановить резервную копию базы данных с помощью 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. Троэльс, у тебя есть какие-нибудь ссылки, которые мы можем привести?
Алгебраические типы данных Haskell
Я пытаюсь полностью понять все концепции Haskell.
В чем алгебраические типы данных похожи на универсальные типы, например, в C# и Java? И чем же они отличаются? И вообще, что в них такого особенного?
Я знаком с универсальной алгеброй и ее кольцами и полями, но у меня есть только смутное представление о том, как работают типы Haskell.
445   0   23:21, 7th August, 2020
Кто на самом деле использует DataGrid/GridView/FormView/etc в производственных приложениях?
Любопытно, чувствуют ли другие то же самое, что и я. Для меня такие элементы управления, как datagrid/gridview/formview/etc. отлично подходят для презентаций или только демо-версии. Чтобы занять время и настроить эти элементы управления, переопределите их поведение по умолчанию (подключение к их глупым событиям и т. д.) - это большая головная боль. Единственный элемент управления, который я использую, - это ретранслятор, поскольку он обеспечивает мне наибольшую гибкость по сравнению с другими.
Короче говоря, они довольно сильно раздуваются.
Я бы предпочел создать свой собственный html/css,, используя свои собственные пользовательские запросы подкачки.
Опять же, если вам нужно быстро открыть страницу, эти элементы управления отлично подходят (особенно если вы пытаетесь привлечь людей к легкости разработки .NET ).
Я должен быть в меньшинстве, иначе MS не посвятил бы столько времени разработке этих типов управления...
Как создать образец XML документов из их DTD или XSD?
Мы разрабатываем приложение, которое включает в себя значительное количество преобразований XML. У нас нет никаких правильных входных тестовых данных как таковых, только файлы DTD или XSD. Мы хотели бы сами генерировать наши тестовые данные из этих файлов. Есть ли простой / бесплатный способ сделать это?
Редактировать
По-видимому, нет никаких бесплатных инструментов для этого, и я согласен, что OxygenXML-один из лучших инструментов для этого.
Когда файл-это просто файл?
Итак, вы пишете веб-приложение, и у вас есть несколько областей сайта, где пользователь может загружать файлы. Мой основной метод работы для этого-сохранить фактический файл на сервере и иметь таблицу базы данных, которая соединяет сохраненное имя файла с записью, к которой оно относится.
Мой вопрос заключается в следующем: должна ли быть другая таблица для каждого "type" файла? Кроме того, следует ли хранить файлы в контекстно-зависимых местах на сервере или все вместе?
Несколько примеров: фотографии профиля пользователя, работа приложений CVs, документов на страницах CMS и т. д.
Переход с MySQL на PostgreSQL
В настоящее время мы используем MySQL для продукта, который мы создаем, и стремимся перейти на PostgreSQL как можно скорее, в первую очередь по причинам лицензирования.
Кто-нибудь еще сделал такой шаг? Наша база данных-это жизненная сила приложения и в конечном итоге будет хранить TBs данных, поэтому я очень хочу услышать об опыте работы improvements/losses, основных препятствий в преобразовании SQL и хранимых процедурах и т. д.
Edit: просто чтобы разъяснить тем, кто спрашивал, почему нам не нравится лицензирование MySQL. Мы разрабатываем коммерческий продукт, который (в настоящее время) зависит от MySQL в качестве бэк-энда базы данных. В их лицензии говорится, что мы должны платить им процент от нашей прейскурантной цены за установку, а не фиксированную плату. Как стартап, это менее чем привлекательно.
Сравнение производительности хранилища RDF с традиционной базой данных
У кого-то есть решение для хранения RDF, например Sesame ? Я ищу обзор производительности такого рода решений по сравнению с традиционным решением для баз данных.
Как зашифровать строку подключения в WinForms 1.1 app.config?
Просто ищу первый шаг основное решение здесь, что держит честных людей.
Спасибо, Майк
Лучший способ узнать 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 Кеноби! Ты моя единственная надежда.
C#: Что Еще Вы Используете, Кроме Набора Данных
Я обнаружил, что все больше не удовлетворяюсь парадигмой DataSet/DataTable/DataRow в .Net, главным образом потому, что это часто на пару шагов сложнее, чем то, что я действительно хочу сделать. В тех случаях, когда я привязываюсь к элементам управления, DataSets-это нормально. Но в других случаях, по-видимому, существует изрядное количество умственных накладных расходов.
Я немного поиграл с SqlDataReader, и это, кажется, хорошо для простых прогулок через select, но я чувствую, что в .Net могут скрываться некоторые другие модели, о которых полезно узнать больше. Я чувствую, что вся помощь, которую я нахожу в этом, просто использует DataSet по умолчанию. Может быть, это и DataReader действительно лучшие варианты.
Я не ищу лучшего / худшего срыва, просто интересно, какие у меня есть варианты и какой опыт у вас был с ними. Спасибо!
- Эрик Сиппл
Почему вы не можете привязать размер формы windows к ApplicationSettings?
Обновление: решено, с кодом
Я получил это работает, см. Мой ответ ниже для кода...
оригинальный пост
Как указал Тунди в своем ответе на мой последний вопрос, вы можете связать почти все о windows forms control с ApplicationSettings довольно легко. Так неужели нет никакого способа сделать это с размером формы? В этом руководстве говорится, что вам нужно явно обрабатывать размер, чтобы вы могли сохранить RestoreBounds вместо размера, если окно развернуто или свернуто. Тем не менее, я надеялся, что смогу просто использовать такое свойство, как:
public Size RestoreSize
{
get
{
if (this.WindowState == FormWindowState.Normal)
{
return this.Size;
}
else
{
return this.RestoreBounds.Size;
}
}
set
{
...
}
}
Но я не вижу способа связать это в конструкторе (размер заметно отсутствует в списке PropertyBinding).
Зачем нам нужны объекты сущностей?
Мне действительно нужно увидеть честные, вдумчивые дебаты о достоинствах принятой в настоящее время парадигмы проектирования корпоративных приложений .
Я не убежден, что сущностные объекты должны существовать.
Под объектами сущностей я подразумеваю типичные вещи, которые мы обычно создаем для наших приложений, например "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) используются для того, чтобы помочь программисту правильно манипулировать данными. Предположим, что программист уже делает это правильно, тогда действительно ли нам нужна концепция внешних ключей?
Существуют ли другие способы использования внешних ключей? Может быть, я что-то упустил?
Любимые приемы настройки производительности
Когда у вас есть запрос или хранимая процедура, требующая настройки производительности, что вы делаете в первую очередь?
Asp.net MVC User Control ViewData
Когда контроллер отображает представление на основе модели, вы можете получить свойства из коллекции ViewData с помощью индексатора (т. е. ViewData["Property"]). Однако у меня есть общий пользовательский элемент управления, который я попытался вызвать, используя следующее:
return View("Message", new { DisplayMessage = "This is a test" });
и на моем пульте управления сообщениями у меня было это:
<%= ViewData["DisplayMessage"] %>
Я думаю, что это будет правильно отображать DisplayMessage, однако null возвращается. После большой дозы возни вокруг, я, наконец, создал класс "MessageData" для того, чтобы строго ввести свой пользовательский элемент управления:
public class MessageControl : ViewUserControl<MessageData>
и теперь этот звонок работает:
return View("Message", new MessageData() { DisplayMessage = "This is a test" });
и может отображаться следующим образом:
<%= ViewData.Model.DisplayMessage %>
Почему бы не добавить свойство DisplayMessage к свойству ViewData (т. е. ViewData["DisplayMessage"]) сбор без сильного ввода пользовательского элемента управления? Это что, специально придумано? Разве не логично, что ViewData будет содержать ключ для "DisplayMessage"?
PHP скрипт для заполнения таблиц MySQL
Кто-нибудь знает о script/class (предпочтительно в PHP), который будет анализировать данный MySQL table's structure , а затем заполнять его x number of rows случайными тестовыми данными на основе типов полей?
Я никогда не видел и не слышал о чем-то подобном и подумал, что проверю, прежде чем писать самому.
Является ли привязка данных плохой идеей?
Еще одна дискуссия (у нас их было много в эти дни!) в нашей работе заключается в том, является ли привязка данных плохой идеей или нет.
Лично я считаю, что это плохо™.
Мои причины трижды:
Он обходит мой хорошо архитектурный фреймворк MVP - с привязкой данных представление взаимодействует с моделью в двух направлениях. Фу.
Это способствует подключению элементов управления представления к полям данных во время разработки. По моему опыту, это приводит к тому, что жизненно важный код (привязка столбца A к полю X) неясен и скрыт в каком-то файле конструктора. IMO этот код должен быть явным и in-your-face, так что его легко изменить и увидеть, что происходит, без необходимости использовать неуклюжий интерфейс конструктора.
В отношении точки #1 эта прямая привязка затрудняет выделение каждого компонента (представления, модели, controller/presenter) и юнит-теста.
Плюсы в том, что его легко настроить, и вы можете воспользоваться некоторыми приятными функциями (проверка и т. д.), которые поставляются с сантехникой, уже сделанной для вас.
Но для меня привязка данных становится гораздо большим препятствием при работе с большим приложением, ориентированным на данные.
Есть мысли?
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.
Дженерики в c# и доступ к статическим членам Т
Мой вопрос касается c# и как получить доступ к статическим мемберам ... Ну, я действительно не знаю, как это объяснить (что в некотором роде плохо для вопроса, не так ли?) Я просто дам вам пример кода:
Class test<T>{
int method1(Obj Parameter1){
//in here I want to do something which I would explain as
T.TryParse(Parameter1);
//my problem is that it does not work ... I get an error.
//just to explain: if I declare test<int> (with type Integer)
//I want my sample code to call int.TryParse(). If it were String
//it should have been String.TryParse()
}
}
Так что спасибо вам, ребята, за ваши ответы (кстати, вопрос в том, как бы я решил эту проблему без получения ошибки). Это, наверное, довольно простой вопрос для вас!
Спасибо, Никлас
Edit: спасибо всем за ваши ответы!
Хотя я думаю, что фраза try - catch является самой элегантной, я знаю по своему опыту работы с vb, что это действительно может быть облом. Я использовал его один раз, и мне потребовалось около 30 минут, чтобы запустить программу, которая позже заняла всего 2 минуты для вычисления только потому, что я избегал try - catch.
Вот почему я выбрал утверждение swich в качестве лучшего ответа. Это делает код более сложным, но с другой стороны, я думаю, что он будет относительно быстрым и относительно легким для чтения. (Хотя я все еще думаю, что должен быть более элегантный способ ... может быть, на следующем языке, который я изучаю: P )
Хотя, если у вас есть какое-то другое предложение, я все еще жду (и готов принять участие)
Как вы внедряете двоичные данные в XML?
У меня есть два приложения, написанные на Java, которые взаимодействуют друг с другом с помощью XML сообщений по сети. Я использую парсер SAX на приемном конце, чтобы получить данные обратно из сообщений. Одним из требований является встраивание двоичных данных в сообщение XML, но SAX это не нравится. Кто-нибудь знает, как это сделать?
UPDATE: я получил это, работая с классом Base64 из библиотеки кодеков apache commons, На случай, если кто-то еще пытается сделать что-то подобное.
Как зашифровать строку подключения в WinForms 1.1 app.config?
Просто ищу первый шаг основное решение здесь, что держит честных людей.
Спасибо, Майк
Лучший способ узнать 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 сервере и вуаля! мой столик клиентов полон
Как я могу сделать то же самое для всей базы данных?
Как поддерживать рекурсивный инвариант в базе данных MySQL?
У меня есть дерево, закодированное в базе данных MySQL как ребра:
CREATE TABLE items (
num INT,
tot INT,
PRIMARY KEY (num)
);
CREATE TABLE tree (
orig INT,
term INT
FOREIGN KEY (orig,term) REFERENCES items (num,num)
)
Для каждого листа в дереве, items.tot устанавливается кем-то. Для внутренних узлов items.tot должен быть суммой его дочерних элементов. Повторное выполнение следующего запроса приведет к желаемому результату.
UPDATE items SET tot = (
SELECT SUM(b.tot) FROM
tree JOIN items AS b
ON tree.term = b.num
WHERE tree.orig=items.num)
WHERE EXISTS
(SELECT * FROM tree WHERE orig=items.num)
(обратите внимание, что это на самом деле не работает, но это к делу не относится)
Предположим, что база данных существует и инвариант уже удовлетворен.
Вопрос в том:
Каков наиболее практичный способ обновления DB при сохранении этого требования? Обновления могут перемещать узлы вокруг или изменять значение
totна конечных узлах. Можно предположить, что листовые узлы останутся листовыми узлами, внутренние узлы останутся внутренними узлами, и все это останется как правильное дерево.
Некоторые мысли у меня были:
- Полное аннулирование, после любого обновления, пересчитать все (ум... Нет)
- Установите триггер в таблице элементы для обновления родительского элемента любой обновляемой строки
- Это было бы рекурсивно (обновления запускают обновления, запускают обновления,...)
- Не работает, MySQL не может обновить таблицу, которая запустила триггер
- Установите триггер для планирования обновления родительского элемента любой обновляемой строки
- Это было бы итеративно (получить элемент из расписания, обработка его планирует больше элементов)
- Что же это такое? Доверяйте клиентскому коду, чтобы получить его правильно?
- Преимущество заключается в том, что если обновления упорядочены правильно, то меньше сумм должно быть вычислено. Но этот порядок сам по себе является осложнением.
Идеальное решение было бы обобщить на другие "aggregating invariants"
FWIW я знаю, что это "немного за бортом", но я делаю это для удовольствия (Fun: verb, находя невозможное, делая это. :-)
.Нетто - Excel ListObject авто на привязку
Я разрабатываю надстройку Excel 2007 с помощью Visual Studio Tools for Office (2008). У меня есть один лист с несколькими ListObjects на нем, которые привязаны к datatables при запуске. Когда они связаны, они автоматически изменяются правильно.
Проблема возникает, когда они снова связаны. У меня есть пользовательская кнопка на панели ленты, которая возвращается в базу данных и извлекает различную информацию на основе некоторых критериев, которые вводит пользователь. Эти новые данные возвращаются и повторно привязываются к ListObjects-однако на этот раз они не изменяются, и я получаю исключение:
ListObject не может быть связан, потому что он невозможно изменить размер в соответствии с данными. То ListObject не удалось добавить новые строки. Это может быть вызвано невозможность перемещать объекты ниже объект списка.
Внутреннее исключение: "Insert method of Range class failed"
Причина: Microsoft.Office.Tools.Excel.FailureReason.CouldNotResizeListObject
Я не смог найти ничего очень значимого в этой ошибке на Google или MSDN. Я пытался понять это в течение некоторого времени, но безрезультатно.
Базовая структура кода :
//at startup
DataTable tbl = //get from database
listObj1.SetDataBinding(tbl);
DataTable tbl2 = //get from database
listObj2.SetDataBinding(tbl2);
//in buttonClick event handler
DataTable tbl = //get different info from database
//have tried with and without unbinding old source
listObj1.SetDataBinding(tbl); <-- exception here
DataTable tbl2 = //get different info from database
listObj2.SetDataBinding(tbl2);
Обратите внимание, что это исключение возникает даже тогда, когда ListObject сжимается, а не только когда он растет.
Изображение UriSource и привязка данных
Я пытаюсь привязать список пользовательских объектов к изображению WPF, как это:
<Image>
<Image.Source>
<BitmapImage UriSource="{Binding Path=ImagePath}" />
</Image.Source>
</Image>
Но это не работает. Это ошибка, которую я получаю:
"Свойство 'UriSource' или свойство 'StreamSource' должно быть установлено."
Что я упускаю из виду?
Автоматизируйте Синхронизацию 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, поскольку они так популярны.
Имеет ли PHP встроенные структуры данных?
Я смотрю на руководство PHP, и я не вижу раздела о структурах данных, которые есть в большинстве языков, таких как списки и наборы. Я просто слепой или у PHP нет ничего подобного встроенного?
Где разместить ваш код-база данных или приложение?
Я разрабатываю веб-приложения / настольные приложения уже около 6 лет. В течение своей карьеры я сталкивался с приложениями, которые были сильно написаны в базе данных с использованием хранимых процедур, тогда как многие приложения просто имели только несколько основных хранимых процедур (для чтения, вставки, редактирования и удаления записей сущностей) для каждой сущности.
Я видел, как люди утверждают, что если вы заплатили за корпоративную базу данных, то широко используйте ее функции. В то время как многие из "object oriented architects" сказали мне, что это абсолютное преступление-поместить в базу данных что-то большее, чем необходимо, и вы должны быть в состоянии управлять приложением, используя методы на этих классах?
Как вы думаете, где находится равновесие?
Спасибо, Krunal
Что является лучшим способом, чтобы взаимодействовать с сервером MySQL?
Я собираюсь использовать C/C++, и хотел бы знать, как лучше всего поговорить с сервером MySQL. Должен ли я использовать библиотеку, которая поставляется с установкой сервера? Есть ли у них хорошие библиотеки, которые я должен рассматривать, кроме официальной?
Эффективная стратегия для оставления истории аудита trail/изменений для DB приложений?
Назовите Некоторые стратегии, которые люди успешно использовали для ведения истории изменений данных в довольно сложной базе данных. Одно из приложений, которое я часто использую и разрабатываю, действительно может извлечь выгоду из более полного способа отслеживания изменений записей с течением времени. Например, прямо сейчас записи могут иметь ряд timestamp и измененных пользовательских полей, но в настоящее время у нас нет схемы для регистрации нескольких изменений, например, если операция откатывается. В идеальном мире можно было бы восстановить запись, какой она была после каждого сохранения, и т. д.
Немного информации о DB:
- Необходимо иметь возможность расти на тысячи записей в неделю
- 50-60 таблиц
- Основные пересмотренные таблицы могут содержать несколько миллионов записей каждая
- Разумное количество внешних ключей и индексов набора
- Использование PostgreSQL 8.x
В какой степени разработчик должен изучать специфику систем баз данных?
Современные системы баз данных сегодня оснащены множеством функций. И вы согласитесь со мной, что для изучения одной базы данных вы должны разучиться понятиям, которые вы изучили в другой базе данных. Например, каждая база данных будет реализовывать блокировку иначе, чем другие. Поэтому перенос понятий из одной базы данных в другую был бы рецептом неудачи. И могут быть другие примеры, когда две базы данных будут работать очень по-разному.
Поэтому при разработке систем, управляемых базами данных, должны ли программисты знать базу данных в деталях, чтобы они кодировали для производительности? Я не думаю, что было бы целесообразно, чтобы DBA был вызван для выполнения позже, поскольку его работа заключается в том, чтобы только поддерживать базу данных и помогать разработчику в случае чрезвычайной ситуации, но не на регулярной основе.
Как вы думаете, в какой степени разработчик должен получить представление о базе данных?
Выберите существующие данные из базы данных для создания тестовых данных
У меня есть база данных 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,-это присоединиться к подзапросам, которые также были медленными, и мне пришлось сделать по одному для каждого кода.
Скрыть столбец в динамических данных ASP.NET
Есть ли способ применить атрибут к файлу модели в динамических данных ASP.NET, чтобы скрыть столбец?
Например, в настоящее время я могу установить отображаемое имя столбца, как это:
[DisplayName("Last name")]
public object Last_name { get; set; }
Есть ли подобный способ скрыть колонку?
Edit: большое спасибо Кристиану Хагелиду за то, что он прошел лишнюю милю и дал точный ответ :-)
Вставить внутрь ... значения ( 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) существуют для достижения аналогичных эффектов?
Можно ли добавить прослушиватель событий к действию привязки данных в Flex?
У меня есть ComboBox, который я привязываю к стандартному HTTPService, я хотел бы добавить прослушиватель событий, чтобы я мог запустить некоторый код после заполнения ComboBox от поставщика данных.
Как я могу это сделать?
guid REST URL для вызова службы данных ado.net?
Попытка использовать guid в качестве идентификатора ресурса в rest url, но не может найти какой-либо ресурс о том, как это сделать. Мой лучший прямо сейчас (не работает, хотя) это: http://localhost:49157/PhotogalleryDS.svc/gallery ('1d03beb3-6d63-498b-aad7-fab0b1480996') (Я пробовал duouble / одинарные кавычки. А также {guid....} с фигурными скобками. Все равно не повезло.
я только получаю: Синтаксическая ошибка '"' в позиции 0.
Вопрос: как бы я (в отношении спецификации) написал url для ресурса, где идентификатор является guid?
Databind RenderTransform масштабирование в Silverlight 2 бета 2
Кто-нибудь знает, можно ли привязать к базе данных ScaleX и ScaleY преобразования рендеринга в Silverlight 2 Beta 2? Преобразование привязки возможно в WPF - но я получаю ошибку при настройке моей привязки в Silverlight через XAML. Возможно, это можно сделать с помощью кода?
<Image Height="60" HorizontalAlignment="Right"
Margin="0,122,11,0" VerticalAlignment="Top" Width="60"
Source="Images/Fish128x128.png" Stretch="Fill"
RenderTransformOrigin="0.5,0.5" x:Name="fishImage">
<Image.RenderTransform>
<TransformGroup>
<ScaleTransform ScaleX="1" ScaleY="1"/>
<SkewTransform/>
<RotateTransform/>
<TranslateTransform/>
</TransformGroup>
</Image.RenderTransform>
</Image>
Я хочу связать ScaleX и ScaleY элемента ScaleTransform.
Я получаю ошибку времени выполнения при попытке привязки к двойному свойству в контексте данных:
Message="AG_E_PARSER_BAD_PROPERTY_VALUE [Line: 1570 Position: 108]"
Моя привязка выглядит так:
<ScaleTransform ScaleX="{Binding Path=SelectedDive.Visibility}"
ScaleY="{Binding Path=SelectedDive.Visibility}"/>
Я трижды проверил, что путь привязки правильный - я привязываю slidebar к тому же значению, и это работает просто отлично...
Видимость имеет тип double и представляет собой число между 0.0 и 30.0. У меня есть конвертер значений, который масштабирует это число до 0.5 и 1 - я хочу масштабировать размер рыбы в зависимости от чистоты воды. Поэтому я не думаю, что это проблема с типом, с которым я связываюсь...
Существует ли задача 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 не очень помог. Кто-нибудь справлялся с этим раньше?
Инструменты сравнения баз данных
Моя компания имеет ряд относительно небольших баз данных Access (2-5MB), которые управляют нашими инструментами проектирования с помощью пользователей. Естественно, эти базы данных эволюционируют с течением времени по мере обнаружения и исправления ошибок в данных, а также по мере изменения схемы для поддержки новых функций в инструментах. Может ли кто-нибудь порекомендовать инструмент database diff для сравнения данных и схемы из одной версии базы данных в другую? Любые предложения будут оценены: бесплатно, с открытым исходным кодом или коммерческие.
Можно ли использовать nHibernate с базой данных Paradox?
Можно ли настроить nHibernate для подключения к базе данных Paradox (*.db файлов)?
Почему это плохая практика, чтобы сделать несколько подключений к базе данных в одном запросе?
Обсуждение Синглетонов в PHP году заставляет меня все больше и больше задумываться над этим вопросом. Большинство людей учат, что вы не должны делать кучу соединений DB в одном запросе, и мне просто любопытно, каковы ваши рассуждения. Моя первая мысль-это затраты на ваш сценарий, чтобы сделать так много запросов к DB, но затем я противопоставляю себя вопросу: не будет ли несколько соединений делать параллельные запросы более эффективными?
Как насчет некоторых ответов (с доказательствами, люди) от некоторых людей в курсе?
Что такое лучшая / очень хорошая библиотека для чтения метаданных?
Сейчас мне особенно интересно читать данные из MP3 файлов (ID3 теги?), но тем больше он может сделать (например EXIF из изображений?) тем лучше без ущерба для способности чтения тегов ID3.
Я заинтересован в создании сценария, который проходит через мои media (прямо сейчас, мои музыкальные файлы) и удостоверяется, что имя файла и путь к каталогу соответствуют метаданным файла, а затем создает журнал несоответствующих файлов, чтобы я мог проверить, что является точным и внести соответствующие изменения. Я думаю, что Ruby или Python (см. связанный вопрос специально для Python ) было бы лучше для этого, но я открыт для использования любого языка на самом деле (и на самом деле, вероятно, предпочел бы язык приложений, такой как C, C++, Java, C# в случае, если этот проект выйдет из строя).
Простой объект для продукта базы данных
Я рассматривал некоторые различные продукты для .NET, которые предлагают ускорить время разработки, предоставляя возможность бизнес-объектам легко сопоставляться с автоматически создаваемой базой данных. У меня никогда не было проблем с написанием уровня доступа к данным, но мне интересно, действительно ли этот тип продукта сэкономит время, которое он требует. Я также беспокоюсь, что буду отказываться от слишком большого контроля над базой данных и затруднять отслеживание любых проблем на уровне данных. Делают ли эти типы продуктов лучше или хуже в уже сложном случае, когда необходимо изменить структуру базы данных и бизнес-объекта?
Например: Отображение отношений объектов из Dev Express
В сущности, стоит ли оно того? Смогу ли я сэкономить "THAT" много времени, усилий и будущих ошибок?
Кто-нибудь использует 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.
И спасибо всем остальным, кто откликнулся также; я был совершенно не в курсе тех других вариантов, которые вы все указали.
Универсальные Реализации IBindingListView
Может ли кто-нибудь предложить хорошую реализацию универсального класса коллекции, который реализует интерфейсы IBindingListView & IBindingList и предоставляет возможности фильтрации и поиска?
Я вижу свои текущие варианты как:
- Использование класса, который кто-то другой написал и протестировал
- Наследование от
BindingList<T>и реализация интерфейсовIBindingListView - Напишите пользовательскую коллекцию с нуля, реализуя
IBindingListViewиIBindingList.
Очевидно, что первый вариант является моим предпочтительным выбором.
Создание таблиц базы данных из определений объектов
Я знаю, что существует несколько (автоматических) способов создания уровня доступа к данным для управления существующей базой данных (от LINQ до SQL, Hibernate и т. д...). Но я начинаю немного уставать (и я считаю, что должен быть лучший способ делать вещи) от таких вещей, как:
- Создание / изменение таблиц в Visio
- Использование Visio-х "Update Database" для создания / изменения базы данных
- Импорт таблиц в объект "LINQ to SQL classes"
- Соответственно, меняется код
- Скомпилировать
Как насчет способа создания схемы базы данных из определения объектов / сущностей? Я не могу найти хороших ссылок для таких инструментов (и я ожидал бы какой-то встроенной поддержки, по крайней мере, в некоторых фреймворках).
Было бы прекрасно, если бы я только мог ... :
- Изменение определения объекта
- Измените код, который управляет объектом
- Компилировать (изменения в базе данных производятся автоматически-магически)
Разделить класс доступа к данным на читателя и писателя или объединить их?
Это может быть на стороне "discussy", но я действительно хотел бы услышать Ваше мнение об этом.
Ранее я часто писал классы доступа к данным, которые обрабатывали как чтение, так и запись, что часто приводило к плохому именованию, например FooIoHandler и т. д. Эмпирическое правило, что классы, которые трудно назвать, вероятно, плохо разработаны, предполагает, что это не очень хорошее решение.
Итак, я недавно начал разделять доступ к данным на FooWriter и FooReader, что приводит к более приятным именам и дает некоторую дополнительную гибкость, но в то же время мне нравится держать его вместе, если классы не большие.
Является ли разделение читателя / писателя лучшим дизайном, или я должен их объединить? Если я должен объединить их, Какого черта я должен назвать класс?
Спасибо /Erik
Как обойти неподдерживаемые целочисленные типы полей без знака в MS SQL?
Пытаясь сделать приложение на основе MySQL поддержкой MS SQL, я столкнулся со следующей проблемой:
Я сохраняю auto_increment MySQL как целочисленные поля без знака (разных размеров), чтобы использовать полный диапазон, поскольку я знаю, что никогда не будет отрицательных значений. MS SQL не поддерживает атрибут unsigned для всех целочисленных типов, поэтому мне приходится выбирать между удалением половины диапазона значений или созданием обходного пути.
Одним из очень наивных подходов было бы поместить некоторый код в код абстракции базы данных или в хранимую процедуру, которая преобразует между отрицательными значениями на стороне БД и значениями из большей части диапазона без знака. Это, конечно, испортит сортировку, а также не будет работать с функцией автоматического идентификатора (или это будет каким-то образом?).
Я не могу придумать хороший обходной путь прямо сейчас, есть ли он? Или я просто фанатик и должен просто забыть о половине диапазона?
Редактировать:
Вудхаус: да, наверное, ты прав. В моей голове все еще звучит голос, говорящий, что, возможно, я смогу уменьшить размер поля, если оптимизирую его использование. Но если нет простого способа сделать это, вероятно, не стоит беспокоиться об этом.
Как лучше всего отсортировать поле со списком, привязанное к данным?
Я провел небольшое исследование в этой области, и кажется, что единственный способ отсортировать поле со списком с привязкой к данным-это отсортировать сам источник данных (в данном случае a DataTable в A DataSet).
Если это так, то возникает вопрос, как лучше всего отсортировать DataTable?
Привязки поля со списком устанавливаются в конструкторе инициализировать с помощью
myCombo.DataSource = this.typedDataSet;
myCombo.DataMember = "Table1";
myCombo.DisplayMember = "ColumnB";
myCombo.ValueMember = "ColumnA";
Как выбрать базу данных 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 - последовал за справкой к письму и выглядит нормально в предварительном просмотре