Social Icons

.

понедельник, 30 августа 2010 г.

Использование курсоров в хранимых процедурах на TSQL

Задача:

В очень редких случаях возникает необходимость перебрать по одной строчки в базе данных и выполнить над каждой из них индивидуальную операцию. Вообще, данный подход нарушает концепцию реляционности базы данных, согласно которой единицей является таблица, а не строка (и уж конечно же не запись!). Однако жить-то надо. И если требуется, например, пронумеровать строчки в выборке - это возможное решение.

понедельник, 9 августа 2010 г.

SQL Server – Список всех кодов ошибок и сообщений об ошибках

Вопрос:


Мне нужен список всех кодов ошибок и сообщений об ошибках для MS SQL server.

Ответ:



MS SQL Server содержит строку для каждой системной ошибки или предупреждения, которые могут быть возвращены, в ответ на действия пользователя.
Вы можете получить список всех кодов ошибок или сообщений следующим образом.


понедельник, 2 августа 2010 г.

Запрос на изменение владельца базы данных MS SQL Server

Задача:

При переносе базы данных или ее восстановлении на другом сервере и использовании от имени другого пользователя теряется ряд ресурсов. Например - диаграммы, созданные первым пользователем не видны новому владельцу.

четверг, 22 июля 2010 г.

MultyConnectToDatabase: соединение с несколькими базами данных из JBoss

При использовании JBoss возникает проблема при наличии более одного подключения к базе данных. Проблема мне не понятна до конца, по-этому пока, чисто «дикарско описательное» решение проблемы. Итак …

понедельник, 19 июля 2010 г.

Установка JBoss и запуск в качестве сервиса Windows

Установка JBoss из программы инсталляции это не путь Джедая! 

Но дело даже не в этом. Бывает так, что сервер уже стоит и работает, и переставлять его себе дороже. А надо бы запустить его как сервис. 

По большому счету, ничего сложного в этом нет.

понедельник, 28 июня 2010 г.

Список команд чата Skype

…Skype — это дьявольски хитрая программа, написанная бесспорно талантливыми людьми…©Крис Касперски

суббота, 22 мая 2010 г.

J2EE деструктор

Задача

Требуется понять, что J2EE приложение выгружается, обновляется или еще каким-то способом уничтожается. Понимание такое требуется для освобождения занятых ресурсов (например, глушения прослушивания TCP порта)

Сканирование директорий из JAVA

Задача: необходимо просканировать директорию на предмет наличия в ней определенных файлов и что-то сделать с ними. Например, переименовать.

воскресенье, 9 мая 2010 г.

JSE: Перепаковка даты из строки в строку

 


//szFormatFrom="yyyy-MM-dd", а szFormatTo="dd.MM.yyyy"
public static String repackDate(String szValue, String szFormatFrom, String szFormatTo, String szDefault  ){
 SimpleDateFormat szInput = new SimpleDateFormat(szFormatFrom);
 SimpleDateFormat szOutput = new SimpleDateFormat(szFormatTo);
 try {
  Date theDate = szInput.parse( szValue );
  return szOutput.format(theDate);
 } catch (Exception e) {
  System.out.println("ParseException is " + e.getMessage() ) ;
 }
 return szDefault;
}
 
public static String currentDate(String szFormat){
 SimpleDateFormat sdf = new SimpleDateFormat( szFormat );
 return sdf.format( Calendar.getInstance().getTime() );  
} 



JSE: XML to String

 

public static String toPlaneXml( Document theDocument ) throws TransformerException{
 DOMSource  theSource = new DOMSource (theDocument);
 StringWriter writer = new StringWriter();
 StreamResult result = new StreamResult(writer);
 TransformerFactory tf = TransformerFactory.newInstance();
 Transformer transformer = tf.newTransformer();
 transformer.transform(theSource, result);
 return writer.toString();
}


 

суббота, 8 мая 2010 г.

JSE: Выравнивание строки

 

public static String padingLeft(String szText, int nLength, char ch){
 return pading(szText, nLength, ch, true);
}
public static String padingRight(String szText, int nLength, char ch){
 return pading(szText, nLength, ch, false);
}
public static String pading(String szText, int nLength, char ch, boolean bLeft) {
 if(szText == null) szText = szEmptyString;
 if(szText.length() >= nLength) return szText;
 String szPadding = String.format("%" + ( nLength - szText.length() ) + "s", "").replace(" ", String.valueOf(ch) );
 return bLeft?(szPadding + szText):(szText+szPadding);
} 


JSE: String to XML

 


public static Document parseXml(String szMessage){
 Document theDocument = null;
 try{
  DocumentBuilderFactory theFactory = DocumentBuilderFactory.newInstance();
  theFactory.setValidating(false);
  theFactory.setNamespaceAware(false);
  DocumentBuilder theBuilder = theFactory.newDocumentBuilder();

  ByteArrayInputStream theStream = new ByteArrayInputStream( szMessage.getBytes() );
  theDocument = theBuilder.parse(theStream);

  if( theDocument == null) throw new Exception("theDocument == null");
  if( theDocument.getDocumentElement() == null) throw new Exception("theDocument.getDocumentElement() == null");
 }
 catch(Exception ex){
  System.out.println("Can't transform message to XML document. " + ex.getMessage() );
  theDocument = null;
 }
 
 return theDocument;
}


 

JSE: статичный Map в классе

 

...
import java.util.Collections;
...

public class SSomeAlias
{
 private static final Map theList;

 static {
  Map theTemplate = new HashMap();
  theTemplate.put(ESomeField.ACCOUNT, "Счет");
  theTemplate.put(ESomeField.REQUISITES, "Реквизиты счета");
  theTemplate.put(ESomeField.IDENTIFIER, "Плательщик");
  theList = Collections.unmodifiableMap( theTemplate );
 }

  public static String decode(String szField){ 
  return decode( ESomeField.decode(szField) ); 
 }

 public static String decode(ESomeField theField){ 
  return theList.containsKey(theField)?theList.get(theField):theField.type(); 
 }
}



вторник, 4 мая 2010 г.

JSE: Представить набор строк перечислением (enum)


 


public enum ESomeField 
{
 ACCOUNT("account"),
 REQUISITES("requisites"),
 IDENTIFIER("identifier"),
 
 UNKNOWN("Unknown");
 
 private String szType;
 public String type() { return this.szType; }
 
 private ESomeField(String szType) { this.szType = szType; }
 
 static public ESomeField decode(String szType) {
  if( szType != null && szTyle.) ){
   for ( ESomeField theType: ESomeField.values() ) {
    if (theType.type().equals(szType)) return theType;
   }
  }
  return UNKNOWN;
 }
}


понедельник, 3 мая 2010 г.

JSE: Прочитать файл в строку

 
 
   public static String readFileAsString( String szFileName, String szEncoder ) throws Exception {   
        InputStream theInputStream = new BufferedInputStream( new FileInputStream( szFileName ) );   
        byte[] theData = new byte[theInputStream.available()];   
        theInputStream.read(data);   
        theInputStream.close();   
        return new String(theData, szEncoder);   
   }


пятница, 12 марта 2010 г.

Firmware Update for Flash Voyager GTR 32/64GB

  Corsair Voyager GTR 32 не определяется, и только светодиод на ней постоянно мигает. Подмечено, что такое случается, когда она слишком долго находится под напряжением. У кого-то - в процессе просмотра очень долгого фильма. Или я, например, забыл ее на ночь во включенном компьютере.


пятница, 22 января 2010 г.

Особенности работы с подмепленным диском в VMWare

Проблема

При попытке скопировать файл размером более 200 МБ с подключенного сетевого диска c хостa к гостю, я получаю следующее сообщение об ошибке на машине гостя:
Не удается скопировать: Указанный файл не доступен.
Аналогично, при работе в среде (в приложении), которая регулярно перечитывает открытые файлы, на предмет изменения их внешней программой, независимо от размера файла, но рано или поздно вываливается такое же сообщение. В журнале событий Windows Server 2003 хост следующее сообщение об ошибке:
Код события 2025. Сервер сообщает об обнаружении попытки атаки и отключает связь. Отказ в обслуживании - нападение с клиента.

суббота, 9 января 2010 г.

Особенности работы с памятью VMWare

 Исключительно тормозит дисковая система. Причем на запись. Если включить perfmon на предмет помониторить жесткий диск можно видеть, что какой то процесс (vmware) отчаянно пишет на диск. Raid 5 как известно более тормознутый на запись чем raid 1 и raid 10, а в особо отличившихся случаях - даже медленее одиночного винта ) Что за железка, кстати, для рейда, сколько шпинделей в массиве? Какие политики на кеш? 
 

Так говорил Учитель:

У хорошо написанной программы есть свой собственный рай, у плохо написанной — свой собственный ад.

Russian Developer

Взгляд его светел, усилия праведны, старания бесплодны, дело безнадежно ...