powered by simpleCommunicator - 2.0.35     © 2025 Programmizd 02
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Знакомство с SQL и c ASP
13 сообщений из 13, страница 1 из 1
Знакомство с SQL и c ASP
    #32135881
Delitant
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Приобрел книгу по ASP Рассела Джонсона (A. Russell Jones). Там есть пример на VBScript.
<%@ Language=VBScript @TRANSACTION=REQUIRED %>
<%
Sub onTransactionCommit()
Response.Write "<br>Transaction Committed<Br>"
End Sub
Sub onTransactionAbort()
Response.Write "<br>Transaction Aborted<br>"
End Sub
%>

<HTML>
<HEAD>
</HEAD>
<BODY>
<%
Dim conn
Dim SQL
Dim aConnectionString
aConnectionString = "Provider=SQLOLEDB;Data " _
& "Source=(local);Database=ClassRecords;" _
& "UID=sa;PWD=;"
Set conn = Server.CreateObject("ADODB.Connection")
conn.Mode = adModeRead
conn.ConnectionString = aConnectionString
conn.CursorLocation = adUseClient
conn.open
SQL = "Update Students SET Grade = 4 WHERE LastName='Chen'"
conn.Execute SQL
ObjectContext.SetAbort
%>
</BODY>
</HTML>

Поменял:
local 192.168.1.1 на IP address
Пытаюсь достучаться до сервера с рабочей станции, вижу только
The page cannot be displayed
Подскажите, может я ещё что-то не сделал. В книге к сожалению я не нашел никакой дополнительной информации.
...
Рейтинг: 0 / 0
Знакомство с SQL и c ASP
    #32135935
ozzy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
убери строчку
conn.Mode = adModeRead
иначе UPDATE не проходит
на сервере должна быть смешанная аутентификация
и логин sa без пароля
...
Рейтинг: 0 / 0
Знакомство с SQL и c ASP
    #32138109
Delitant
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сделал как ты мне посоветовал, но без результатно. Начал эксперементировать, закоментарил нижние строчки, и обнаружил ошибку, правда только когда делаешь рефреш.

---------------------------------------------------
Microsoft VBScript runtime error '800a01f4'
Variable is undefined: 'adUseClient'
---------------------------------------------------

На сервере (SQL) стоит SQL Server and Windows Authen.
Посмотрел на сервере adovbs.inc, там есть такая переменная.
Эксперимениты с Excell проходят успешно.

Может ещё что-нибудь подскажешь?
...
Рейтинг: 0 / 0
Знакомство с SQL и c ASP
    #32138175
Andrew
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в коде нет
<!--#include file="adovbs.inc" -->
...
Рейтинг: 0 / 0
Знакомство с SQL и c ASP
    #32138819
Delitant
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Andrew
Включил строку
<!--#include file="adovbs.inc" -->
Всё равно не находит.


Пришлось делать виртуальный каталог, и включать следующию строку
<!--#include VIRTUAL="adovbs.inc" -->

Все хорошо, но возникла другая ошибка:
---------------------------------------------------------------
Microsoft OLE DB Provider for SQL Server error '80004005'

[DBNETLIB][ConnectionOpen (Connect()).]SQL Server does not exist or access denied.
-----------------------------------------------------------------
...
Рейтинг: 0 / 0
Знакомство с SQL и c ASP
    #32139214
Andrew
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
скорее всего у Вас не установлены клиентские сетевые библиотеки для соединения с SQL сервером.
смотрите в BOL - Administering SQL Server - Managing Clients - Client Net-Libraries and Network Protocols
...
Рейтинг: 0 / 0
Знакомство с SQL и c ASP
    #32139296
Delitant
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я не знаю что такле BOL.
Я проверил, на серевере стоит слушать TCP. Других протоколов там нет. И вот что самое главное, мой сервер делает репликацию с другово сервера.
Я поменял синтаксисо скрипта.
<%@ Language=VBScript %>
<% option explicit %>
<!--#INCLUDE VIRTUAL="adovbs.inc"-->
<%
Dim conn
Dim SQL
Dim R
Dim F
Dim RecsAffected
Dim aConnectionString
aConnectionString = "Data Source=(192.168.1.1)"
Set conn = Server.CreateObject("ADODB.Connection")
conn.ConnectionString = aConnectionString
conn.Mode = adModeRead
conn.Provider="SQLOLEDB"
conn.DefaultDatabase="ClassRecords"
conn.UserID="sa"
conn.Password=""
conn.CursorLocation=adUseClient
conn.open
SQL = "SELECT * FROM Students"
Set R = conn.execute(SQL, , adCmdText)
R.Open SQL, conn,adOpenStatic, adLockReadOnly,adCmdText
Response.Write "<b>By default, when you first open a Recordset object, it's positioned at the first record.</b><br>"
Response.Write "First Record: " & R("ParentName") & ", " & R("FirstName") & "<br>"
...
R.Close
set R = nothing
conn.Close
set conn = nothing
%>

Появилась ошибка
--------------------------------------------------
ADODB.Connection error '800a0e78'

Operation is not allowed when the object is closed.
--------------------------------------------------
При тестировании с использованием Data Source (ODBC) тест проходит успешно.
Вот отчет:
--------------------------------------------------------------
Microsoft SQL Server ODBC Driver Version 03.70.0820

Data Source Name: ClassRecords
Data Source Description: ClassRecords
Server: 192.168.1.1
Database: (Default)
Language: (Default)
Translate Character Data: Yes
Log Long Running Queries: No
Log Driver Statistics: No
Use Integrated Security: No
Use Regional Settings: No
Prepared Statements Option: Drop temporary procedures on disconnect
Use Failover Server: No
Use ANSI Quoted Identifiers: Yes
Use ANSI Null, Paddings and Warnings: Yes
---------------------------------------------------------------

Поэтому мне кажется с протоколами там всё нормально.
Немогу достучаться до базы :-(
...
Рейтинг: 0 / 0
Знакомство с SQL и c ASP
    #32139893
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ты не написал на какой строке возникает ошибка

я обычно подключаюсь так

set conn1 = Server.CreateObject("ADODB.Connection")
conn1.Open "Provider=SQLOLEDB.1;Password=www;Persist Security Info=True;User ID=sa;Initial Catalog=master;Data Source=myserver"
set RST = conn1.execute("SELECT .... ")
...
Рейтинг: 0 / 0
Знакомство с SQL и c ASP
    #32140486
Delitant
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 АлексейК
Ошибка возникает в строчке
conn.DefaultDatabase="ClassRecords"

С предложенным тобой скриптом я еще не эксперементировал.
...
Рейтинг: 0 / 0
Знакомство с SQL и c ASP
    #32142303
Delitant
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 АлексейК
Переписал скрипт.
Dim aConnectionString
aConnectionString="Data Source=(192.168.1.1);Initial Catalog=master; User ID=sa; Password="
conn.Provider="SQLOLEDB"
conn.Mode = adModeRead
conn.ConnectionString = aConnectionString
conn.open

Нет сообщения об ошибке, долго грузится. Может быть оставить комппьютер на ночь? :-)
...
Рейтинг: 0 / 0
Знакомство с SQL и c ASP
    #32143696
Delitant
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 АлексейК
Воспользовался твоим советом, вот что получил.
----------------------------------------------------------
ADODB.Connection error '800a0e7a'

Provider cannot be found. It may not be properly installed.
----------------------------------------------------------

Пробовал (Provider=SQLOLEDB.1) с первой версией, и без указания версии.

BOL это оказывается не человек, а SQL book on-line.
...
Рейтинг: 0 / 0
Знакомство с SQL и c ASP
    #32143704
Delitant
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Получилось! Я чуть ... Здесь дам нет? к$%@ил.
Привожу пример скрипта.
<%@ Language=VBScript %>
<% option explicit %>
<!--#INCLUDE VIRTUAL="adovbs.inc"-->
<%
Dim conn
Dim conString
Dim SQL
Dim R
Set conn = Server.CreateObject("ADODB.Connection")
conString="DRIVER={SQL Server};server=192.168.1.1;UID=sa;PWD=;Initial Catalog=testdb"
conn.Open conString
SQL = "SELECT * FROM somefield"
set R=Server.CreateObject("ADODB.RECORDSET")
R.Open sql, conn, adOpenStatic, adLockReadOnly, adCmdText
Response.Write "<b>By default, when you first open a Recordset object, it's positioned at the first record.</b><br>"
Response.Write "First Record: " & R("ParentName") & ", " & R("FirstName") & "<br>"
Response.Write "<b>Moved to the last record.</b><br>"
R.moveLast
Response.Write "Last Record: " & R("ParentName") & ", " & R("FirstName") & "<br>"
Response.Write "<b>Moved to the previous record.</b><br>"
R.close
set R = nothing
conn.Close
set conn = nothing
%>
Единственный минус, долго открывается.
Не смог этим способом открыть базу master.
...
Рейтинг: 0 / 0
Знакомство с SQL и c ASP
    #32146600
Delitant
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ИЗВЕНИТЕ, оказывается всё работает, просто у меня была опечатка в SQL = "SELECT * FROM Students"
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Знакомство с SQL и c ASP
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]