argon bulletin board

Факултети => Факултет по математика и информатика => Темата е започната от: SG в 28.03.2010, 10:51:45

Титла: Jbuilder2006 & SQL Server 2005
Публикувано от: SG в 28.03.2010, 10:51:45
Здравейте колеги

Интересуваме някой настройвал ли е jbuilder 2006 да работи с SQL Server 2005? Ако някой е успял ще бъда благодарен да сподели опита си.
Титла: Re:Jbuilder2006 & SQL Server 2005
Публикувано от: Владо в 29.03.2010, 13:03:07
SQL Server 2005 заедно с Visual Studio-то ли го инсталира ?
Титла: Re:Jbuilder2006 & SQL Server 2005
Публикувано от: Владо в 29.03.2010, 13:40:45
Общо взето това, което трябва да направиш е следното :
1. Инсталираш си JDBC Driver за SQL Server 2005 и добавяш пътя до него в CLASSPATH или в BuiltPath на JBuilder-a
JDBC Driver-а може да го свалиш от тук http://www.microsoft.com/downloads/details.aspx?FamilyId=C47053EB-3B64-4794-950D-81E1EC91C1BA&displaylang=en (http://www.microsoft.com/downloads/details.aspx?FamilyId=C47053EB-3B64-4794-950D-81E1EC91C1BA&displaylang=en)

2. Да настроиш SQL сървъра, допускам, че вероятно си го инсталирал с VisualStudio(и не си променял настройките) и искаш да го ползваш през TCP/IP. Ето как става:
TCP/IP е disabled by default, това се променя от SQL Server Configuration Manager :
SQL Server 2005 Network Configuration >> Protocols for SQLEXPRESS >> TCP/IP - Enabled
SQL Server 2005 Network Configuration >> Protocols for SQLEXPRESS >> TCP/IP >> Properties >> IP Addresses >> IPALL >> TCP Port - 1433


За Authentication може да използваш Integrated Authentication или username/password.

Integrated Authentication :
Зада заработи трябва да се копира един от .dll файловете \x86\sqljdbc_auth.dll(за x86 процесори) или \x64\sqljdbc_auth.dll (за x64 процесори) в директория която е записана в Windows system path.
.dll файловете се намират в <мястото където е инсталиран JDBC драйвъра>\Microsoft SQL Server 2005 JDBC Driver\sqljdbc_1.1\enu\auth

Например копираш файла в c:\Program Files\Microsoft SQL Server\90\Tools\binn\ директорията, но за всеки случай виж дали я има в Enviroment Variables - Path

Username/password authentication:
По default "sa" акаунта e disabled, тогава трябва или да се създаде нов акаунт или да се активира "sa". Активирането става със следната SQL заявка
ALTER LOGIN sa ENABLE ;
GO
ALTER LOGIN sa WITH PASSWORD = 'желаната парола' ;
GO

В MSDN има описани и други начини

3. Тест

import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.DriverManager;
import java.sql.SQLException;

public class JDBCtest {

public static void main(String[] args) throws SQLException {

DriverManager
  .registerDriver(new com.microsoft.sqlserver.jdbc.SQLServerDriver());
Connection connection = null;
String connectionUrl = "jdbc:sqlserver://localhost;integratedSecurity=true;";
try {

 connection = DriverManager.getConnection(connectionUrl);
 DatabaseMetaData meta = connection.getMetaData();

 System.out.println("Driver name: " + meta.getDriverName());
 System.out.println("Driver version: " + meta.getDriverVersion());
 connection.close();

} catch (SQLException se) {
 System.out.println("ERROR: " + se.getMessage());
 se.printStackTrace();
}

}
}

При username/password Authentication :

String connectionUrl = "jdbc:sqlserver://localhost:1433;user=MyUserName;password=*****";

Друг вариант за регистриране на драйвъра, който вече не е необходим, но все още се поддържа, е вместо

DriverManager
  .registerDriver(new com.microsoft.sqlserver.jdbc.SQLServerDriver());

да се използва

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
Титла: Re:Jbuilder2006 & SQL Server 2005
Публикувано от: Владо в 29.03.2010, 13:57:06
Обърнах внимание, че въпроса ти беше
Цитат
някой настройвал ли е jbuilder 2006 да работи с SQL Server 2005
, уточни дали искаш да ползваш JBuilder за да извършваш някакъв вид администрация(пускане/спиране) над SQL Server или просто искаш кода да ти работи и можеш да отвориш connection към базата.
Титла: Re:Jbuilder2006 & SQL Server 2005
Публикувано от: SG в 29.03.2010, 16:35:33
Благодаря за отговора. Проблема ми беше точно с CLASSPATH. Другите неща са ми ясни. Само не разбрах къде трябва да го посоча този CLASSPATH- някъде в jbuilder-a или във Envirement Variables на Win-a. Просто искам да работя с SQL Server както си работя с JDC-то. Ако може драсни ми на ЛС скайпа си. Благодаря предварително :)
Титла: Re:Jbuilder2006 & SQL Server 2005
Публикувано от: Владо в 29.03.2010, 16:49:19
В Envirement Variables на Win-a трябва да имаш System Variable - CLASSPATH, но може и да нямаш, зависи дали и как си инсталирал JDK-то,  не съм работил с JBuilder, но предполагам аналогично на Eclipse има възможност да си конфигурираш Builth Path-а