Практическое применение SQL Server для импорта контактов из Sony Ericsson в Nokia

Jan 29, 2010 14:02

Как известно, самый простой способ перенести контакты из разных телефонов - воспользоваться встроенной возможности синхронизации с Outlook или адресной книгой Windows.

Однако, если контактов >1000, как у redhat_ufa , то, при синхронизации, штатный SE PC Suite вываливался в ошибку. Обновление ПО и прошивка не помогла. 

Штатного функционала выгрузки контактов в SE PC Suite нет, но в Nokia PC Suite импорт/экспорт csv!

После копания в инете была найдена программа "MyPhoneExplorer"
Самая мощная программа для управления телефоном (так было сказано в аннотации к программе) без проблем сумела выкачать контакт-лист в свой csv.

Однако, импортируемый и экспортируемые csv были несовместимы.
Воспользоваться OO Calc (Excel) для правки csv не удалось, как оказалось у ПО Нокии понятие пустого значения отличается от того как это видит ОпенОфис: для Нокии пусто означает: ...,"",... для офиса: ...,,...

И тут я вспомнил, об установленном SQL Server'e! :-)
25 минут и скрипт выкачки из MyPhoneExplorer в Nokia PC Suite готов:

select
  '"'+isnull(Convert(varchar(100),[Титул]),'')+'";"'+
  isnull(Convert(varchar(100),[Имя]),'')+'";"'+
  isnull(Convert(varchar(100),[Отчество]),'')+'";"'+
  isnull(Convert(varchar(100),[Фамилия]),'')+'";"'+
  isnull(Convert(varchar(100),[Доп-но]),'')+'";"'+
  isnull(Convert(varchar(100),[Должность]),'')+'";"'+
  isnull(Convert(varchar(100),[Компания]),'')+'";"'+
  isnull(Convert(varchar(100),[День рождения]),'')+'";"'+
  isnull(Convert(varchar(100),[SIP-адрес]),'')+'";"'+
  isnull(Convert(varchar(100),[PTT]),'')+'";"'+
  isnull(Convert(varchar(100),[Совместный просмотр]),'')+'";"'+
  isnull(Convert(varchar(100),[Ид# пользователя]),'')+'";"'+
  isnull(Convert(varchar(100),[Примечания]),'')+'";"'+
  isnull(convert(varchar(100),convert(bigint,[Общий: мобильный телефон])),'')+'";"' +
  isnull(convert(varchar(100),convert(bigint,[Общий: телефон])),'')+'";"'+
  isnull(Convert(varchar(100),[Общий: адрес эл# почты]),'')+'";"'+
  isnull(Convert(varchar(100),[Общий: факс]),'')+'";"'+
  isnull(Convert(varchar(100),[Общий: видеовызов]),'')+'";"'+
  isnull(Convert(varchar(100),[Общий: веб-адрес]),'')+'";"'+
  isnull(Convert(varchar(100),[Общий: адрес VOIP]),'')+'";"'+
  isnull(Convert(varchar(100),[Общий: почтовый ящик]),'')+'";"'+
  isnull(Convert(varchar(100),[Общий: дополнение]),'')+'";"'+
  isnull(Convert(varchar(100),[Общий: улица]),'')+'";"'+
  isnull(Convert(varchar(100),[Общий: почтовый индекс]),'')+'";"'+
  isnull(Convert(varchar(100),[Общий: город]),'')+'";"'+
  isnull(Convert(varchar(100),[Общий: область/штат]),'')+'";"'+
  isnull(Convert(varchar(100),[Общий: страна/регион]),'')+'";"'+
  isnull(convert(varchar(100),[Домашний: мобильный телефон]),'')+'";"'+
  isnull(convert(varchar(100),[Домашний: телефон]),'')+'";"'+
  isnull(Convert(varchar(100),[Домашний: адрес эл# почты]),'')+'";"'+
  isnull(Convert(varchar(100),[Домашний: факс]),'')+'";"'+
  isnull(Convert(varchar(100),[Домашний: видеовызов]),'')+'";"'+
  isnull(Convert(varchar(100),[Домашний: веб-адрес]),'')+'";"'+
  isnull(Convert(varchar(100),[Домашний: адрес VOIP]),'')+'";"'+
  isnull(Convert(varchar(100),[Домашний: почтовый ящик]),'')+'";"'+
  isnull(Convert(varchar(100),[Домашний: дополнение]),'')+'";"'+
  isnull(Convert(varchar(100),[Домашний: улица]),'')+'";"'+
  isnull(Convert(varchar(100),[Домашний: почтовый индекс]),'')+'";"'+
  isnull(Convert(varchar(100),[Домашний: город]),'')+'";"'+
  isnull(Convert(varchar(100),[Домашний: область/штат]),'')+'";"'+
  isnull(Convert(varchar(100),[Домашний: страна/регион]),'')+'";"'+
  isnull(convert(varchar(100),[Рабочий: мобильный телефон]),'')+'";"'+
  isnull(convert(varchar(100),[Рабочий: телефон]),'')+'";"'+
  isnull(Convert(varchar(100),[Рабочий: адрес эл# почты]),'')+'";"'+
  isnull(Convert(varchar(100),[Рабочий: факс]),'')+'";"'+
  isnull(Convert(varchar(100),[Рабочий: видеовызов]),'')+'";"'+
  isnull(Convert(varchar(100),[Рабочий: веб-адрес]),'')+'";"'+
  isnull(Convert(varchar(100),[Рабочий: адрес VOIP]),'')+'";"'+
  isnull(Convert(varchar(100),[Рабочий: почтовый ящик]),'')+'";"'+
  isnull(Convert(varchar(100),[Рабочий: дополнение]),'')+'";"'+
  isnull(Convert(varchar(100),[Рабочий: улица]),'')+'";"'+
  isnull(Convert(varchar(100),[Рабочий: почтовый индекс]),'')+'";"'+
  isnull(Convert(varchar(100),[Рабочий: город]),'')+'";"'+
  isnull(Convert(varchar(100),[Рабочий: область/штат]),'')+'";"'+
  isnull(Convert(varchar(100),[Рабочий: страна/регион]),'')+'"'
  from openrowset('MSDASQL', 'Driver={Microsoft Excel Driver (*.xls)};DBQ=C:\format_N.xls', 'select * from [Лист1$]')

* This source code was highlighted with Source Code Highlighter.

Previous post Next post
Up