Reputation: 41
I know that this question has been asked many times... BUT it was always referring to JAVA. not this time
Any advice how add this driver to visual studio?
CODE in C#:
try{
DerbyNET derbyDB = new DerbyNET(@"\\serveraddress\sql\db; create=false");
if (!derbyDB.openConnection()){
//Error opening Derby DB
Console.WriteLine("not connected");
return;
}
DataTable oDT = derbyDB.getRS("SELECT * FROM admin.user_data") as DataTable;
if (oDT.Columns[0].ColumnName == "Erro"){
//Read the ** ERRORS ** section below
Thread.Sleep(1000);
oDT = derbyDB.getRS("SELECT * FROM FROM admin.user_data") as DataTable;
}
else if (oDT.Rows.Count == 1 && oDT.Columns.Count == 1){
//Some error occured
String strError = derbyDB.getLastError();
return;
}
foreach (DataRow row in oDT.Rows){
Console.WriteLine("---ROW---");
foreach (var item in row.ItemArray){
Console.Write("Item: ");
Console.WriteLine(item);
}
}
derbyDB.closeConnection();
}
catch (Exception ex){
Console.WriteLine(ex.Message);
}
CODE in JAVA:
try{
{
con = DriverManager.getConnection("jdbc:derby:\\\\serveraddress\\sql\\db;create=false");
Statement sta = con.createStatement();
ResultSet res = sta.executeQuery("SELECT * FROM ADMIN.USER_DATA");
[email protected]("ADMIN.USER_DATA: ");
while (res.next()){
[email protected](" " + res.getString("USERID") + ", " + res.getString("PASSWORD") + ", " + res.getString("FIRST_NAME") + ", " + res.getString("LAST_NAME") +
", " + res.getString("EMAIL"));
}
res.close();
sta.close();
con.close();
}
}
catch (System.Exception e){
{
java.lang.System.err.println("Exception: " + e.getMessage());
}
}
Upvotes: 1
Views: 562
Reputation: 41
I have figured out the issue. 1) two libraries derbytools.jar and derby.jar have to be compiled via ikvmc to .dll and add as reference 2) need to add NuGet package "IKVM.OpenJDK.Jdbc and IKVM.OpenJDK.Core 3) current code is (C#):
using System;
using System.Diagnostics;
using java.sql;
DriverManager.registerDriver(new org.apache.derby.jdbc.EmbeddedDriver());
Connection derbyConn = DriverManager.getConnection("jdbc:derby:\\\\serveraddress\\directory\\sql\\db;create=false");
Statement sta = derbyConn.createStatement();
ResultSet res = sta.executeQuery("SELECT * FROM tablename");
[email protected]("tablename: ");
while (res.next())
{
[email protected](" " + res.getString("1stColumn") + ", " + res.getString("2ndColumn"));
}
res.close()
sta.close();
derbyConn.close();
Upvotes: 2