Simple Query Using XQJ












0















preface: The Oracle implementation might not be open source. The work-around appears to be to use saxonica.



How do I import OXQDataSource?



Oracle uses:



import oracle.xml.xquery.OXQDataSource;



But from where does this originate?



I'm not understanding what to import nor what JAR's should be on the classpath for the XQJ example 7-1 from the Oracle docs because I get error: package oracle.xml.xquery does not exist when trying to compile.



Is the package for XQJ under java.lang.Object?



compile error, package does not exist:



thufir@dur:~/NetBeansProjects/helloWorldBaseX$ 
thufir@dur:~/NetBeansProjects/helloWorldBaseX$ gradle clean run

> Task :compileJava FAILED
/home/thufir/NetBeansProjects/helloWorldBaseX/src/main/java/org/basex/examples/local/App.java:15: error: package oracle.xml.xquery does not exist
import oracle.xml.xquery.OXQDataSource;
^
/home/thufir/NetBeansProjects/helloWorldBaseX/src/main/java/org/basex/examples/local/App.java:46: error: cannot find symbol
OXQDataSource ds = new OXQDataSource();
^
symbol: class OXQDataSource
location: class App
/home/thufir/NetBeansProjects/helloWorldBaseX/src/main/java/org/basex/examples/local/App.java:46: error: cannot find symbol
OXQDataSource ds = new OXQDataSource();
^
symbol: class OXQDataSource
location: class App
3 errors

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':compileJava'.
> Compilation failed; see the compiler error output for details.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 0s
2 actionable tasks: 2 executed
thufir@dur:~/NetBeansProjects/helloWorldBaseX$


code with import:



package org.basex.examples.local;

import java.io.IOException;
import java.util.Properties;
import java.util.logging.Logger;
import javax.xml.xquery.XQConnection;
import javax.xml.xquery.XQException;
import javax.xml.xquery.XQPreparedExpression;
import javax.xml.xquery.XQSequence;
import org.basex.core.BaseXException;
import org.basex.core.Context;
import org.basex.core.cmd.CreateDB;
import org.basex.core.cmd.DropDB;
import org.basex.core.cmd.List;
import oracle.xml.xquery.OXQDataSource;

public final class App {

private static final Logger LOG = Logger.getLogger(App.class.getName());
private final Properties properties = new Properties();
private final Context context = new Context();

public static void main(String args) throws BaseXException, IOException {
LOG.fine("starting..");
new App().helloWorld();
}

private void list() throws BaseXException {
LOG.info(new List().execute(context));
}

private void helloWorld() throws BaseXException, IOException {
properties.loadFromXML(App.class.getResourceAsStream("/basex.xml"));
String databaseName = properties.getProperty("databaseName");
String databasePath = properties.getProperty("databasePath");

list();
new CreateDB(databaseName, databasePath).execute(context);
list();
new DropDB(databaseName).execute(context);
list();

}

private void oracleXQJ() throws XQException {
OXQDataSource ds = new OXQDataSource();
XQConnection con = ds.getConnection();
String query = "<hello-world>{1 + 1}</hello-world>";
XQPreparedExpression expr = con.prepareExpression(query);
XQSequence result = expr.executeQuery();
// prints "<hello-world>2</hello-world>"
System.out.println(result.getSequenceAsString(null));
result.close();
expr.close();
con.close();
}

}


I just threw that import statement in there to generate a specific error. What should be imported, and from what?



It's only this one class which is giving problems, for unknown reasons. Not sure how to import, nor what to put on the classpath for that import.





I see:



The lib directory contains these JAR and ZIP files:

classgen.jar
jdev-rt.zip
oraclexsql.jar
transx.zip
xml.jar
xml2.jar
xmldemo.jar
xmlmesg.jar
xmlparserv2.jar
xschema.jar
xsqlserializers.jar
xsu12.jar

The jlib directory contains these JAR files:

orai18n.jar
orai18n-collation.jar
orai18n-mapping.jar
orai18n-utility.jar


One of those, presumably, has OXQDataSource.










share|improve this question

























  • stackoverflow.com/a/30414539/262852 for an oracle solution.

    – Thufir
    Jan 1 at 22:35











  • perhaps duplicate of stackoverflow.com/q/24827273/262852

    – Thufir
    Jan 1 at 22:56











  • This was too broad for SO. asked here: softwarerecs.stackexchange.com/q/54194/13043

    – Thufir
    Jan 2 at 14:29
















0















preface: The Oracle implementation might not be open source. The work-around appears to be to use saxonica.



How do I import OXQDataSource?



Oracle uses:



import oracle.xml.xquery.OXQDataSource;



But from where does this originate?



I'm not understanding what to import nor what JAR's should be on the classpath for the XQJ example 7-1 from the Oracle docs because I get error: package oracle.xml.xquery does not exist when trying to compile.



Is the package for XQJ under java.lang.Object?



compile error, package does not exist:



thufir@dur:~/NetBeansProjects/helloWorldBaseX$ 
thufir@dur:~/NetBeansProjects/helloWorldBaseX$ gradle clean run

> Task :compileJava FAILED
/home/thufir/NetBeansProjects/helloWorldBaseX/src/main/java/org/basex/examples/local/App.java:15: error: package oracle.xml.xquery does not exist
import oracle.xml.xquery.OXQDataSource;
^
/home/thufir/NetBeansProjects/helloWorldBaseX/src/main/java/org/basex/examples/local/App.java:46: error: cannot find symbol
OXQDataSource ds = new OXQDataSource();
^
symbol: class OXQDataSource
location: class App
/home/thufir/NetBeansProjects/helloWorldBaseX/src/main/java/org/basex/examples/local/App.java:46: error: cannot find symbol
OXQDataSource ds = new OXQDataSource();
^
symbol: class OXQDataSource
location: class App
3 errors

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':compileJava'.
> Compilation failed; see the compiler error output for details.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 0s
2 actionable tasks: 2 executed
thufir@dur:~/NetBeansProjects/helloWorldBaseX$


code with import:



package org.basex.examples.local;

import java.io.IOException;
import java.util.Properties;
import java.util.logging.Logger;
import javax.xml.xquery.XQConnection;
import javax.xml.xquery.XQException;
import javax.xml.xquery.XQPreparedExpression;
import javax.xml.xquery.XQSequence;
import org.basex.core.BaseXException;
import org.basex.core.Context;
import org.basex.core.cmd.CreateDB;
import org.basex.core.cmd.DropDB;
import org.basex.core.cmd.List;
import oracle.xml.xquery.OXQDataSource;

public final class App {

private static final Logger LOG = Logger.getLogger(App.class.getName());
private final Properties properties = new Properties();
private final Context context = new Context();

public static void main(String args) throws BaseXException, IOException {
LOG.fine("starting..");
new App().helloWorld();
}

private void list() throws BaseXException {
LOG.info(new List().execute(context));
}

private void helloWorld() throws BaseXException, IOException {
properties.loadFromXML(App.class.getResourceAsStream("/basex.xml"));
String databaseName = properties.getProperty("databaseName");
String databasePath = properties.getProperty("databasePath");

list();
new CreateDB(databaseName, databasePath).execute(context);
list();
new DropDB(databaseName).execute(context);
list();

}

private void oracleXQJ() throws XQException {
OXQDataSource ds = new OXQDataSource();
XQConnection con = ds.getConnection();
String query = "<hello-world>{1 + 1}</hello-world>";
XQPreparedExpression expr = con.prepareExpression(query);
XQSequence result = expr.executeQuery();
// prints "<hello-world>2</hello-world>"
System.out.println(result.getSequenceAsString(null));
result.close();
expr.close();
con.close();
}

}


I just threw that import statement in there to generate a specific error. What should be imported, and from what?



It's only this one class which is giving problems, for unknown reasons. Not sure how to import, nor what to put on the classpath for that import.





I see:



The lib directory contains these JAR and ZIP files:

classgen.jar
jdev-rt.zip
oraclexsql.jar
transx.zip
xml.jar
xml2.jar
xmldemo.jar
xmlmesg.jar
xmlparserv2.jar
xschema.jar
xsqlserializers.jar
xsu12.jar

The jlib directory contains these JAR files:

orai18n.jar
orai18n-collation.jar
orai18n-mapping.jar
orai18n-utility.jar


One of those, presumably, has OXQDataSource.










share|improve this question

























  • stackoverflow.com/a/30414539/262852 for an oracle solution.

    – Thufir
    Jan 1 at 22:35











  • perhaps duplicate of stackoverflow.com/q/24827273/262852

    – Thufir
    Jan 1 at 22:56











  • This was too broad for SO. asked here: softwarerecs.stackexchange.com/q/54194/13043

    – Thufir
    Jan 2 at 14:29














0












0








0








preface: The Oracle implementation might not be open source. The work-around appears to be to use saxonica.



How do I import OXQDataSource?



Oracle uses:



import oracle.xml.xquery.OXQDataSource;



But from where does this originate?



I'm not understanding what to import nor what JAR's should be on the classpath for the XQJ example 7-1 from the Oracle docs because I get error: package oracle.xml.xquery does not exist when trying to compile.



Is the package for XQJ under java.lang.Object?



compile error, package does not exist:



thufir@dur:~/NetBeansProjects/helloWorldBaseX$ 
thufir@dur:~/NetBeansProjects/helloWorldBaseX$ gradle clean run

> Task :compileJava FAILED
/home/thufir/NetBeansProjects/helloWorldBaseX/src/main/java/org/basex/examples/local/App.java:15: error: package oracle.xml.xquery does not exist
import oracle.xml.xquery.OXQDataSource;
^
/home/thufir/NetBeansProjects/helloWorldBaseX/src/main/java/org/basex/examples/local/App.java:46: error: cannot find symbol
OXQDataSource ds = new OXQDataSource();
^
symbol: class OXQDataSource
location: class App
/home/thufir/NetBeansProjects/helloWorldBaseX/src/main/java/org/basex/examples/local/App.java:46: error: cannot find symbol
OXQDataSource ds = new OXQDataSource();
^
symbol: class OXQDataSource
location: class App
3 errors

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':compileJava'.
> Compilation failed; see the compiler error output for details.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 0s
2 actionable tasks: 2 executed
thufir@dur:~/NetBeansProjects/helloWorldBaseX$


code with import:



package org.basex.examples.local;

import java.io.IOException;
import java.util.Properties;
import java.util.logging.Logger;
import javax.xml.xquery.XQConnection;
import javax.xml.xquery.XQException;
import javax.xml.xquery.XQPreparedExpression;
import javax.xml.xquery.XQSequence;
import org.basex.core.BaseXException;
import org.basex.core.Context;
import org.basex.core.cmd.CreateDB;
import org.basex.core.cmd.DropDB;
import org.basex.core.cmd.List;
import oracle.xml.xquery.OXQDataSource;

public final class App {

private static final Logger LOG = Logger.getLogger(App.class.getName());
private final Properties properties = new Properties();
private final Context context = new Context();

public static void main(String args) throws BaseXException, IOException {
LOG.fine("starting..");
new App().helloWorld();
}

private void list() throws BaseXException {
LOG.info(new List().execute(context));
}

private void helloWorld() throws BaseXException, IOException {
properties.loadFromXML(App.class.getResourceAsStream("/basex.xml"));
String databaseName = properties.getProperty("databaseName");
String databasePath = properties.getProperty("databasePath");

list();
new CreateDB(databaseName, databasePath).execute(context);
list();
new DropDB(databaseName).execute(context);
list();

}

private void oracleXQJ() throws XQException {
OXQDataSource ds = new OXQDataSource();
XQConnection con = ds.getConnection();
String query = "<hello-world>{1 + 1}</hello-world>";
XQPreparedExpression expr = con.prepareExpression(query);
XQSequence result = expr.executeQuery();
// prints "<hello-world>2</hello-world>"
System.out.println(result.getSequenceAsString(null));
result.close();
expr.close();
con.close();
}

}


I just threw that import statement in there to generate a specific error. What should be imported, and from what?



It's only this one class which is giving problems, for unknown reasons. Not sure how to import, nor what to put on the classpath for that import.





I see:



The lib directory contains these JAR and ZIP files:

classgen.jar
jdev-rt.zip
oraclexsql.jar
transx.zip
xml.jar
xml2.jar
xmldemo.jar
xmlmesg.jar
xmlparserv2.jar
xschema.jar
xsqlserializers.jar
xsu12.jar

The jlib directory contains these JAR files:

orai18n.jar
orai18n-collation.jar
orai18n-mapping.jar
orai18n-utility.jar


One of those, presumably, has OXQDataSource.










share|improve this question
















preface: The Oracle implementation might not be open source. The work-around appears to be to use saxonica.



How do I import OXQDataSource?



Oracle uses:



import oracle.xml.xquery.OXQDataSource;



But from where does this originate?



I'm not understanding what to import nor what JAR's should be on the classpath for the XQJ example 7-1 from the Oracle docs because I get error: package oracle.xml.xquery does not exist when trying to compile.



Is the package for XQJ under java.lang.Object?



compile error, package does not exist:



thufir@dur:~/NetBeansProjects/helloWorldBaseX$ 
thufir@dur:~/NetBeansProjects/helloWorldBaseX$ gradle clean run

> Task :compileJava FAILED
/home/thufir/NetBeansProjects/helloWorldBaseX/src/main/java/org/basex/examples/local/App.java:15: error: package oracle.xml.xquery does not exist
import oracle.xml.xquery.OXQDataSource;
^
/home/thufir/NetBeansProjects/helloWorldBaseX/src/main/java/org/basex/examples/local/App.java:46: error: cannot find symbol
OXQDataSource ds = new OXQDataSource();
^
symbol: class OXQDataSource
location: class App
/home/thufir/NetBeansProjects/helloWorldBaseX/src/main/java/org/basex/examples/local/App.java:46: error: cannot find symbol
OXQDataSource ds = new OXQDataSource();
^
symbol: class OXQDataSource
location: class App
3 errors

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':compileJava'.
> Compilation failed; see the compiler error output for details.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 0s
2 actionable tasks: 2 executed
thufir@dur:~/NetBeansProjects/helloWorldBaseX$


code with import:



package org.basex.examples.local;

import java.io.IOException;
import java.util.Properties;
import java.util.logging.Logger;
import javax.xml.xquery.XQConnection;
import javax.xml.xquery.XQException;
import javax.xml.xquery.XQPreparedExpression;
import javax.xml.xquery.XQSequence;
import org.basex.core.BaseXException;
import org.basex.core.Context;
import org.basex.core.cmd.CreateDB;
import org.basex.core.cmd.DropDB;
import org.basex.core.cmd.List;
import oracle.xml.xquery.OXQDataSource;

public final class App {

private static final Logger LOG = Logger.getLogger(App.class.getName());
private final Properties properties = new Properties();
private final Context context = new Context();

public static void main(String args) throws BaseXException, IOException {
LOG.fine("starting..");
new App().helloWorld();
}

private void list() throws BaseXException {
LOG.info(new List().execute(context));
}

private void helloWorld() throws BaseXException, IOException {
properties.loadFromXML(App.class.getResourceAsStream("/basex.xml"));
String databaseName = properties.getProperty("databaseName");
String databasePath = properties.getProperty("databasePath");

list();
new CreateDB(databaseName, databasePath).execute(context);
list();
new DropDB(databaseName).execute(context);
list();

}

private void oracleXQJ() throws XQException {
OXQDataSource ds = new OXQDataSource();
XQConnection con = ds.getConnection();
String query = "<hello-world>{1 + 1}</hello-world>";
XQPreparedExpression expr = con.prepareExpression(query);
XQSequence result = expr.executeQuery();
// prints "<hello-world>2</hello-world>"
System.out.println(result.getSequenceAsString(null));
result.close();
expr.close();
con.close();
}

}


I just threw that import statement in there to generate a specific error. What should be imported, and from what?



It's only this one class which is giving problems, for unknown reasons. Not sure how to import, nor what to put on the classpath for that import.





I see:



The lib directory contains these JAR and ZIP files:

classgen.jar
jdev-rt.zip
oraclexsql.jar
transx.zip
xml.jar
xml2.jar
xmldemo.jar
xmlmesg.jar
xmlparserv2.jar
xschema.jar
xsqlserializers.jar
xsu12.jar

The jlib directory contains these JAR files:

orai18n.jar
orai18n-collation.jar
orai18n-mapping.jar
orai18n-utility.jar


One of those, presumably, has OXQDataSource.







java classpath sax saxon saxparser






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Jan 1 at 22:25







Thufir

















asked Jan 1 at 22:04









ThufirThufir

3,1761771163




3,1761771163













  • stackoverflow.com/a/30414539/262852 for an oracle solution.

    – Thufir
    Jan 1 at 22:35











  • perhaps duplicate of stackoverflow.com/q/24827273/262852

    – Thufir
    Jan 1 at 22:56











  • This was too broad for SO. asked here: softwarerecs.stackexchange.com/q/54194/13043

    – Thufir
    Jan 2 at 14:29



















  • stackoverflow.com/a/30414539/262852 for an oracle solution.

    – Thufir
    Jan 1 at 22:35











  • perhaps duplicate of stackoverflow.com/q/24827273/262852

    – Thufir
    Jan 1 at 22:56











  • This was too broad for SO. asked here: softwarerecs.stackexchange.com/q/54194/13043

    – Thufir
    Jan 2 at 14:29

















stackoverflow.com/a/30414539/262852 for an oracle solution.

– Thufir
Jan 1 at 22:35





stackoverflow.com/a/30414539/262852 for an oracle solution.

– Thufir
Jan 1 at 22:35













perhaps duplicate of stackoverflow.com/q/24827273/262852

– Thufir
Jan 1 at 22:56





perhaps duplicate of stackoverflow.com/q/24827273/262852

– Thufir
Jan 1 at 22:56













This was too broad for SO. asked here: softwarerecs.stackexchange.com/q/54194/13043

– Thufir
Jan 2 at 14:29





This was too broad for SO. asked here: softwarerecs.stackexchange.com/q/54194/13043

– Thufir
Jan 2 at 14:29












1 Answer
1






active

oldest

votes


















1














The design of XQJ is that you start by creating a data source representing a particular XQuery engine and database, you then establish a connection from your application to that data source, and then you use standard interfaces to execute queries against the data source. In principle, if you want to switch to a different query engine, you just need to instantiate a different data source. So if you want to switch from Oracle to Saxon, you instantiate a Saxon DataSource rather than an Oracle DataSource.






share|improve this answer
























  • To clarify: softwarerecs.stackexchange.com/q/54194/13043 It's so much material to slog through only to potentially find out that the technology isn't the right fit.

    – Thufir
    Jan 2 at 14:31











  • Unfortunately for you, it's probably easier for you to learn about the available technologies than for an outsider to learn about your project requirements. But if you want to save time and improve your chances of making a good technology choice, then hiring a consultant who knows the technology and will spend time understanding your needs is often a good option.

    – Michael Kay
    Jan 2 at 15:13













Your Answer






StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");

StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});

function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});


}
});














draft saved

draft discarded


















StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53999298%2fsimple-query-using-xqj%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown

























1 Answer
1






active

oldest

votes








1 Answer
1






active

oldest

votes









active

oldest

votes






active

oldest

votes









1














The design of XQJ is that you start by creating a data source representing a particular XQuery engine and database, you then establish a connection from your application to that data source, and then you use standard interfaces to execute queries against the data source. In principle, if you want to switch to a different query engine, you just need to instantiate a different data source. So if you want to switch from Oracle to Saxon, you instantiate a Saxon DataSource rather than an Oracle DataSource.






share|improve this answer
























  • To clarify: softwarerecs.stackexchange.com/q/54194/13043 It's so much material to slog through only to potentially find out that the technology isn't the right fit.

    – Thufir
    Jan 2 at 14:31











  • Unfortunately for you, it's probably easier for you to learn about the available technologies than for an outsider to learn about your project requirements. But if you want to save time and improve your chances of making a good technology choice, then hiring a consultant who knows the technology and will spend time understanding your needs is often a good option.

    – Michael Kay
    Jan 2 at 15:13


















1














The design of XQJ is that you start by creating a data source representing a particular XQuery engine and database, you then establish a connection from your application to that data source, and then you use standard interfaces to execute queries against the data source. In principle, if you want to switch to a different query engine, you just need to instantiate a different data source. So if you want to switch from Oracle to Saxon, you instantiate a Saxon DataSource rather than an Oracle DataSource.






share|improve this answer
























  • To clarify: softwarerecs.stackexchange.com/q/54194/13043 It's so much material to slog through only to potentially find out that the technology isn't the right fit.

    – Thufir
    Jan 2 at 14:31











  • Unfortunately for you, it's probably easier for you to learn about the available technologies than for an outsider to learn about your project requirements. But if you want to save time and improve your chances of making a good technology choice, then hiring a consultant who knows the technology and will spend time understanding your needs is often a good option.

    – Michael Kay
    Jan 2 at 15:13
















1












1








1







The design of XQJ is that you start by creating a data source representing a particular XQuery engine and database, you then establish a connection from your application to that data source, and then you use standard interfaces to execute queries against the data source. In principle, if you want to switch to a different query engine, you just need to instantiate a different data source. So if you want to switch from Oracle to Saxon, you instantiate a Saxon DataSource rather than an Oracle DataSource.






share|improve this answer













The design of XQJ is that you start by creating a data source representing a particular XQuery engine and database, you then establish a connection from your application to that data source, and then you use standard interfaces to execute queries against the data source. In principle, if you want to switch to a different query engine, you just need to instantiate a different data source. So if you want to switch from Oracle to Saxon, you instantiate a Saxon DataSource rather than an Oracle DataSource.







share|improve this answer












share|improve this answer



share|improve this answer










answered Jan 2 at 0:22









Michael KayMichael Kay

111k663119




111k663119













  • To clarify: softwarerecs.stackexchange.com/q/54194/13043 It's so much material to slog through only to potentially find out that the technology isn't the right fit.

    – Thufir
    Jan 2 at 14:31











  • Unfortunately for you, it's probably easier for you to learn about the available technologies than for an outsider to learn about your project requirements. But if you want to save time and improve your chances of making a good technology choice, then hiring a consultant who knows the technology and will spend time understanding your needs is often a good option.

    – Michael Kay
    Jan 2 at 15:13





















  • To clarify: softwarerecs.stackexchange.com/q/54194/13043 It's so much material to slog through only to potentially find out that the technology isn't the right fit.

    – Thufir
    Jan 2 at 14:31











  • Unfortunately for you, it's probably easier for you to learn about the available technologies than for an outsider to learn about your project requirements. But if you want to save time and improve your chances of making a good technology choice, then hiring a consultant who knows the technology and will spend time understanding your needs is often a good option.

    – Michael Kay
    Jan 2 at 15:13



















To clarify: softwarerecs.stackexchange.com/q/54194/13043 It's so much material to slog through only to potentially find out that the technology isn't the right fit.

– Thufir
Jan 2 at 14:31





To clarify: softwarerecs.stackexchange.com/q/54194/13043 It's so much material to slog through only to potentially find out that the technology isn't the right fit.

– Thufir
Jan 2 at 14:31













Unfortunately for you, it's probably easier for you to learn about the available technologies than for an outsider to learn about your project requirements. But if you want to save time and improve your chances of making a good technology choice, then hiring a consultant who knows the technology and will spend time understanding your needs is often a good option.

– Michael Kay
Jan 2 at 15:13







Unfortunately for you, it's probably easier for you to learn about the available technologies than for an outsider to learn about your project requirements. But if you want to save time and improve your chances of making a good technology choice, then hiring a consultant who knows the technology and will spend time understanding your needs is often a good option.

– Michael Kay
Jan 2 at 15:13






















draft saved

draft discarded




















































Thanks for contributing an answer to Stack Overflow!


  • Please be sure to answer the question. Provide details and share your research!

But avoid



  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.


To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53999298%2fsimple-query-using-xqj%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

MongoDB - Not Authorized To Execute Command

in spring boot 2.1 many test slices are not allowed anymore due to multiple @BootstrapWith

How to fix TextFormField cause rebuild widget in Flutter