Yazar |
|
kitapkurdu
Kayıt: 24.09.2006 |
|
merhaba arkadaslar, java dan MSSQL server uzerindeki stored procedureleri cagirmak, sorgu yapmak gibi seyler yapmak istiyorum. server baglantisi kurabilmek icin sql server driver i gerekiyor galiba, (gerekmiyorda olabilir :)). sun in boyle bir driver i mevcutmudur, ya da daha once kullanip begendiginiz bir driver var midir?
tesekkureler.
|
|
Yazar |
|
mscamci
Kayıt: 09.02.2006 |
|
JDK'nın içinde built-in olan JDBC-ODBC Bridge'le bağlanabilirsin. Bu durumda driver gerekmez. Daha doğrusu bridge zaten driver ın kendisi. Ama tavsiye etmem, Type 1 driver olduğu için diğerlerinden daha yavaş çalışır (ya da öyle olduğu söylenir).
Driver üretmek Sun'ın işi değil db üreticisinin işi, şu adreste Microsoft'un kendi driver'ını bulabilirsin. Type 4'tür, en tavsiye edilenidir.
http://www.microsoft.com/downloads/details.aspx?FamilyID=4F8F2F01-1ED7-4C4D-8F7B-3D47969E66AE&displaylang=en
Şu adreste de jTDS'i bulabilirsin. Open source'tur, type 4'tür, hem SQL server'da hem sybase'de çalıştığı söylenir.
http://jtds.sourceforge.net/
Ama diyeceğim o ki Microsoft'un driver'ına da SQL Server'ın kendisine de güven olmaz. Çok sık verdiği bir hata var ki, -tam hatırlamıyorum ama, "Cannot find datasource" gibi birşey diyordu- bu hatayı sık sık ve her şey çalışır vaziyetteyken vermesi olası bir durumdur.
Topçu Onba?? - A?r?/Do?ubeyaz?t
|
|
Yazar |
|
kitapkurdu
Kayıt: 24.09.2006 |
|
tesekkurler mscamci, jtds driver i indirdim ve eclipse te builtpath -> Add Libraries den jar i ekledim projeye. yalniz simdide soyle bir problemim var. Basit olarak bir SP cagirayim dedim ama debug ederken surekli source not found hatasi yiyorum, DB hatasi midir bu? yoksa baska bir hatam mi var acaba?
|
|
Yazar |
|
orhan
istanbul
admin
Kayıt: 17.11.2005 |
|
o jtds nin kaynak kodudur buyuk bir ihtimalle. istersen kaynak kodunu indirip attach et o zaman daha detaylı dabug çıktısı gorebilirsin.
N/A
|
|
Yazar |
|
mscamci
Kayıt: 09.02.2006 |
|
Source not found olayını biraz açarsan yardımcı olabiliriz. Class not found mu? Yoksa Database/datasource not found mu? Stack trace'i falan buraya gönderirsen ya da en iyisi hata olarak verdiği cümleyi buraya yazarsan ya da Google'da aratırsan çözersin. Bir de her zaman için en düşük işlemden başla, mesela önce Connection sağlanıyor mu ona bir bak.
(Bu satırları yazdığım sırada çok şiddetli bir deprem oldu)
Topçu Onba?? - A?r?/Do?ubeyaz?t
|
|
Yazar |
|
orhan
istanbul
admin
Kayıt: 17.11.2005 |
|
debug yaparken F5 ile satırları dolaşırsın Attach Source derse F7 yapıp onu pas geçersin. F6 ise o an debug olan kodun çağırdığı dosyaya gitmesini engellersin
N/A
|
|
Yazar |
|
kitapkurdu
Kayıt: 24.09.2006 |
|
araya bayram tatili girince konu biraz sogudu ama sorunlar devam ediyor :). simdi de remote olarak oracle server a connection kurmaya calisirken "Got minus one from a read call" hatasi veriyor.
kod asagida ;
url : jdbc:oracle:thin:@IP:port:DBName
try {
Connection connection ;
Class.forName("oracle.jdbc.driver.OracleDriver");
connection = DriverManager.getConnection(url, username, pass);
connection.close();
} catch (SQLException e) {
System.out.println("SQLError : " + e.getMessage());
}
catch(ClassNotFoundException cnEx){
System.out.println("ClassError : " + cnEx.getMessage());
}
|
|
Yazar |
|
orhan
istanbul
admin
Kayıt: 17.11.2005 |
|
oracle 10.1 den sonra driverlarını değiştirdi. db sürümüne uygun jdbc driverını indir. oracle sana session vermiyor sanırım. kodda sorun yok.
N/A
|
|
Yazar |
|
kitapkurdu
Kayıt: 24.09.2006 |
|
Merhaba
Jdbc Odbc driver ile MS Sql server a baglanirken olusturulan connection string;
jdbc:odbc:dbname
olarak belirtiliyor. benim DB baska bir makinedeyse ip de belirtmem gerekiyor. yani remote olunce soyle mi oluyor;
jdbc:odbc:IP//DBName
|
|
Yazar |
|
mscamci
Kayıt: 09.02.2006 |
|
Şuna bak:
http://forum.java.sun.com/thread.jspa?threadID=556070&messageID=2726264
Şu cümle özetlemiş:
The JDBC-ODBC bridge is just a bridge between JDBC and ODBC and ODBC does not support remote data sources (i.e. data sources defined on other machines), so whateved JDBC-ODBC bridge you have it still won't work. However, ODBC does support local data sources that refer remote databases.
Topçu Onba?? - A?r?/Do?ubeyaz?t
|
|
Yazar |
|
orhan
istanbul
admin
Kayıt: 17.11.2005 |
|
odbc ilkel ve bir okadar gerzek bir teknolojidir.
http://jtds.sourceforge.net/ burdan gerekli jar dosyasını indir. claspath ine ekle gerekli dokumantasyonu sitesinde bulabilirsin
N/A
|
|
Yazar |
|
kitapkurdu
Kayıt: 24.09.2006 |
|
jtds driver i ile baglanmaya calisiyorum ama asagidaki hatayi aliyorum, sonra microsoft un kendi driver iyla login olmaya calisiyorum ama yine ayni "Login failed for user MyUser" hatasi aliyorum. Username ve password dogru ama login olamiyorum.
Birde beles bir MS SQL server client i biliyor musunuz?
java.sql.SQLException: Login failed for user 'MyUser'.
at net.sourceforge.jtds.jdbc.SQLDiagnostic.addDiagnostic(SQLDiagnostic.java:365)
at net.sourceforge.jtds.jdbc.TdsCore.tdsErrorToken(TdsCore.java:2781)
at net.sourceforge.jtds.jdbc.TdsCore.nextToken(TdsCore.java:2224)
at net.sourceforge.jtds.jdbc.TdsCore.login(TdsCore.java:599)
at net.sourceforge.jtds.jdbc.ConnectionJDBC2.<init>(ConnectionJDBC2.java:331)
at net.sourceforge.jtds.jdbc.ConnectionJDBC3.<init>(ConnectionJDBC3.java:50)
at net.sourceforge.jtds.jdbc.Driver.connect(Driver.java:178)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at com.argela.SP.getSPName.GetSP.main(GetSP.java:31)
|
|
Yazar |
|
orhan
istanbul
admin
Kayıt: 17.11.2005 |
|
sql server da "use sql server and windows authentication" diye bir seçenek olması lazım.
management konsolda servera sağ tık yapınca orda bir yerlerde olması lazım.
sql sp3a yı mutlaka kur.
üzerinde çalışacağın bir veritabanı oluştur.
onun için bir kullanıcı oluştur.
N/A
|
|
Yazar |
|
kitapkurdu
Kayıt: 24.09.2006 |
|
connection string im asagidaki sekilde. acaba securiy icin bir deger falan girmem gerekiyor mu?
jdbc:jtds:sqlserver://IP:Port/DBName;user=MyUser;password=MyPass
|
|
Yazar |
|
orhan
istanbul
admin
Kayıt: 17.11.2005 |
|
kitapkurdu yazdi | connection string im asagidaki sekilde. acaba securiy icin bir deger falan girmem gerekiyor mu?
jdbc:jtds:sqlserver://IP:Port/DBName;user=MyUser;password=MyPass |
kullanıcı adı MyUser ve şifresi MyPass diye bir kullanıcı var mı?
var ise bu kullanıcının mevcut veri tabanında işlem yetkisi var mı?
sp3a yı kurdun mu?
bağlantı stringi şöyle bir şeydir.
jdbc:jtds:sqlserver://127.0.0.1:1433/dbadi;user=dbkullanicisi;password=kullanicininsifresi
bağlantı yaptığın kodu buraya yazabilir misin?
N/A
|
|
|
|
-
Del.icio.us
-
Digg
-
Facebook
-
Furl
-
Google
-
Blink
-
Simpy
-
Spurl
-
Y! MyWeb
|
|
| | | | | | | | | | | |