From: | jasonvanbrackel(at)speakeasy(dot)net (Jason L(dot) van Brackel) |
---|---|
To: | pgsql-jdbc(at)postgresql(dot)org |
Subject: | Insert Row to ResultSet problem....java.sql.SQLException: No Primary Keys |
Date: | 2003-12-16 15:24:19 |
Message-ID: | 621ddc9b.0312160724.6c6955db@posting.google.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-jdbc pgsql-sql |
I'm migrating data from a poorly modeled MS Access 2000 DB to newly
developed PosgreSQL 7.4 DB. I'm connecting to the Access database
using a jdbc-odbc bridge driver. I'm connectin the postgreSQL DB
using the pg74jdbc3.jar driver.
public static void main(String[] args) {
String[] schools; // Array of SchoolCodes
MigrationUtil migr = new MigrationUtil();
// Connect to the Access Database
migr.connectToAccess("Access", "C:\\Working\\Access\\Access.mdb");
// Connect to the PostgreSQL Database
migr.connectToPostgreSQL("PostgreSQL_Test", "cimTux.cim.internal",
"5432");
// Get Schools List
System.out.println("Getting List of Schools from access.mdb");
schools = migr.resultSetToStringArray(migr.queryStatement(migr.ODBCConnection,
"SELECT ftno FROM tblmst WHERE ftcode ='SC'"));
// Start the Main Loop
for(int i = 0; i < schools.length; i++)
{
String currentSchool = schools[i]; // current School Code
ResultSet rs = null; // reusable ResultSet variable
String sql = null; // reusable SQL Statement String
int schoolContactID = 0; // current School ContactID
int schoolAddressID = 0; // current School AddressID
int eduOrgID = 0; // current EduOrganization ID
System.out.println("Current School: " + currentSchool);
// Get School information
sql = "SELECT FtDes, LenderAddress1, LenderCity, LenderState,
LenderZip, " + "LenderAddress2, fsch_code, EINNo FROM tblmst WHERE
ftcode = 'SC' AND ftno = '" + currentSchool + "';";
rs = migr.queryStatement(migr.ODBCConnection, sql);
// Update school address information
System.out.println("Migrating School Address Info");
try{
ResultSet addressInfo = null; // ResultSet for Address Info
sql = "SELECT * FROM address;";
addressInfo = migr.queryStatement(migr.postgreSQLConnection, sql);
addressInfo.moveToInsertRow();
..... this is where I get this exception
java.sql.SQLException: No Primary Keys
at org.postgresql.jdbc2.AbstractJdbc2ResultSet.isUpdateable(AbstractJdbc2ResultSet.java:1363)
at org.postgresql.jdbc2.AbstractJdbc2ResultSet.moveToInsertRow(AbstractJdbc2ResultSet.java:697)
at com.cimconsultants.EFRMigration.MigrationUtil.main(MigrationUtil.java:62)
Here is the queryStatement(Connection, String) Method
private ResultSet queryStatement(Connection con, String SQLStatement)
{
ResultSet rs = null;
try {
System.out.println("Query: " + SQLStatement);
Statement stmt =
con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_UPDATABLE);
rs = stmt.executeQuery(SQLStatement);
}catch(SQLException ex) {
System.out.println("Query SQL Exception");
ex.printStackTrace();
System.exit(0);
}
return rs;
}
I'm experienced with Java, but very new to JDBC and PostgreSQL. I'm
using the JDK 1.4, PostgreSQL 7.4, and the binary pg74jdbc3.jar
driver.
Thanks in advance,
Jason L. van Brackel
From | Date | Subject | |
---|---|---|---|
Next Message | Glenn Holmer | 2003-12-16 17:33:27 | sort question |
Previous Message | Dave Cramer | 2003-12-16 14:34:50 | Re: FW: OID, compatible=7.1 and getBinaryStream() in 7.4 |
From | Date | Subject | |
---|---|---|---|
Next Message | Alessandro Depase | 2003-12-16 15:34:06 | Re: failed to build any 5-way joins |
Previous Message | Richard Huxton | 2003-12-16 14:57:14 | Re: Pgaccess problem |