:: Не фоксом единым
Re: Java для разработчика VFP
rvc44
Автор

Сообщений: 2211
Откуда: Тамбов
Дата регистрации: 06.12.2005
ssa
Тип авторизации?
Я уже упоминал выше: смешанный режим Mixed mode

ssa
Подклюение с компа в том же домене, что и сервер?
Естественно, на работе у нас один домен: UTSR.ORG
Мой комп в этом домене (вся сеть видна, всё работает);
Сервер установлен на моём компьютере. ServerName: KOLTSOVRV\SQLEXPRESS

ssa
SQL Browser service запущен?
Был отключен! Включил, вернул настройки в Surface Area Configuration для Remote connections
c "Local connections only" обратно на "Local and remote connections" + "Using both TCP/IP and named pipes" (чем отличается от "Using TCP/IP only" понимаю не особо!) и при входе через Windows Autentification и при SQL Server Autentification с именем ssasa и моим паролем стал пускать нормально (!)
Видимо моя ошибка была в том, что я таки прошлый раз залезал в Surface Area Configuration и поменял значение по умолчанию с "Local connections only" на "Local and remote connections" для тестирования работы готовой проги в сети, а SQL Browser service запустить забыл...
Спасибо, ssa!

ssa
CliCfg на клиентском компе настроен правильно?
? а с чем это едят? Ссылку на матчасть в студию! ;)
Что и как теперь настроить у клиентов на соседних компах в интрасети, чтобы быстренько всё это запустить, помимо обычного подключения в программе...
Ratings: 0 negative/0 positive
Re: Java для разработчика VFP
rvc44
Автор

Сообщений: 2211
Откуда: Тамбов
Дата регистрации: 06.12.2005
Кстати, как установить SQL Server 2005 Express Edition и SQL Server Management Studio Express на русском языке описано вот здесь:
www.sqlbooks.ru
Может ещё кому пригодится...
Ratings: 0 negative/0 positive
Re: Java для разработчика VFP
rvc44
Автор

Сообщений: 2211
Откуда: Тамбов
Дата регистрации: 06.12.2005
Благодаря, одному из самых замечательных (не считая Владимира Максимова, и в отсутствии piva ;) ) пользователей данного форума, Сизова Сергея, мне наконец-то сегодня удалось подключиться из NetBeans к MS SQL Server 2005 через JDBC напрямую (минуя мостик ODBC), но только после того, как я прочитал, что мелкомягкие зачем-то поменяли driver class c "com.microsoft.jdbc.sqlserver.SQLServerDriver" (для 2000) на "com.microsoft.sqlserver.jdbc.SQLServerDriver" (для 2005), а также connection url с "jdbc:microsoft:sqlserver://" (для 2000) на "jdbc:sqlserver://" (для 2005).
Вот работающий пример, SQLExpress2005Connect.java :
package utsr2;
public class SQLExpress2005Connect {
private java.sql.Connection con = null;
private final String url = "jdbc:sqlserver://";
private final String serverName= "localhost"; // "10.*.*.*";
private final String portNumber = "1433";
private final String databaseName= "AdventureWorksLT";
private final String userName = "sa";
private final String password = "vash_parol";
// Сообщает драйверу о необходимости использовать сервером побочного курсора,
// что позволяет использовать несколько активных выражений
// для подключения.
private final String selectMethod = "cursor";
// Конструктор
public SQLExpress2005Connect(){}
private String getConnectionUrl(){
return url+serverName+":"+portNumber+";databaseName="+databaseName+";selectMethod="+selectMethod+";";
}
private java.sql.Connection getConnection(){
try{
// Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
con = java.sql.DriverManager.getConnection(getConnectionUrl(),userName,password);
if(con!=null) System.out.println("Connection Successful!");
}catch(Exception e){
e.printStackTrace();
System.out.println("Error Trace in getConnection() : " + e.getMessage());
}
return con;
}
/*
Вывести свойства драйвера, сведения о базе данных
*/
public void displayDbProperties(){
java.sql.DatabaseMetaData dm = null;
java.sql.ResultSet rs = null;
try{
con= this.getConnection(); //42 строка
if(con!=null){
dm = con.getMetaData();
System.out.println("Driver Information");
System.out.println("\tDriver Name: "+ dm.getDriverName());
System.out.println("\tDriver Version: "+ dm.getDriverVersion ());
System.out.println("\nDatabase Information ");
System.out.println("\tDatabase Name: "+ dm.getDatabaseProductName());
System.out.println("\tDatabase Version: "+ dm.getDatabaseProductVersion());
System.out.println("Avalilable Catalogs ");
rs = dm.getCatalogs();
while(rs.next()){
System.out.println("\tcatalog: "+ rs.getString(1));
}
rs.close();
rs = null;
closeConnection();
}else System.out.println("Error: No active Connection");
}catch(Exception e){
e.printStackTrace();
}
dm=null;
}
private void closeConnection(){
try{
if(con!=null)
con.close();
con=null;
}catch(Exception e){
e.printStackTrace();
}
}
public static void main(String[] args) throws Exception
{
SQLExpress2005Connect myDbTest = new SQLExpress2005Connect();
myDbTest.displayDbProperties();
}
}
Ура! Заработало. Если не всплывёт какая-либо бяка с ограничениями на работу SQL 2005 версии Express, то завтра можно попробывать перевести БД с Derby на старый добрый и бесплатный MS SQL Server!
Ratings: 0 negative/0 positive
Re: Java для разработчика VFP
Tapac

Сообщений: 560
Откуда: Альметьевск
Дата регистрации: 16.11.2000
rvc44
Рекомендую сразу же перенести ее в C:\NetBeans, иначе при запуске такого проекта у Вас возниктет ошибка встроенного в Java2 SE Persistence API, представленного модулем Oracle TopLink Essentials - 2.0.1, и вы будете долго и мучительно искать про него сведения про Persistence API в Интернете

Если про "него", имелся ввиду TopLink, тогда рекомендую посетить www.oracle.com

да и вообще www.oracle.com

Кстати, не буду "есть хлеб" Oracle, да и вообще продвигать их продукты, включая JDeveloper , просто дам еще пару ссылок, где в очень доходчивом стиле (часто по-шагово), лежит масса документации по JDeveloper и вообще Oracle ADF.
Читай -- не хочу

www.oracle.com
www.oracle.com
Ratings: 0 negative/0 positive
Re: Java для разработчика VFP
Tapac

Сообщений: 560
Откуда: Альметьевск
Дата регистрации: 16.11.2000
rvc44
а также Тарас хвалил IDE JDeveloper. Не знаю... не смотрел... А чем она удобнее?

Ни чем. Конкуренция за java-разработчиков настолько высока, что по-моему убеждению IDEA, NetBeans и JDeveloper находятся на одинаковом уровне, не имея явного лидера.
Хотя у каждой среды свои изюминки.
У нас тоже часто свои жаркие споры бывают. Мои ребята как мне прямо показали и доказали целесообразность разработки web-сервисов на Axis2 под NetBeans. Получается просто быстрее.
Равно как и связка JDeveloper+ADF Faces+ADF BC по скорости и качеству разработки web-приложений еще ни разу не проигрывала любой другой комбинации IDE+Web+ORM.
Ratings: 0 negative/0 positive
Re: Java для разработчика VFP
olegov

Сообщений: 366
Откуда: Новосибирск
Дата регистрации: 17.12.2002
Роман, а Вы часом не сталкивались с наследованием форм в NetBeans ? Я так и не понял как сию проблему решить.
Ratings: 0 negative/0 positive
Re: Java для разработчика VFP
smalin

Сообщений: 69
Откуда: Екатеринбург
Дата регистрации: 28.04.2006
А вот у меня вопрос по OpenOffice. Кто-нибудь знает есть ли для OOo Basic библиотека функций для обработки строк, чтоб там функции были наподобие фоксовых: GetWordNum, GetWordCount, Atc, ChrTran и т.п.? Многие ф-ии приходится самому писать, а наверняка уже есть готовые. Только вот на форуме www.oooforum.org я ничего подобного не нашел. Где взять?
Ratings: 0 negative/0 positive
Re: Java для разработчика VFP
rvc44
Автор

Сообщений: 2211
Откуда: Тамбов
Дата регистрации: 06.12.2005
2smalin: Написать самому! (3 курс, Паскаль). Эта тема вообще-то по Java!

Вот нашел интересный код, как объявлять и вызывать функции Windows API на Java.
Делается это при помощи компонента JNA (Java Native Access): Pure Java access to native libraries jna.dev.java.net.
Этот компонент дополнительно загружается отсюда: jna.dev.java.net.
Его название: jna.jar (620,822 байт, версия от 31.01.2008 г.)
// Подключаем библиотеку jna.jar
import com.sun.jna.win32.StdCallLibrary;
import com.sun.jna.Native;
import com.sun.jna.ptr.IntByReference;
public class WinAPI {
public interface Kernel32 extends StdCallLibrary {
Kernel32 INSTANCE = (Kernel32)Native.loadLibrary("kernel32", Kernel32.class);
public void GetVolumeInformationA(String disk, byte[] discName, int discNameSize, IntByReference vsNumber , IntByReference mcLength, IntByReference fileSF, byte[] sysNameBuffer, int sysNameBufferSize);
public int GetDriveTypeA(String disk);
}
public static void main(String[] args) {
Kernel32 lib = Kernel32.INSTANCE;
byte[] name = new byte[255];
IntByReference vsNumber = new IntByReference();
IntByReference mcLenght = new IntByReference();
IntByReference fileSF = new IntByReference();
byte[] data = new byte[255];
lib.GetVolumeInformationA("d:\\", name, name.length, vsNumber, mcLenght, fileSF, data, data.length);
System.out.println(vsNumber.getValue());
System.out.println(lib.GetDriveTypeA("c:\\"));
}
}
Для подключения библиотеки jna.jar в проекте NetBeans:
1. Щелкните правой мышкой по Вашему проекту в окне Projects
2. В контекстном меню выберите Properties
3. В разделе Categories появившегося окна выберите Libraries
4. В правой части окна на вкладке Compile, нажмите кнопку "Add JAR/Folder"
5. Укажите папку с файлом и выберите в ней двойным щелчком файл jna.jar



Исправлено 2 раз(а). Последнее : rvc44, 24.06.08 18:53
Ratings: 0 negative/0 positive
Re: Java для разработчика VFP
rvc44
Автор

Сообщений: 2211
Откуда: Тамбов
Дата регистрации: 06.12.2005
Если кому нужен календарь для программирования на Java, то загружайте его здесь www.toedter.com
Много всего разного пересмотрел - лучше этого нет! Загрузите на указанной странице по ссылке внизу файл jcalendar-1.3.2.zip (667,065 байт), распакуйте его, заберите из папочки lib файлы jcalendar-1.3.2.jar и looks-2.0.1.jar. Пропишите путь к каждому из этих *.jar-файлов в переменной окружения CLASSPATH. Для удобства, в окне IDE Palette можно настроить новую категорию (группу) и назвать ее Calendar и через Palette Manager разместить в эту категорию все 7 Java Beans, которые находятся в файле jcalendar-1.3.2.zip: это JCalendar, JDateChooser, JDayChooser, JLocaleChooser, JMonthChooser, JSpinField и JYearChooser, чтобы потом таскать их мышкой из окна Palette для размещения на своих разрабатываемых формах.

P.S.
Недавно начал читать очередную 4-ю редакцию книги от Bruce Eckel Prentice Hall - Thinking in Java, 4th Edition, где автор пишет зачем был создан язык Java? Ответ: чтобы значительно упростить разработку программ, по сравнению с затратами времени и сил на разработку программ на C++. Java намного проще C++ и предназначен для массового применения.
И это ощущение постепенно начинает складываться и у меня! Разработка на Java не сложнее VFP!
Короче, я свой выбор уже сделал - на чем программировать после VFP: смею вас уверить - это не платформа Microsoft .Net!
Ratings: 0 negative/0 positive
Re: Java для разработчика VFP
Tapac

Сообщений: 560
Откуда: Альметьевск
Дата регистрации: 16.11.2000
rvc44
И это ощущение постепенно начинает складываться и у меня! Разработка на Java не сложнее VFP!

Разве у кого-то были возражения?



Исправлено 1 раз(а). Последнее : Tapac, 25.06.08 14:15
Ratings: 0 negative/0 positive
Re: Java для разработчика VFP
rvc44
Автор

Сообщений: 2211
Откуда: Тамбов
Дата регистрации: 06.12.2005
Вот перекопал кучу документации и разобрался, как создавать и сохранять из Java DBF-файлы в нужной кодировке. Ссылку, где взять необходимую библиотеку jdbf.jar давал выше в этой теме:
/**
* @descr Пример работы с DBF-файлами в Java
* @author koltsov
*/
import com.svcon.jdbf.DBFWriter;
import com.svcon.jdbf.JDBField;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;
public class TestDbf {
public static void main(String[] args) {
try {
SimpleDateFormat localTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println("start:" + localTime.format(new Date()));
JDBField arrfiled[] = new JDBField[7];
arrfiled[0] = new JDBField("GDDM",'C',10,0);
arrfiled[1] = new JDBField("GDXM",'C',30,0);
arrfiled[2] = new JDBField("ZHZT",'C',1,0);
arrfiled[3] = new JDBField("GSDM",'C',5,0);
arrfiled[4] = new JDBField("QSDM",'C',5,0);
arrfiled[5] = new JDBField("JZRQ",'C',8,0);
arrfiled[6] = new JDBField("CLBZ",'N',12,2);
//Над проблемой десятичного разделителя бились здесь:
//[url]http://www.sql.ru/forum/actualthread.aspx?tid=205938[/url]
//По умолчанию стоит:
//Locale.setDefault(new Locale("ru", "RU"));
//force using '.' as decimal point
//forum.java.sun.com
//Необходимо установить
Locale.setDefault(Locale.ENGLISH);
// или
// Locale.setDefault(new Locale("en", "US"));
// Для локали GERMAN будет 2,75, а не 2.75, как и в русской!
// Локали RUSSIAN не существует, пользуйтесь new Locale("ru", "RU")!
// // Writing Records to File as They are Added
// DBFWriter writer = new DBFWriter( new File( "c:/aa.dbf "));
// Вместо dw можно дать имя dbfWriter или dbf
// Без 3-го параметра new String("CP866") файл создается в кодировке Windows
DBFWriter dw = new DBFWriter("c:/aa.dbf",arrfiled,new String("CP866"));
// DBFWriter dbf= new DBFWriter(fileName.toString(),fields,new String("CP866"));
int i = 0;
while(i < 1000000) {
Object rowData[] = new Object[7];
rowData[0] = String.valueOf(i);
rowData[1] = "Пупкин";
rowData[2] = "1";
rowData[3] = "Вася";
rowData[4] = " бп";
rowData[5] = "CCCCCCCC";
rowData[6] = Double.valueOf("2.75");
dw.addRecord(rowData);
i ++ ;
// Объект со строковыми данными нельзя делать типа String
// т.к. нельзя будет сохранять поля с типом, отличным от Char
// String obj[] = new String[7];
// obj[0] = String.valueOf(i);
// obj[1] = "Пупкин";
// obj[2] = "1";
// obj[3] = "Вася";
// obj[4] = " бп";
// obj[5] = "CCCCCCCC";
// obj[6] = "2.75";
// dw.addRecord(obj);
// i ++ ;
}
dw.close();
System.out.println("end:" + localTime.format(new Date()));
} catch(Exception ex) {
ex.printStackTrace();
}
}
}
Ratings: 0 negative/0 positive
Re: Java для разработчика VFP
rvc44
Автор

Сообщений: 2211
Откуда: Тамбов
Дата регистрации: 06.12.2005
Материал в предыдущем посте подготовлен на основе китайского блога пользователя superxgz:
superxgz.javaeye.com от 27.03.2007

Для использования DBF FoxPro можно также использовать мостик JDBC 2 ODBC, как описано на сайте Китайских товарищей от 08.01.2007: superxgz.javaeye.com

Для тех, кому интересно, вот этот код заменяет фоксовский MessageBox:
// Пример вывода сообщения:
JOptionPane.showMessageDialog(null, "Это сообщение");
// Пример вывода запроса на подтверждение:
int state = JOptionPane.showConfirmDialog(null, "Продолжить?");
if (state != JOptionPane.YES_OPTION) {
return false;
}

А вот два варианта функции, заменяющей фоксовские PadLeft и PadRight:
public static byte[] textPadding( String text, String characterSetName, int length, int alignment, byte paddingByte)
throws java.io.UnsupportedEncodingException {
if( text.length() >= length) {
return text.substring( 0, length).getBytes( characterSetName);
}
byte byte_array[] = new byte[ length];
Arrays.fill( byte_array, paddingByte);
switch( alignment) {
case ALIGN_LEFT:
System.arraycopy( text.getBytes( characterSetName), 0, byte_array, 0, text.length());
break;
case ALIGN_RIGHT:
int t_offset = length - text.length();
System.arraycopy( text.getBytes( characterSetName), 0, byte_array, t_offset, text.length());
break;
}
return byte_array;
}
А ещё лучше, для наглядности, переписать этот вариант так:
public static byte[] textPadding(String text, String characterSetName, int length, int alignment, byte paddingByte)
throws java.io.UnsupportedEncodingException
{
byte[] srcByteArray=text.getBytes(characterSetName);
byte[] dstByteArray=new byte[length];
Arrays.fill(dstByteArray,paddingByte);
int dstLength=0;
if(srcByteArray.length>=length) {
dstLength=length%2==0?length:length-1;
}else {
dstLength=srcByteArray.length;
}
switch(alignment)
{
case ALIGN_LEFT:
System.arraycopy(srcByteArray,0,dstByteArray,0,dstLength);
break;
case ALIGN_RIGHT:
System.arraycopy(srcByteArray,0,dstByteArray,length-dstLength,dstLength);
break;
}
return dstByteArray;
}
Ratings: 0 negative/0 positive
Re: Java для разработчика VFP
rvc44
Автор

Сообщений: 2211
Откуда: Тамбов
Дата регистрации: 06.12.2005
Еще хотел отметить, что я привык просматривать код своих программ в Far, но он не позволяет просматривать русский текст в кодировке UTF-8, используемый Java. Ох и пришлось намучаться!
Был у меня редактор Netepad++ версии 4.9.1, загруженный отсюда: notepad-plus.sourceforge.net
но он тоже не декодировал подобные русские строки, пока я не обновил его до версии 5.0!
НЕ ВСЕ РЕДАКТОРЫ УМЕЮТ РАБОТАТЬ С UTF-8 БЕЗ BOM!
Все IDE сохраняют файлы *.java в кодировке utf-8 (если Вы не меняли ее на другую) без сигнатуры BOM. При сохранении файла многие текстовые редакторы предлагают флажок «Include Unicode Signature (BOM)», «Add Byte Order Mark» или нечто подобное. Прежде всего убедитесь, что в вашем редакторе это есть. Найдя этот флажок — отключите его.
Netepad++ версии 5.0, работой без сигнатуры BOM меня порадовал!
А вы какие редакторы используете?
Ratings: 0 negative/0 positive
Re: Java для разработчика VFP
Tapac

Сообщений: 560
Откуда: Альметьевск
Дата регистрации: 16.11.2000
rvc44
А вы какие редакторы используете?
Far и JDeveloper в кодировке 1251.



Исправлено 1 раз(а). Последнее : Tapac, 28.06.08 10:51
Ratings: 0 negative/0 positive
Re: Java для разработчика VFP
zmej

Сообщений: 220
Откуда: Томаковка
Дата регистрации: 14.05.2004
А какие есть генераторы/дизайнеры отчетов для Java? (Бесплатные и свободные). Можна ссылку?
Ratings: 0 negative/0 positive
Re: Java для разработчика VFP
Tapac

Сообщений: 560
Откуда: Альметьевск
Дата регистрации: 16.11.2000
rvc44
Еще хотел отметить, что я привык просматривать код своих программ в Far, но он не позволяет просматривать русский текст в кодировке UTF-8, используемый Java. Ох и пришлось намучаться!

Кстати, к Far'у есть плагины, позволяющие работать с unicode.
Ratings: 0 negative/0 positive
Re: Java для разработчика VFP
Tapac

Сообщений: 560
Откуда: Альметьевск
Дата регистрации: 16.11.2000
zmej
А какие есть генераторы/дизайнеры отчетов для Java? (Бесплатные и свободные). Можна ссылку?

JasperReports -- один из лидеров.
www.jasperforge.org
Ratings: 0 negative/0 positive
Re: Java для разработчика VFP
smalin

Сообщений: 69
Откуда: Екатеринбург
Дата регистрации: 28.04.2006
У меня вопрос: Как настроить IntelliSense для классов OpenOffice в NetBeans 6.0?

Я когда набираю код - появляется список методов, а в описании метода написано
"JavaDoc Not Found... you have not added specified JavaDoc in the Java Platform Manager or the Library Manager"

В OOo_2.3_SDK было описано как подключить в NetBeans 3.0 - таких меню и окон, какие описаны в SDK, в NetBeans 6.0 нет, но даже если прописать в JavaPlatform Manager пути к SDK на вкладке JavaDoc - не помогает, пишу вот эти пути:
C:\Program Files\OpenOffice.org_2.3_SDK\docs\common\ref
C:\Program Files\OpenOffice.org_2.3_SDK\docs\java\ref

В OOo_2.4_SDK вообще не нашел раздела как к NetBeans подключить, зато там расписано про переменные среды в Installation Guide. Задание переменных среды тоже не увенчалось успехом. Причем скрипты, к-е там описаны и вроде бы настраивают среду автоматитически, требуют почему-то указать путь к компилятору GCC и архиватору ZIP (хотя, как следует из контекста GCC и ZIP - опционально).
Ratings: 0 negative/0 positive
Re: Java для разработчика VFP
smalin

Сообщений: 69
Откуда: Екатеринбург
Дата регистрации: 28.04.2006
И еще есть какая-либо оболочка, типа MSDN, чтоб просматривать SDK не в браузере, а более удобно? Постоянно приходится искать какой-либо метод или класс и смотреть как он функционирует. В данном случае я использую "Yandex персональный поиск" (на десктопе ищет), но это неудобно, тем более он находит все страницы, содержащие заданное слово, а не только имена классов/методов. И хотелось бы еще что-то по типу, как у MS "Applies to..." - кто кого наследует, какие классы используют заданные интерфейсы. Это все вобщем-то ведь есть, только как-то неудобно... или может непривычно пока.
Ratings: 0 negative/0 positive
Re: Java для разработчика VFP
Tapac

Сообщений: 560
Откуда: Альметьевск
Дата регистрации: 16.11.2000
smalin
И еще есть какая-либо оболочка, типа MSDN, чтоб просматривать SDK не в браузере, а более удобно? Постоянно приходится искать какой-либо метод или класс и смотреть как он функционирует. В данном случае я использую "Yandex персональный поиск" (на десктопе ищет), но это неудобно, тем более он находит все страницы, содержащие заданное слово, а не только имена классов/методов. И хотелось бы еще что-то по типу, как у MS "Applies to..." - кто кого наследует, какие классы используют заданные интерфейсы. Это все вобщем-то ведь есть, только как-то неудобно... или может непривычно пока.

В Java принят стандарт специальных комментариев в исходниках, по которым стандартной утилитой из JDK (javadoc.exe) может быть сгенерирована документация в html. Это JavaDoc.
Понятно, что Sun Java API собственной разработки тоже описывает в javadoc: java.sun.com.
Сейчас как правило в IDE в контексной справке по коду исходника сразу грузится страница из инета (Sun или разработчика API), хотя раньше помнится в JDeveloper можно было попасть на локальный предуставленной javadoc от sun.
Ratings: 0 negative/0 positive


Извините, только зарегистрированные пользователи могут оставлять сообщения в этом форуме.

On-line: 8 (Гостей: 8)

© 2000-2024 Fox Club 
Яндекс.Метрика