Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Какую библиотеку лучше использовать
Покинул форум
Сообщений всего: 521
Дата рег-ции: Сент. 2009 Откуда: Петроград
Помог: 10 раз(а)
Тут появилась задача использовать mySQL или msSQL (и еще Oracle хочут в перспективе) без переписке кода.
Вообщем то фигня война, но я столкнулся со следующими проблемами
Попытка использовать mssql_* обломилась так как с nvarchar (Unucode) работать нельзя вообще.
Попробовал PDO (хотя не люблю его) но там с MSSQL сказано что тока на венде или через странный и не понятный ODBC с каким то скачиванием драйвера от самих M$.
Посоветуйте, если кто с подобной задачей сталкивался, какю лучше либу использовать для доступа к SQL
imya
Отправлено: 16 Января, 2014 - 14:50:22
Участник
Покинул форум
Сообщений всего: 1472
Дата рег-ции: Сент. 2012 Откуда: Запорожье, Украина
Когда нормальный человек, уезжая из дома одевает на жену пояс верности, веб-дизайнер ставит на нее счетчик...
IllusionMH
Отправлено: 16 Января, 2014 - 15:01:12
Активный участник
Покинул форум
Сообщений всего: 4254
Дата рег-ции: Февр. 2011 Откуда: .kh.ua
Помог: 242 раз(а)
imya, ну пых может не только к 1 базе подключаться ;) Вдруг это одно из приложений, где основная база на MS SQL сервере, но из некоторых соображения решили коннектиться из пыха.
mysqli не умеет работать с MSsql и Oracle
EuGen
Отправлено: 16 Января, 2014 - 15:02:24
Профессионал
Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007 Откуда: Berlin
Помог: 707 раз(а)
imya пишет:
А чем mysqli не угодило?
Тем, что не имеет никакого отношения к MS Sql Server, полагаю.
eai
Нужно определиться, что Вы хотите. С какой(какими) СУБД работать. Вообще, используйте паттерн Adapter и абстрагируйтесь от реализации запросов в ORM. В большинстве случаев это можно сделать. Либо же используйте в Вашем SQL только то, что поддерживается всеми СУБД, которые предполагается использовать - это уже сложнее, поскольку стандарту в полной мере не следует ни одна.
----- Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
imya
Отправлено: 16 Января, 2014 - 15:03:06
Участник
Покинул форум
Сообщений всего: 1472
Дата рег-ции: Сент. 2012 Откуда: Запорожье, Украина
Помог: 19 раз(а)
IllusionMH пишет:
mysqli не умеет работать с MSsql и Oracle
А php умеет?
Никогда не думал о связке php + MsSql
Когда нормальный человек, уезжая из дома одевает на жену пояс верности, веб-дизайнер ставит на нее счетчик...
IllusionMH
Отправлено: 16 Января, 2014 - 15:06:23
Активный участник
Покинул форум
Сообщений всего: 4254
Дата рег-ции: Февр. 2011 Откуда: .kh.ua
Помог: 242 раз(а)
imya, допустим есть здоровенное приложение на .net там база клиентов и куча фишек. Все это естественно на MS SQL
И есть какой-то сайтег, который был давно на котором все круто, но нужно дергать и редактировать некоторые прифили и прочее. Можно сделать сервис и пинать API, а можно подконнектиться к БД и поднять производительность.
eai
Отправлено: 16 Января, 2014 - 15:14:19
Частый посетитель
Покинул форум
Сообщений всего: 521
Дата рег-ции: Сент. 2009 Откуда: Петроград
Помог: 10 раз(а)
imya пишет:
IllusionMH пишет:
mysqli не умеет работать с MSsql и Oracle
А php умеет?
Никогда не думал о связке php + MsSql
Умеет и не плохо, но весь мой опыт сдулся когда на nvarchar нарвался
caballero
Отправлено: 16 Января, 2014 - 15:14:58
Активный участник
Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011 Откуда: Харьков
Покинул форум
Сообщений всего: 521
Дата рег-ции: Сент. 2009 Откуда: Петроград
Помог: 10 раз(а)
EuGen пишет:
imya пишет:
А чем mysqli не угодило?
Тем, что не имеет никакого отношения к MS Sql Server, полагаю.
eai
Нужно определиться, что Вы хотите. С какой(какими) СУБД работать. Вообще, используйте паттерн Adapter и абстрагируйтесь от реализации запросов в ORM. В большинстве случаев это можно сделать. Либо же используйте в Вашем SQL только то, что поддерживается всеми СУБД, которые предполагается использовать - это уже сложнее, поскольку стандарту в полной мере не следует ни одна.
Дык я тоже все так думаю тёзка (все верно пишешь), все это обломалось об NVARCHAR который "стандартный" php НЕ ТЯНЕТ ВАЩЕ.
Единственный способ который я нашел это конвертация NVARCHAR в VARCHAR но это фиговый путь, на то эти данные и юникод, что бы не ожидать от них что они все будут в одной кодировке
ЗЫ
Сам MSSQL использует кодировку UCS-2 (Добавление)
Покинул форум
Сообщений всего: 4254
Дата рег-ции: Февр. 2011 Откуда: .kh.ua
Помог: 242 раз(а)
caballero, а что мешает с линух сервера с апачем+пых пинать "удаленный" с MS SQL?
eai
Отправлено: 16 Января, 2014 - 16:15:06
Частый посетитель
Покинул форум
Сообщений всего: 521
Дата рег-ции: Сент. 2009 Откуда: Петроград
Помог: 10 раз(а)
caballero пишет:
а на фига линух если все равно будет стоять винда с mssql
Причин много, к примеру
1. Нет желания выкладывать WinSrv во внешний мир
2. Нет желания покупать лицензию на сервак Win
MSSQL весьма распространенный сервак и не сказать что плохой, особенно когда данные большие, да и приложений для него масса и такое дело что все они "критические"
Покинул форум
Сообщений всего: 521
Дата рег-ции: Сент. 2009 Откуда: Петроград
Помог: 10 раз(а)
caballero пишет:
то есть на самом делевам это просто на всякий случай
но сути дела не меняет .
Не вижу проблем с виндой если она уже крутится
ну будет она доступна по 80 порту и что
по моемв вы сами не знаете чего хотите
Посадить IIS на главный сервак, свят свят )))
Главный SQL это особо охраняемая машина, и туда ничего боле, святое, на него можно тока молиться ))
Stierus
Отправлено: 16 Января, 2014 - 17:30:49
Рекордсмен по количеству сообщений за 7 дней
Покинул форум
Сообщений всего: 2132
Дата рег-ции: Дек. 2008 Откуда: Москваль
Помог: 52 раз(а)
Ну я виже вариант только с PDO и установкой всех необходимых расширений. ODBC - это норм, не неизвестная фигня Попробуй поставить какую-нить ORM, у них много разных адаптеров под разные базы, возможно нормально работают и с mssql через mssql_* а не через PDO. В zend framework у нас работа идет с mysql и mssql через PDO:
return Zend_Db::factory('Pdo_Mssql',
array(
'username' => $config->erp->mssql->username,
'password' => $config->erp->mssql->password,
'dbname' => $config->erp->mssql->dbname,
'host' => $config->erp->mssql->host,
'pdoType' => $config->erp->mssql->type,
)
);
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.