Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > ASP > Работа с MSSQL.


Автор: D. 26.8.2003, 14:00
Проблема1: Не могу подсоединиться к БД на MSSQLSERVER2000
Уточнение: Могу подсоединиться к ACCESS, а к MSSQL никак. Не пойму, что не так.

Я пишу:
Код

DSN = "PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE = " + Server.mappath("db1_data.MDF") + ";";
cn = Server.CreateObject("ADODB.Connection");
cn.Open(DSN);

мне выдает: При попытке доступа к этой странице произошла ошибка, страницу отобразить невозможно. HTTP 500 - Внутренняя ошибка сервера
Internet Explorer

Когда тоже самое делаю но с ACCESS то все хорошо.

Спасибо большое за любые предложения.

Автор: DIMA.NET 26.8.2003, 17:02
Если есть доступ к логам на серваке, посмотри что там за ошибка, потому что ИЕ не пишет этого.

P.S.
Я обычно делаю Set cn, но врядли это что-то изменит!

Автор: D. 27.8.2003, 10:26
Сам пишу ответ, на свой же вопрос. Может кому-нибудь это пригодиться.

Задача: Подключиться к MS SQL Server 2000.

Через DSN:
Код
<%@ Language=JavaScript%>
<%
DSN = "DSN=db2";
cn = Server.CreateObject("ADODB.Connection");
cn.Open(DSN,"log","pass");
rs = Server.CreateObject("ADODB.RecordSet");
sql = "SELECT * FROM Table1";
rs.Open (sql, cn);
while (!(rs.eof))
{
Response.write(rs.fields.item("col1"));
Response.write("<BR>");
rs.move(1);
}  


rs.Close();
cn.Close();
%>

Пояснения:
1. db2 - это DSN, который Вы создаете в
"ПанельУправления->Администрирование->Источники данных (ODBC)" (не забудьте поставить там галочку на выбор базы поумолчанию, именно той которая вам нужна, поэтому-то здесь и не указывается ничего кроме DSN)
2. log - login вводимый в MSSQL.
3. pass - пароль вводимый в MSSQL

Если Вам"ломливо" создавать там (в SQL'е) табличку и поля, или Вы еще совсем плохо разбираетесь в ASP, то вот код просто подсоединения:
На JavaScript:
Код
<%
DSN = "DSN=db2";
cn = Server.CreateObject("ADODB.Connection");
cn.Open(DSN,"log","pass");
%>

На VBScript:
Код
<%
cn = "Provider=SQLOLEDB;Data Source=localhost;Initial Catalog=db2;User ID=log;Password=pass;"
Set Con=Server.CreateObject("ADODB.Connection")
Set rs = Server.CreateObject("ADODB.Recordset")
Con.Open cn
%>


Говорят, что через DSN работает медленнее поэтому привожу код без него.
Без DSN:
Код
<%@ Language=JavaScript%>
<%
cnstr = "Provider=SQLOLEDB;Data Source=171.16.2.80;Initial Catalog=db2;User ID=log;Password=pass;";
cn=Server.CreateObject("ADODB.Connection");
rs = Server.CreateObject("ADODB.RecordSet");
cn.Open(cnstr);

sql = "SELECT * FROM Table1";
rs.Open (sql, cn);
while (!(rs.eof))
{
Response.write(rs.fields.item("col1"));
rs.move(1);
}  
%>

И просто соединение

Код
<%
cnstr = "Provider=SQLOLEDB;Data Source=171.16.2.80;Initial Catalog=db2;User ID=log;Password=pass;";
cn=Server.CreateObject("ADODB.Connection");
cn.Open(cnstr);
%>

Пояснения:
Initial Catalog=db2; - имя базы в MSSQL. (причем незабывайте указывать путь, типа "db/ddb.dbf")
Data Source=171.16.2.80; IP-адрес или имя сервера на котором стоит БД
.


P.S.
Незабудьте запустить SQLServer.





Автор: D. 27.8.2003, 10:37
Это опять я. Решил написть в форум код для коннекта к ACCESS.
На JavaScript:
Через ODBC
Код
<%
DSN="DBQ=" + Server.Mappath("db/ddb.mdb") + ";Driver={Microsoft Access Driver (*.mdb)};"
cn = Server.CreateObject("ADODB.Connection");
cn.Open(DSN,"","");
%>


Через OLEDB
Код
<%
filePath = Server.MapPath("db/ddb.mdb");
cn = Server.CreateObject("ADODB.Connection");
strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filePath;
cn.Open(strConn,"","");
%>


P.S.
1.Если Вы захотите использовать OLEDB и вместе с ним логин и паоль в базе, то возможны проблемы.
2.Иногда (на некоторых сервверах) подключение через ODBC не работает.
Если кто разберется с этим былобы неплохо получить от вас либо инфу, либо ссылки.
Мое мыло: [email protected]



Автор: D. 11.9.2003, 15:45
Ссылка на подключения к различныим БД

http://www.relib.com/articles/article.asp?id=7

Автор: Unregistered 17.1.2004, 04:50
Код
[/CODE][CODE]
Код
[/CODE][CODE]
Код
[/CODE][CODE]
Код
[/CODE][CODE]
Код
[/CODE][CODE]
Код
[/CODE][CODE]
Код
[/CODE][CODE]
Код
[/CODE][CODE]
Код
[/CODE][CODE]
Код
[/CODE][CODE]
Код
[/CODE][CODE]
Код
[/CODE][CODE]
Код
[/CODE][CODE]
Код
[/CODE][CODE]
Код
[/CODE][CODE]
Код
[/CODE][CODE]
Код
[/CODE][CODE]
[CODE]

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)