Регистрация     
Омское сообщество разработчиков бизнес-приложений на платформе Microsoft
Самые популярные блогеры
Последние записи в блогах
Ответы на вопросы по использованию SQL Server Driver для PHP
Магдануров Гайдар опубликовал 10 часа(ов), 17 минут(ы) назад в блог 'My blog'

В этом посте вы можете найти ответы на несколько наиболее часто задаваемых вопросов от PHP разработчиков, использующих драйвер для SQL Server. Поскольку эти вопросы поступают достаточно часто, я решил сделать пост в блоге на который давать ссылку.

1. Как установить и настроить драйвер SQL Server для PHP?

Самый простой способ - воспользоваться Web Platform Installer. Подробно ручной процесс установки, а также использование драйвера описаны в статье на сайте MSDN.

2. Нам необходимо руководство по миграции базы данных MySQL на SQL Server, поскольку в MySQL многие вещи отличаются от SQL Server.

Подробное руководство по миграции с MySQL на SQL Server расположено по ссылке - Guide to Migrating from MySQL to SQL Server 2008 (англ.)

3. Есть ли возможность автоматизировать процесс миграции базы данных MySQL в SQL Server.

Для автоматизации процесса миграции доступен специальный инструмент - Microsoft Sql Server Migration Assistant for MySQL. На русском языке есть отличная статья по использованию этого инструмента.

4. В MySQL можно создать индекс на поля BLOB и TEXT, включив в него только первые несколько символов, как это сделать в SQL Server.

Ответ на этот и похожие вопросы есть в руководстве, упомянутом выше. Решение простое - создать вычисляемое полу (computed column), которое будет содержать нужное количество символов, и уже по этому полю построить индекс.

5. Драйвер не предоставляет аналога функции string mysql_real_escape_string ( string $unescaped_string [, resource $link_identifier ] ), что использовать?

Поскольку эта функция используется для защиты от SQL-инъекции, при использовании драйвера для SQL Server рекомендуется использовать параметризованные запросы вместо "экранирования" потенциально опасных символов.

Пример запроса:

$query = "SELECT * FROM Users WHERE Username = ? and Password = ?";

Выполнение запроса с параметрами:

$params = array($_POST['Username'], $_POST['Password']);
$result = sqlsrv_query($con, $query, $params);

Подробно использование параметризованных запросов описано в блоге Брайана Свона.

6. Драйвер не предоставляет ...




Тэги: PHP, SQL Server
Просмотров: 3 |  Комментариев: 0 | 
Отложенная загрузка фрагментов страницы
Магдануров Гайдар опубликовал 20.03.2010, 5:54 в блог 'My blog'

Продолжая опубликованный ранее пост про получение HTML разметки контрола, рассмотрим один из возможных вариантов применения разметки. Например, используем ее для того, чтобы загрузить фрагмент страницы, который может загружаться длительное время (зависимость от медленного источника данных, необходимость длительных операций по генерации или подготовке данных и т.п.), после загрузки основного фрагмента страницы. Для этого нужно создать механизм отложенной загрузки гаджетов, реализованных в виде элементов управления.

Рассмотрим пример такой страницы:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="DemoWebApp._Default" %>

<%@ Register Src="~/Pages/DataControl.ascx" TagPrefix="My" TagName="DataControl" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<table>
<tr>
<td style="width: 34%;">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras mattis, erat ac mollis
ultrices, tortor risus hendrerit est, at laoreet ante enim sit amet velit.
</td>
<td style="width: 33%;">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras mattis, erat ac mollis
ultrices, tortor risus hendrerit est, at laoreet ante enim sit amet velit.
...




Тэги: ASP.NET
Просмотров: 15 |  Комментариев: 0 | 
Фоновая установка SQL Server
Магдануров Гайдар опубликовал 19.03.2010, 1:00 в блог 'My blog'

На сайте MSDN доступно подробное описание параметров командной строки, которые могут быть использованы для установки и конфигурирования SQL Server. В этом кратком посте я расскажу о том, как можно установить SQL Server 2008 в фоновом режиме.

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

/Q – установка в фоновом режиме без обращений к пользователю или /QS – с отображением статуса, но без запросов к пользователю

/ACTION=действие, для установки, разумеется Install

/INSTANCENAME=имя инстанса, например INSTANCENAME=SQLEXPRESS – именованный инстанс SQL Server. Для того, чтобы сделать установленный инстанс доступным по умолчанию (по имени хоста, без указания имени инстанса), то нужно указать INSTANCENAME=MSSQLSERVER.

/FEATURES=список фич для установки, возможные значения:

  • SQL – база данных
  • AS – Analysis Services
  • RS – Reporting Services
  • IS – Integration Services

/ERRORREPORTING=0 или 1, указывает, нужно ли отправлять сообщения об ошибках в Microsoft

Кроме этого, необходимо указать учетные записи, под которыми будет работать SQL Server.

Пример командной строки для фоновой установки:

Setup.exe /q /ACTION=Install /ERRORREPORTING=0 /FEATURES=SQL, Conn /INSTANCENAME=MSSQLSERVER /SQLSVCACCOUNT=”NT AUTHORITY\Network Service” /SQLSYSADMINACCOUNTS=”BUILTIN\ADMINISTRATORS” /SQLSVCSTARTUPTYPE=Automatic

Подробное описание проблем, которые могут возникать при установке и их решения есть в статье Install SQL 2008 on a Windows 2008 Server from Commad Line & Answer File, там же есть информация по конфигурации установки SQL Server с помощью .ini файла.




Тэги: SQL Server
Просмотров: 30 |  Комментариев: 0 | 
Получение HTML разметки элемента управления
Магдануров Гайдар опубликовал 18.03.2010, 21:50 в блог 'My blog'

Интересный вопрос задали мне сегодня - как можно получить код разметки элемента управления в виде строки. Например, если этот фрагмент HTML как-то должен быть использован в веб-службе, либо возвращен в качестве ответа на Ajax запрос или сохранена в файл после трансформации.

Сделать это можно очень просто. Представим себе, что у нас есть следующий контрол:

<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="DataControl.ascx.cs"
Inherits="DemoWebApp.Pages.DataControl" %>
<asp:XmlDataSource ID="XmlDataSource1" runat="server" XPath="/feed/item" DataFile="~/App_Data/Data.xml">
</asp:XmlDataSource>
<asp:Repeater ID="Repeater1" runat="server" DataSourceID="XmlDataSource1">
<HeaderTemplate>
<table>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td>
<%# XPath("date") %>
</td>
<td>
<%# XPath("title")%><br />
<%# XPath("text")%>
</td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>

Мы можем получить HTML разметку для него следующим образом:

public string GetControlHtmlMarkup()
{
Page pg = new Page();
UserControl uc = (UserControl)pg.LoadControl("~/Pages/DataControl.ascx");
pg.Controls.Add(uc);
StringWriter sw = new StringWriter();
HttpContext.Current.Server.Execute(pg, sw, false);
return sw.ToString();
}

Процесс прост - создаем объект страницы Page, добавляем на него элемент упр...




Тэги: ASP.NET
Просмотров: 4 |  Комментариев: 0 | 
Кратко о нас
Регион:
Пользователей: 10
Новостей: 0
Встреч: 0
Статей: 0
Фотографий: 0
Блогов: 0
Поcтов в блогах: 0
Посетили сайт: 21623
подробнее...
Случайное фото
Пользователь не загрузил ни одного фото
Партнеры сайта