Автор Тема: Запись под MSSQL...  (Прочитано 6262 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн MrGreeN

  • просто зелёный
  • Постоялец
  • ***
  • Сообщений: 195
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Запись под MSSQL...
« : 18 Июня 2003, 15:50:31 »
Надоело писать лог в файл (потом если много записей долго извлекать), как бы организовать запись в чего -то типа таблицы под MS SQL ...
P.S. предлагать вариант "вручную"  - не надо.....:)

Оффлайн MrGreeN

  • просто зелёный
  • Постоялец
  • ***
  • Сообщений: 195
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Запись под MSSQL...
« Ответ #1 : 18 Июня 2003, 16:20:56 »
Понял...Усё в query но insert...

Оффлайн Ancient

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 89
  • +0/-0
  • 0
    • Просмотр профиля
    • http://ancient.dax.ru
Запись под MSSQL...
« Ответ #2 : 18 Июня 2003, 16:23:33 »
А в чем собственно проблема??? прописываем php_mssql.dll в php.ini а потом просто
mssql_connect ();
mssql_query ();
mssql_fetch_object ();
mssql_close ();
В чем конкретно трудности?
Ancient Team

Оффлайн MrGreeN

  • просто зелёный
  • Постоялец
  • ***
  • Сообщений: 195
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Запись под MSSQL...
« Ответ #3 : 18 Июня 2003, 16:53:14 »
Да ни в чём, просто раньше использовал только SELECT а тут надо добавлять, ну и запаниковал...:)

Оффлайн Yukko

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1586
  • +0/-0
  • 0
    • Просмотр профиля
    • http://estrabota.com.ua
Запись под MSSQL...
« Ответ #4 : 18 Июня 2003, 17:15:46 »
Немного не по теме, но может кому-то пригодится

Linux + PHP +MsSQL miniHowto

Стала задача использовать базу данных на MsSQL обращаясь к ней на РНР из-под Linux.

Что нужно?
1. Собственно MsSQL (адрес машины 192.168.0.4, порт 1433, у меня версия 2000)
2. PHP в исходных кодах
3. библиотека freetds, качать отсюда http://ftp://ftp.ibiblio.org/pub/Linux/ALPHA/freetds/stable/freetds-0.61.tgz
4. Linux на другой машине

Распаковываем freetds заходим в каталог и делаем
./configure
make
make install

Можно использовать опции для ./configure, но это не обязательно, раньше он требовал установки --with-prefix=/usr/local/freetds , но сейчас префикс по-умолчанию стоит /usr/local и это правильно!
После компиляции идем в /usr/local/etc и находим файл freetds.conf , в ранних версиях там был файл interfaces, но все его настройки переехали в freetds.conf, библиотека, которая необходима для подключения к MsSQL лежит в /usr/local/lib

Правим freetds.conf,
Вписываем туда такие строки:

# Microsoft SQL Server 2000 configuration
[MyServer2000]
host = 192.168.0.4 #адрес сервера
port = 1433 #порт сервера
tds version = 8.0 #версия протокола tds


Идем в директорию с исходниками PHP.
Пишем:
./configure --with-mssql=/usr/local (далее идут другие опции)
make
make install

На РНР пишем:


<? 
$con mssql_connect ("192.168.0.4:1433""DbReader""dbreadersql"); 
echo 
$con
?> 

Знающие люди говорят, что с последней версией freetds надо коннектиться указав не 192.168.0.4:1433, а указав номер порта через запятую, но я такой особенности не заметил  более того вариант
192.168.0.4,1433 не катит (выдает сообщение об ошибке).

Стоит отметить, что при помощи библиотеки tds, можна также коннектиться к Sybase, но я этого не пробовал и рассказывать не буду.
работа в Украине

Оффлайн MrGreeN

  • просто зелёный
  • Постоялец
  • ***
  • Сообщений: 195
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Запись под MSSQL...
« Ответ #5 : 18 Июня 2003, 17:28:56 »
$con=mssql_connect ("Lib","internet","internet");
$Date_op="22.11.02";
 $Time_op="12:15:36";
 $Phys_way="way";
 $Doc_full_name="Maximum Security: A Hackers Guide to Protecting Your Internet Site and Network";
 $Doc_ID=20551;
 $us_name="name";
 $us_IP="xxx.xxx.xxx.xxx";
 $Result=mssql_query("insert into Access_log (Num,Date_op,Time_op,Phys_way,Doc_full_name,Doc_ID,us_name,us_IP) values ($Num,$Date_op,$Time_op,$Phys_way,$Doc_full_name,$Doc_ID,$us_name,$us_IP)");//(string 22)
и ворнинги...
Warning: MS SQL message: Line 1: Incorrect syntax near \'.02\'. (severity 15) in c:\\inetpub\\wwwroot\\tests\\index.php on line 22

Warning: MS SQL: Query failed in c:\\inetpub\\wwwroot\\tests\\index.php on line 22
Чего это...?

Оффлайн Xander

  • санитар леса
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1780
  • +0/-0
  • 2
    • Просмотр профиля
Запись под MSSQL...
« Ответ #6 : 18 Июня 2003, 17:31:51 »
MrGreeN
а может ты руководство по SQL прочитаешь перед тем, как на форуме паниковать? :)

Потом тебе UPDATE понадобится, DELETE, потом еще что-нибудь...
Каждый раз будешь кричать: "ЧТО ДЕЛАТЬ???" %))
•••Jah\'d never let us down!•••

Оффлайн Xander

  • санитар леса
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1780
  • +0/-0
  • 2
    • Просмотр профиля
Запись под MSSQL...
« Ответ #7 : 18 Июня 2003, 17:33:38 »
MrGreeN
это скорее всего значит то, что дату надо записывать не $Date_op="22.11.02"; а как-то по-другому. Как именно - надо выяснять. Кажется это может зависеть от региональных настроек MSSQL-сервера.
•••Jah\'d never let us down!•••

Оффлайн MrGreeN

  • просто зелёный
  • Постоялец
  • ***
  • Сообщений: 195
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Запись под MSSQL...
« Ответ #8 : 18 Июня 2003, 17:42:59 »
В том-то и дело что поле с датой (и всеми цифрами кроме Num и Doc_ID) у меня varchar (специально же сделал, чтобы с настройками не мучаться)....Это же просто текст...

Оффлайн Xander

  • санитар леса
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1780
  • +0/-0
  • 2
    • Просмотр профиля
Запись под MSSQL...
« Ответ #9 : 18 Июня 2003, 17:58:05 »
прямая тогда тебе дорога на http://sql.ru/
в форум по M$SQL.
там быстро ответят, я думаю.
•••Jah\'d never let us down!•••

Оффлайн MrGreeN

  • просто зелёный
  • Постоялец
  • ***
  • Сообщений: 195
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Запись под MSSQL...
« Ответ #10 : 18 Июня 2003, 18:02:23 »
Нееее..... сегодня не мой день явно....
Какие могут быть в char точки? Правильно - никаких...

Оффлайн Xander

  • санитар леса
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1780
  • +0/-0
  • 2
    • Просмотр профиля
Запись под MSSQL...
« Ответ #11 : 18 Июня 2003, 18:19:18 »
а теперь специально для меня - а почему в VARCHAR нельзя точки???
•••Jah\'d never let us down!•••

Оффлайн MrGreeN

  • просто зелёный
  • Постоялец
  • ***
  • Сообщений: 195
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Запись под MSSQL...
« Ответ #12 : 19 Июня 2003, 15:49:44 »
Xander
Сам уже не пойму....Когда сделал запись напрямую  -  типа
$Result=mssql_query("insert into Access_log (Num,Date_op,Time_op,Phys_way,Doc_full_name,Doc_ID
,us_name,us_IP) values (Num,Dateop,Timeop,Physway,Docfullname,
DocID,usname,usIP)");
как бабки пошептали...запись была успешной увидел то что и захотел, но при этом как видно не может быть следующих знаков (",\',_,\\,.), т.е. не происходит приведение типа самим ПХП (в смысле к строке), пробовал даже явно указать, что переменная - строковая.....Не помогло...
Мистика....

Оффлайн MrGreeN

  • просто зелёный
  • Постоялец
  • ***
  • Сообщений: 195
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Запись под MSSQL...
« Ответ #13 : 19 Июня 2003, 18:00:21 »
На http://sql.ru/forum/actualthread.aspx?bid=1&tid=36383 тоже кидают стрелки на формат даты... :) Далась та дата если поле текстовое и данные текстовые...

Оффлайн MrGreeN

  • просто зелёный
  • Постоялец
  • ***
  • Сообщений: 195
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Запись под MSSQL...
« Ответ #14 : 20 Июня 2003, 14:17:05 »
Разобрались....Как всегда всё очень просто....
http://sql.ru/forum/actualthread.aspx?bid=1&tid=36383
:)

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28