|
|
30.05.2006 10:27 |
|
|
Supreme Being
модератор
Last Login: 04.05.2008 13:32
Сообщ.: 7 240,
Visits: 65 445
|
|
| Здесь находятся ответы на часто задаваемые вопросы по технологии ASP (Active Server Pages). Для добавления сюда новых вопросов обращайтесь к модераторам.
|
|
|
|
30.05.2006 10:40 |
|
|
Supreme Being
модератор
Last Login: 04.05.2008 13:32
Сообщ.: 7 240,
Visits: 65 445
|
|
| Вопрос: Почему ASP выдает ошибку при операциях INSERT/UPDATE/DELETE с базой MS Access (*.mdb)? Ответ: Если при попытке изменения данных вам выдается одна из ошибок: - Microsoft OLE DB Provider for ODBC Drivers error '80004005'
[Microsoft][ODBC Microsoft Access 97 Driver] Operation must use an updateable query. - Служба доступа Microsoft OLE DB для драйверов ODBC ошибка '80004005'
[Microsoft][Драйвер ODBC для Microsoft Access 97] В операции должен использоваться обновляемый запрос.
то проверьте, что у файла *.mdb сброшен атрибут "Только чтение" и что пользователь IUSR_имяКомпьютера имеет NTFS права на запись на *.mdb файл. Пользователям Windows XP для установки NTFS прав может сначала потребоваться отключить режим Simple File Sharing: Другие возможные причины данной ошибки описаны в статье базы знаний Microsoft PRB: ASP возвращает ошибку "В операции должен использоваться обновляемый запрос".
|
|
|
|
08.06.2006 12:32 |
|
|
Supreme Being
модератор
Last Login: 04.05.2008 13:32
Сообщ.: 7 240,
Visits: 65 445
|
|
| Вопрос: Как отправить почту с использованием компонентов CDO? Ответ: В состав Windows 2000 и выше входит стандатный компонент Collaboration Data Objects (CDO) for Windows 2000. В Windows NT тоже есть библиотека CDO (CDO 1.2.1), однако она уже устарела и рассматривать ее нет смысла. Сначала определим общие константы. Const cdoSendUsingMethod = "http://schemas.microsoft.com/cdo/configuration/sendusing" Const cdoSMTPServer = "http://schemas.microsoft.com/cdo/configuration/smtpserver" Const cdoSMTPServerPort = "http://schemas.microsoft.com/cdo/configuration/smtpserverport"
Const cdoSendUsingPickup = 1 Const cdoSendUsingPort = 2 Const SMTP_SERVER = "localhost" Функции отправки почты: SendTextMail отправляет текстове письмо, а SendHtmlMail соответственно html письмо. Function SendTextMail(mailfrom, mailto, subject, textBody) Set iMsg = Server.CreateObject("CDO.Message") Set iConf = Server.CreateObject("CDO.Configuration") Set Flds = iConf.Fields With Flds .Item(cdoSendUsingMethod) = cdoSendUsingPort .Item(cdoSMTPServer) = SMTP_SERVER .Update End With With iMsg Set .Configuration = iConf .BodyPart.Charset = "windows-1251" .From = mailfrom .To = mailto .Subject = subject .TextBody = textBody .Send End With Set iMsg = Nothing Set iConf = Nothing Set Flds = Nothing End Function Для упрощения примера показано только отличие от функции SendTextMail.
Function SendHtmlMail(mailfrom, mailto, subject, htmlBody) ... With iMsg ... .Subject = subject .HtmlBody = htmlBody .Send End With ... End Function Обратите внимание на строки:
.Item(cdoSendUsingMethod) = cdoSendUsingPort .Item(cdoSMTPServer) = SMTP_SERVER Здесь указывается, что почта будет отправляться через SMTP сервер. Если у вас установлен локальный SMTP сервис от IIS, то можно отправлять почту используя так называемую Pickup папку. По умолчанию это C:\Inetpub\mailroot\Pickup\. Файл созданный в этой папке будет автоматически обработан SMTP сервисом и отправлен адресатам. Отправка через Pickup папку можнт оказаться более эффективной чем отправка через SMTP сервер, так как исключается процесс установки соединения с 25 портом и передача SMTP команд.
|
|
|
|
19.06.2006 12:56 |
|
|
Supreme Being
модератор
Last Login: 04.05.2008 13:32
Сообщ.: 7 240,
Visits: 65 445
|
|
| Вопрос: Как отправить письмо с присоединенным файлом с использованием компонента CDO? Ответ: Используйте метод AddAttachment из интерфейса IMessage. Используя, вышеуказанный пример, пишем: With iMsg ... .AddAttachment(Server.MapPath("/file.doc")) ... End With
|
|
|
|
|
Supreme Being
      
модератор
Last Login: 29.10.2007 14:45
Сообщ.: 1 833,
Visits: 16 863
|
|
| Вопрос: Я получил в браузере ошибку 500 - Внутренняя ошибка сервера (500 Internal Server Error). Ответ: Это описание генерирует Internet Explorer, тем самым скрывая истинную ошибку и показывая "дружественное" описание с некоторыми советами. Для того, чтобы отключить данную функцию и увидеть реальный ответ сервера (описание ошибки), нужно на вкладке Advanced в диалоге Internet Options (Tools -> Internet Options) снять флажок "Show friendly HTTP errors". Тем кто использует для разработки IIS под русской версией Windows может получать в тексте ошибки нечитаемые символы вместо русских букв. Чтобы это исправить измените кодировку внутри файла %windir%\Help\iisHelp\common\500-100.asp c windows-1252 на windows-1251.
|
|
|
|
|
Supreme Being
модератор
Last Login: 04.05.2008 13:32
Сообщ.: 7 240,
Visits: 65 445
|
|
Вопрос: Почему ASP выдает ошибку 'ASP 0131'? Вопрос: Почему выдаются ошибки при попытке включить файл из родительского каталога?Ответ: Это происходит из-за того что в настройках приложения IIS отключена опция "Enable parent paths". В IIS6 она выключена по умолчанию из соображений безопасности (см. KB332117 - Enable Parent Paths Is Disabled by Default in IIS 6.0). Чтобы исправить ошибку включайте файлы относительно корня сайта (рекомендуемый способ): <!--#include virtual=/folder/file.asp--> или включите опцию "Enable parent paths". Для этого запустите IIS Manager. Откройте свойства сайта или приложения, перейдите на закладку "Home Directory" и нажмите кнопку "Configuration". В появившемся диалоге выберите закладку "Options" и включите опцию "Enable parent paths". Смотрите также: Why do I get ASP 0130 / ASP 0131 errors?
|
|
|
|
|
Supreme Being
модератор
Last Login: 04.05.2008 13:32
Сообщ.: 7 240,
Visits: 65 445
|
|
| Вопрос: Где в сети можно найти полезную информацию о ASP? Ответ: Вот список ссылок на интересные сайты: Различные F.A.Q-и. Статьи для начинающих: Документация от Microsoft: (приветствуются новые ссылки)
|
|
|
|
|
Supreme Being
модератор
Last Login: 04.05.2008 13:32
Сообщ.: 7 240,
Visits: 65 445
|
|
| Вопрос: Как в ASP скачать файл по HTTP? Как в ASP сделать GET/POST запрос к другому серверу? Ответ: Используйте стандартный компонент ServerXMLHTTP из состава MSXML. Пример использования: Dim objSrvHTTP Set objSrvHTTP = CreateObject("MSXML2.ServerXMLHTTP") objSrvHTTP.Open "GET", "http://example.com/folder/page.html", False objSrvHTTP.Send If objSrvHTTP.Status = 200 Then Response.Write objSrvHTTP.responseText End If Set objSrvHTTP = Nothing
|
|
|
|
|
Supreme Being
модератор
Last Login: 04.05.2008 13:32
Сообщ.: 7 240,
Visits: 65 445
|
|
|
|
|
| | |