Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 SQL 2012 и ASP  [new]
Konsul117
Member

Откуда:
Сообщений: 10
Добрый день!

У меня такая проблема. Планируется переезд с базы sql 2000 на 2012ую. Саму базу переместил, все приложения, включая php, после курения манов и форумов адаптировал. Но вот среди всех проектов есть небольшой на asp. Естественно, он на 2012ой базе не работает, выдавая скромную надпись, что соединение с базой не установлено. Сам я в asp не разбираюсь никак, а программистов на нём в данный момент у нас нету. Поэтому заранее извиняюсь за своё незнание в этой области, а так же буду благодарен за помощь!

Сам проект написан на PerlScript, о чём говорит 1ая строчка в файле default.asp (не знаю, важная ли это информация):
<%@ LANGUAGE = PerlScript%>


Соединение с бд осуществляется след. образом:

  $conn = $Server->CreateObject('ADODB.Connection');
  $conn->Open(
    "Provider=SQLOLEDB;".
    "Persist Security Info=False;".
    "Extended Properties=\"DRIVER=SQL Server;SERVER=".$SQL_SERVER."\";".
    "User ID=".$SQL_LOGIN.";".
    "Password=".$SQL_PASSWORD.";".
    "Initial Catalog=".$SQL_BASE.";"
  );


Затем, в случае неудачного подключения идёт такая штука:
  if($conn->Errors->{Count} > 0) {

    $conn->Open(
      "Provider=SQLOLEDB;" .
      "Persist Security Info=False;" .
      "Extended Properties=\"DRIVER=SQL Server;SERVER=".$SQL_SERVER."\";".
      "User ID=".$SQL_LOGIN.";".
      "Password=".$SQL_PASSWORD.";".
      "Initial Catalog=".$SQL_BASE.";"
    );

    if($conn->Errors->{Count} > 0) {

      $conn->Open(
        "Provider=SQLOLEDB;".
        "Persist Security Info=False;".
        "Extended Properties=\"DRIVER=SQL Server;SERVER=".$SQL_SERVER."\";".
        "User ID=".$SQL_LOGIN.";".
        "Password=".$SQL_PASSWORD.";" .
        "Initial Catalog=".$SQL_BASE.";"
      );

      if($conn->Errors->{Count} > 0) {
        $Response->Write('Произошла ошибка при соединении с сервером. Нажмите F5 для продолжения.');
        exit;
      }     
    }
  }


Т.е. если соединения не произошло, то производится ещё 2 попытки (как объяснял разработчик, когда ещё у нас работал - по непонятной причине иногда соединяться не получалось и спасали несколько попыток).

Пробовал на сервер ставить SQL Native Client 2012, прописывал Provider=SQLNCLI11, как я понял из статьи на msdn: http://msdn.microsoft.com/en-us/library/ms130978.aspx

Но соединиться с сервером так и не получилось.

Информация о сервере: ОС: MS Windows Server 2008 RS Standard SP1, БД: SQL 2012, веб-сервер: IIS 7

Подскажите, пожалуйста, как вообще можно соединить asp с sql 2012? Может, нужно что-то ещё установить на сервер?
Спасибо!
16 апр 12, 09:55    [12420953]     Ответить | Цитировать Сообщить модератору
 Re: SQL 2012 и ASP  [new]
Glory
Member

Откуда:
Сообщений: 104751
http://www.connectionstrings.com/
16 апр 12, 10:04    [12421003]     Ответить | Цитировать Сообщить модератору
 Re: SQL 2012 и ASP  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31961
Konsul117
Пробовал на сервер ставить SQL Native Client 2012, прописывал Provider=SQLNCLI11, как я понял из статьи на msdn: http://msdn.microsoft.com/en-us/library/ms130978.aspx
Какая строка получилась? И вообще, с этого компа получилось приконнектится через SSMS?
Konsul117
Но соединиться с сервером так и не получилось.
Какая ошибка?
Konsul117
Сам я в asp не разбираюсь никак, а программистов на нём в данный момент у нас нету.
Вообще для изменения приложения может понадобится программист. Есть вероятность, что понадобится менять код, зависит от того, как написано приложение.
16 апр 12, 11:23    [12421416]     Ответить | Цитировать Сообщить модератору
 Re: SQL 2012 и ASP  [new]
Konsul117
Member

Откуда:
Сообщений: 10
alexeyvg
Какая строка получилась?

Сначала была такая: Provider=SQLOLEDB;Persist Security Info=False;Extended Properties="DRIVER=SQL Server;SERVER=RIVSUUPSRV\RIVSUUPSQL";User ID=sa;Password=***;Initial Catalog=asu;

alexeyvg
И вообще, с этого компа получилось приконнектится через SSMS?


Да, это один и тот же комп. На этом же веб-сервере работают 2 php-приложения и отлично коннектятся.

alexeyvg
Какая ошибка?


Честно говоря, не знаю, пишет только то, что выводит сам скрипт "Произошла ошибка при соединении с сервером. Нажмите F5 для продолжения.".

Мне кажется, что для sql 2012 нужны какие-то новые драйвера, как это оказалось для php (старый драйвер вообще ничего информативного не говорил почему не хотел соединяться с 2012ым sql). А вот как их установить для asp и создавать соединение - для меня тёмный лес. Для 2005 sql нагуглить можно, но, ессно, это всё не то.

alexeyvg
Вообще для изменения приложения может понадобится программист. Есть вероятность, что понадобится менять код, зависит от того, как написано приложение.


Вот я уже который день думаю переписать это всё на php, где всё известно и работает. Вообще, проект-то небольшой и написан просто, так что идея переписать имеет смысл.
17 апр 12, 05:39    [12425035]     Ответить | Цитировать Сообщить модератору
 Re: SQL 2012 и ASP  [new]
Glory
Member

Откуда:
Сообщений: 104751
Konsul117
Сначала была такая: Provider=SQLOLEDB;Persist Security Info=False;Extended Properties="DRIVER=SQL Server;SERVER=RIVSUUPSRV\RIVSUUPSQL";User ID=sa;Password=***;Initial Catalog=asu;

Так вы каким драйвером собрались пользоваться ? Provider=SQLOLEDB или DRIVER=SQL Server ? Или может двумя сразу ?


Konsul117
Честно говоря, не знаю, пишет только то, что выводит сам скрипт "Произошла ошибка при соединении с сервером. Нажмите F5 для продолжения.".


Это сообщение вашего приложения. А нужно сообщение сервера ?
17 апр 12, 08:24    [12425210]     Ответить | Цитировать Сообщить модератору
 Re: SQL 2012 и ASP  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31961
Konsul117
alexeyvg
Какая строка получилась?

Сначала была такая: Provider=SQLOLEDB;Persist Security Info=False;Extended Properties="DRIVER=SQL Server;SERVER=RIVSUUPSRV\RIVSUUPSQL";User ID=sa;Password=***;Initial Catalog=asu;
Ну вот для начала возьмите строку из ссылки выше.
Provider=SQLNCLI11;Server=RIVSUUPSRV\RIVSUUPSQL;Database=asu;Uid=ыф; Pwd=***;


Konsul117
alexeyvg
Какая ошибка?


Честно говоря, не знаю, пишет только то, что выводит сам скрипт "Произошла ошибка при соединении с сервером. Нажмите F5 для продолжения.".
Ну так исправьте эту ошибку, выведите нормальное сообщение.


Konsul117
alexeyvg
Вообще для изменения приложения может понадобится программист. Есть вероятность, что понадобится менять код, зависит от того, как написано приложение.


Вот я уже который день думаю переписать это всё на php, где всё известно и работает. Вообще, проект-то небольшой и написан просто, так что идея переписать имеет смысл.
Ну, с другой стороны, если приложение небольшое, то можно уж со строкой соединения и разобраться - времени по любому меньше, а опыт пригодится. Хотя смотрите, вам виднее - если приложение на ASP единственное среди десятков на php, то может лучьше переписать.
17 апр 12, 08:39    [12425262]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить