Quantcast
Channel: MySQL Forums - Connector/J, JDBC and Java
Viewing all 884 articles
Browse latest View live

TYPE_FORWARD_ONLY, CONCUR_READ_ONLY and setFetchSize (no replies)

$
0
0
In relation to the following quote, can I setFetchSize to an other value such as 100 and still get the forward-only fetch?

"The combination of a forward-only, read-only result set, with a fetch size of Integer.MIN_VALUE serves as a signal to the driver to stream result sets row-by-row. After this, any result sets created with the statement will be retrieved row-by-row."

mysql Communications link failure during commit(). Transaction resolution unknown when etl (no replies)

$
0
0
HI: We are working with mysql 5.6.21 and mysql-connector-java-5.1.17.jar. We do ETL operation, From source DB ingest 300000 data store at mysql. The situation is split data to 3000*100 records,every 100 records commit once at all. do 3000 loops insert operation.
We got the below exceptions high frequency,
com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Communications link failure during commit(). Transaction resolution unknown.
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[na:1.8.0_92]
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[na:1.8.0_92]
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[na:1.8.0_92]
at java.lang.reflect.Constructor.newInstance(Constructor.java:423) ~[na:1.8.0_92]
at com.mysql.jdbc.Util.handleNewInstance(Util.java:411) ~[na:na]
at com.mysql.jdbc.Util.getInstance(Util.java:386) ~[na:na]
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1013) ~[na:na]
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:987) ~[na:na]
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:982) ~[na:na]
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:927) ~[na:na]
at com.mysql.jdbc.ConnectionImpl.commit(ConnectionImpl.java:1665) ~[na:na]
at org.apache.commons.dbcp.DelegatingConnection.commit(DelegatingConnection.java:334) ~[na:na]
at org.apache.commons.dbcp.PoolingDataSource$PoolGuardConnectionWrapper.commit(PoolingDataSource.java:211) ~[na:na]

what is the root cause?
Thank you very much.
Paul

Connecting with DB Visualizer (no replies)

$
0
0
I just updated to mySQL 8.0.2.
I have been connecting to the previous version (5.7) via DB Visualizer with no problems at all.
Since the upgrade, I get a connection error with DB Visualizer, even though all the settings are the same. Strangely, I can successfully connect to mySQL with mySqlWorkbench (from the same computer, with the same settings).

Although I like mySqlWorkbench, I also need DB Visualizer for a couple of work tasks. Has anyone else had this problem?

Below is the actual error I get with DB Visualizer, FYI.

Thanks!


An error occurred while establishing the connection:

Long Message:
Could not create connection to database server.

Details:
   Type: com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException
   SQL State: 08001

Native MySql Connector to LibreOffice 5.1.6.2 (no replies)

$
0
0
I have a new installation of Ubuntu 16.04.3.

I am trying to get LibreOffice 5.1.6.2 Base up and running so it will access MySql databases. I see in many places on the internet that there is supposed to be a Native Connector for MySql to LibreOffice Base. There is nothing that I can find above LibreOffice Base 4.xxx. I would like to know if there is such a thing and, if not, where I can get a driver to do the job.

Thanks R

[Q] Best method to create a rest api with an already existing database. (no replies)

$
0
0
I am trying to develop a RESTful web service with Java and most of the examples are creating the database from scratch. Javascript let us access the database and create it but the people that we are creating this project for asked us to switch to Java. We want to access and use the existing database we created and create the restful service.

We have tried using spring, gradle, and jersey. Most of the guides are for making a connection and creating the database but not using an existing one already.

Can you create a MySQL JDBC connection string that has different hosts but the same port? (no replies)

$
0
0
Currently, I am unable to get this to work! Here is what I have:

jdbcUrl": "jdbc:mysql://sandbox.mikestest.com:20192,sandbox2.mikestest.com:20192/test?secondsBeforeRetryMaster=5&useSSL=false&user=mike&password=mike"

I only have the first host running and I get a 500 error when trying to write to the database. This same setup works fine when I am on different ports.

Help with mysql connector java 6.x+ (no replies)

$
0
0
Hi, i tryed updating the mysql connector in the gerrit project from 5.1 to 6.x. But it is failing because it is not applying the schema correctly now.

I think it is caused by https://github.com/mysql/mysql-connector-j/commit/3d3d0c157491d98b077429e0a5e23331dc69b0b0#diff-6a68eedf6a3f272bae764dc0ecc4eba8 but no evidence yet, ie haven't been able to revert it to try. But the traceback here

Exception in thread "main" com.google.gwtorm.server.OrmException: insert failure on schema_version
at com.google.gwtorm.schema.sql.SqlDialect.convertError(SqlDialect.java:159)
at com.google.gwtorm.schema.sql.DialectMySQL.convertError(DialectMySQL.java:230)
at com.google.gwtorm.jdbc.JdbcAccess.convertError(JdbcAccess.java:484)
at com.google.gwtorm.jdbc.JdbcAccess.insert(JdbcAccess.java:169)
at com.google.gerrit.server.schema.SchemaCreator.create(SchemaCreator.java:89)
at com.google.gerrit.server.schema.SchemaUpdater.update(SchemaUpdater.java:111)
at com.google.gerrit.pgm.init.BaseInit$SiteRun.upgradeSchema(BaseInit.java:388)
at com.google.gerrit.pgm.init.BaseInit.run(BaseInit.java:145)
at com.google.gerrit.pgm.util.AbstractProgram.main(AbstractProgram.java:61)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.google.gerrit.launcher.GerritLauncher.invokeProgram(GerritLauncher.java:203)
at com.google.gerrit.launcher.GerritLauncher.mainImpl(GerritLauncher.java:108)
at com.google.gerrit.launcher.GerritLauncher.main(GerritLauncher.java:63)
at Main.main(Main.java:24)
Caused by: java.sql.BatchUpdateException: Table 'reviewdb4.schema_version' doesn't exist
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at com.mysql.cj.core.util.Util.handleNewInstance(Util.java:185)
at com.mysql.cj.core.util.Util.getInstance(Util.java:168)
at com.mysql.cj.core.util.Util.getInstance(Util.java:175)
at com.mysql.cj.jdbc.exceptions.SQLError.createBatchUpdateException(SQLError.java:212)
at com.mysql.cj.jdbc.PreparedStatement.executeBatchedInserts(PreparedStatement.java:1545)
at com.mysql.cj.jdbc.PreparedStatement.executeBatchInternal(PreparedStatement.java:1210)
at com.mysql.cj.jdbc.StatementImpl.executeBatch(StatementImpl.java:1020)
at com.google.gwtorm.schema.sql.SqlDialect.executeBatch(SqlDialect.java:435)
at com.google.gwtorm.jdbc.JdbcAccess.execute(JdbcAccess.java:455)
at com.google.gwtorm.jdbc.JdbcAccess.insertAsBatch(JdbcAccess.java:213)
at com.google.gwtorm.jdbc.JdbcAccess.insert(JdbcAccess.java:164)
... 13 more
Caused by: java.sql.SQLSyntaxErrorException: Table 'reviewdb4.schema_version' doesn't exist
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:112)
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:89)
at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:116)
at com.mysql.cj.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1867)
at com.mysql.cj.jdbc.PreparedStatement.executeUpdateInternal(PreparedStatement.java:2029)
at com.mysql.cj.jdbc.PreparedStatement.executeUpdateInternal(PreparedStatement.java:1970)
at com.mysql.cj.jdbc.PreparedStatement.executeLargeUpdate(PreparedStatement.java:4996)
at com.mysql.cj.jdbc.PreparedStatement.executeBatchedInserts(PreparedStatement.java:1506)
... 19 more

leads to executeBatch

But we use gwtorm, and it's an int but in the mysql connector it was changed to a long and made a private function.

https://github.com/GerritCodeReview/gwtorm/blob/master/src/main/java/com/google/gwtorm/schema/sql/SqlDialect.java#L434

In the mariadb connector, it is a int https://github.com/MariaDB/mariadb-connector-j/blob/e01335be8056d27f830038b6a276197d8113e102/src/main/java/org/mariadb/jdbc/MariaDbPreparedStatementServer.java#L218

See https://bugs.chromium.org/p/gerrit/issues/detail?id=7331 our issue.

wondering could we have help please to allow us to upgrade?

Json in mysql = what type in java? (1 reply)

$
0
0
Json in mysql = what type in java?

MysqlXAException: Could not retrieve transation read-only status server (no replies)

$
0
0
Hi,

We are facing this error intermittently. If we re-deploy the code then it works fine. Weird part is that the first transaction after a long period of no activity fails and after that all the transactions go through smoothly.

Help is appreciated. Let me know if more details are needed.

Trace:
2017-10-27 11:12:40.713 c.a.d.x.XAResourceTransaction [WARN] (R4L2FinalBolt:3:06e76ea181f74a60abcbe8b7ce16ea31) XA resource 'XXX': resume for XID '3139322E3136382E34302E3134322E746D313530393038323936303730383030303135:3139322E3136382E34302E3134322E746D3135' raised 0: unknown
com.mysql.jdbc.jdbc2.optional.MysqlXAException: Could not retrieve transation read-only status server
at com.mysql.jdbc.jdbc2.optional.MysqlXAConnection.mapXAExceptionFromSQLException(MysqlXAConnection.java:608) ~[stormjar.jar:?]
at com.mysql.jdbc.jdbc2.optional.MysqlXAConnection.dispatchCommand(MysqlXAConnection.java:587) ~[stormjar.jar:?]
at com.mysql.jdbc.jdbc2.optional.MysqlXAConnection.start(MysqlXAConnection.java:527) ~[stormjar.jar:?]
at com.mysql.jdbc.jdbc2.optional.SuspendableXAConnection.start(SuspendableXAConnection.java:181) ~[stormjar.jar:?]
at com.atomikos.datasource.xa.XAResourceTransaction.resume(XAResourceTransaction.java:297) [stormjar.jar:?]
at com.atomikos.datasource.xa.session.BranchEnlistedStateHandler.<init>(BranchEnlistedStateHandler.java:40) [stormjar.jar:?]
at com.atomikos.datasource.xa.session.NotInBranchStateHandler.checkEnlistBeforeUse(NotInBranchStateHandler.java:46) [stormjar.jar:?]
at com.atomikos.datasource.xa.session.TransactionContext.checkEnlistBeforeUse(TransactionContext.java:70) [stormjar.jar:?]
at com.atomikos.datasource.xa.session.SessionHandleState.notifyBeforeUse(SessionHandleState.java:160) [stormjar.jar:?]
at com.atomikos.jdbc.AtomikosConnectionProxy.enlist(AtomikosConnectionProxy.java:207) [stormjar.jar:?]
at com.atomikos.jdbc.AtomikosConnectionProxy.invoke(AtomikosConnectionProxy.java:122) [stormjar.jar:?]
at com.sun.proxy.$Proxy71.prepareStatement(Unknown Source) [?:?]
at org.hibernate.engine.jdbc.internal.StatementPreparerImpl$5.doPrepare(StatementPreparerImpl.java:162) [stormjar.jar:?]
at org.hibernate.engine.jdbc.internal.StatementPreparerImpl$StatementPreparationTemplate.prepareStatement(StatementPreparerImpl.java:186) [stormjar.jar:?]
at org.hibernate.engine.jdbc.internal.StatementPreparerImpl.prepareQueryStatement(StatementPreparerImpl.java:160) [stormjar.jar:?]
at org.hibernate.loader.Loader.prepareQueryStatement(Loader.java:1884) [stormjar.jar:?]
at org.hibernate.loader.Loader.executeQueryStatement(Loader.java:1861) [stormjar.jar:?]
at org.hibernate.loader.Loader.executeQueryStatement(Loader.java:1838) [stormjar.jar:?]
at org.hibernate.loader.Loader.doQuery(Loader.java:909) [stormjar.jar:?]
at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:354) [stormjar.jar:?]
at org.hibernate.loader.Loader.doList(Loader.java:2553) [stormjar.jar:?]
at org.hibernate.loader.Loader.doList(Loader.java:2539) [stormjar.jar:?]
at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2369) [stormjar.jar:?]
at org.hibernate.loader.Loader.list(Loader.java:2364) [stormjar.jar:?]
at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:496) [stormjar.jar:?]
at org.hibernate.hql.internal.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:387) [stormjar.jar:?]
at org.hibernate.engine.query.spi.HQLQueryPlan.performList(HQLQueryPlan.java:231) [stormjar.jar:?]
at org.hibernate.internal.SessionImpl.list(SessionImpl.java:1264) [stormjar.jar:?]
at org.hibernate.internal.QueryImpl.list(QueryImpl.java:103) [stormjar.jar:?]

Connection via SQuirreL works but via own app don't (no replies)

$
0
0
Hey guys,

sorry for my broken english, not a native speaker :)

Here is my problem:
I try to connect via JDBC to a DB hosted on a MySQL server (Version: 5.6.37). I don't host the server and can't change any server configs.
When I try to connect using SQuirreL everything works as expected. I get access to the DB.
When I try to connect via self-written app via my IDE (eclipse) I get an Caused by: java.sql.SQLException: Access denied for user ... (using password: YES)

I'm using HikariCP to manage the connections. Tried also non connection pool aproach via DriverManager.getConnection. Both times the same.

The driver I'm using is mysql-connector-java-5.1.44-bin.jar

I'm thankful for every help.

Cheers!

error on insert in mysql table (no replies)

$
0
0
Hi all,
when I try to insert a row in mysql table I've got this error:

SQLException: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '?,?,?,?,?,?,?,?,?,?,?,?,?,?)' at line 1
SQLState: 42000
VendorError: 1064

Can someone help me?

this is thecode:

String sql2 = "INSERT INTO quote "
+ "(codice, giorno, tipo, data_ult, str, scad, pr, de, le, va, va_perc, vo, op, voli) VALUES"
+ "(?,?,?,?,?,?,?,?,?,?,?,?,?,?)";

preparedStatement = (PreparedStatement) conn.prepareStatement(sql2);

preparedStatement.setString(1, linea[0].toString());
preparedStatement.setString(2, linea[1].toString());
preparedStatement.setString(3, linea[2].toString());
preparedStatement.setString(4, linea[3].toString());
preparedStatement.setFloat(5, Float.parseFloat(linea[4]));
preparedStatement.setString(6, linea[5].toString());
preparedStatement.setFloat(7, Float.parseFloat(linea[6]));
preparedStatement.setFloat(8, Float.parseFloat(linea[7]));
preparedStatement.setFloat(9, Float.parseFloat(linea[8]));
preparedStatement.setFloat(10, Float.parseFloat(linea[9]));
preparedStatement.setString(11, linea[10].toString());
preparedStatement.setInt(12, Integer.parseInt(linea[11]));
preparedStatement.setInt(13, Integer.parseInt(linea[12]));
preparedStatement.setFloat(14, Float.parseFloat(linea[13]));

preparedStatement.executeUpdate(sql2);
if(preparedStatement!=null){
preparedStatement.close();
System.out.println("Success.");
}

Thanks

Is there a 64-bit connector (no replies)

$
0
0
Is there a 64-bit JDBC connector ? The only ones I see to install are 32-bit as designated by x86. It is a PITA to have to install a 32-bit Java on a 64-bit machine. Is there some technical reason that does not allow a 64-bit connector ?

CancelTask performance issue (no replies)

$
0
0
Hi,
I analyse my applications that has small performance problem on jdbc connector classs that com.mysql.jdbc.StatementImpl.CancelTask constructor.


this.origConnProps = new Properties();
Properties props = StatementImpl.this.connection.getProperties();
Enumeration<?> keys = props.propertyNames();
while (keys.hasMoreElements()) {
String key = keys.nextElement().toString();
this.origConnProps.setProperty(key, props.getProperty(key));
}

One of the following changes is might make sense for performance improvements

this.origConnProps = new Properties(StatementImpl.this.connection.getProperties());

Another alternative
this.origConnProps = Properties();
this.origConnProps.putAll(StatementImpl.this.connection.getProperties());

Yes, I know first one is not deep copy and property changes will be reflected on CancelTask, but second is pretty same behave like current version.

Thanks for advance,

Certificate alias not used for MySQL JDBC SSL Config (no replies)

$
0
0
I'm working on securing my application connection to MySQL with SSL. I was able to provide the keystore and truststore information to the connector using the setClientCertificateXX and setTrustCertificateXX methods in MysqlDataSource, but I don't see how can I provide the certificate alias information? The MySQL documentation also does not specify anything about certificate aliases. Is there a way to provide this to the MySQL connection?

Can anyone tell why my program hangs (no replies)

$
0
0
My codes are

=====================================
package com.enmoli.userservice;

import java.util.Date;
import java.util.UUID;
import java.util.zip.CRC32;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class CommonTest {

static Connection conn = null;

public static Connection getConnectionByJDBC() {
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
try {
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/inter", "abc", "abc");
} catch (SQLException e) {
e.printStackTrace();
}
return conn;
}

public static void test() {
String sql = "SELECT c.uid, b.grade as grade, b.score as score, b.normal_image as image, b2.score as scoreUp,"
+ " (b2.score - c.old_rank_beauty) as shortScore, b2.normal_image as nextImage"
+ " from cust_user_count c"
+ " left join shall_admin_user_grade_def b on c.rank_beauty=b.grade and b.type=1 and b.gender=0"
+ " left join shall_admin_user_grade_def b2 on b2.score<= c.old_rank_beauty and b2.score_up> c.old_rank_beauty and b2.type=1 and b2.gender=0"
+ " where c.uid = 68";
getConnectionByJDBC();
try {
Statement stmt = conn.createStatement();

//my program hang on the following line
ResultSet rs = stmt.executeQuery(sql);
while (rs.next()) {
String username = rs.getString("username");
String password = rs.getString("password");
System.out.println(username + "" + password);
}
} catch (SQLException e) {
System.out.println(e.getMessage());
e.printStackTrace();
} finally {

try {
if (conn != null)
conn.close();
} catch (SQLException e) {
System.out.println(e.getMessage());
e.printStackTrace();
}
}
}

public static void main(String[] args) {
CommonTest testjdbc = new CommonTest();
testjdbc.test();
}

}


=================================================

if I run my sql in mysql workbeach, it report a error "Error Code: 1690. BIGINT UNSIGNED value is out of range in '(`inter`.`b2`.`score` - '638733439')'"


I want to know why jdbc hangs rather than exit with error message?

How can I fix my code to let the program continue to run even the sql has some errors?

Mysql ssl configuration (no replies)

$
0
0
Hi,
I have a java application on server1 and mysql on server2, I want to configure ssl on both.
This is my 4th day on subject, I already read all doc but nothing resolve my problem.

To configure ssl I don't want to generate anything, I already have signed certificate that my client gave me to configure ssl.

For server1: I have a chained certificate (server2.crt) with 3 certificate inside, i assume it's the root, the intermidiate and user certicate. And a private key server2.pem

Same for server2

here what I tried :
- serverside
Ssl-ca=Server2.crt (the chained certificatr)
Ssl-cert=server2.crt
Ssl-key=server2.pem

- clientside
I imported to the truststore the root ca that I extracted from server2.crt


I imported the server1.crt+server1.pem to the keystore with using pk12

Please help none of this works, and I keep having sslhandshakeexeption unsuported certificate...

Connector/J installation (no replies)

$
0
0
I'm new to MySQL and don't seem to understand Windows like I thought I did:
I'm trying to install the Connector/J driver so my applications can communicate with
my MySQL database:
1) I downloaded the zip file and moved the folder to C:\Program Files (x86)\MySQL
I believe the JAR file is "mysql-connector-java-5.1.45-bin.jar"

2) As per the documentation I set my CLASSPATH to contain
"C:\Program Files (x86)\MySQL\mysql-connector-java-5.1.45\"

3) I tried run some code using the connection example in the documentation.
My response was the exception "ClassNotFoundException: com.mysql.jdbc.Driver".

I must be missing some critical piece of the puzzle. But what?
Does it matter that I'm developing and running from Eclipse?
Would it matter if I didn't use Eclipse (like a standalone app?)

Connector/JDBC anomaly with LibreBase (no replies)

$
0
0
Having successfully deployed the Connector/J (v5.1.45) in Ubuntu 17.10 and Debian Stretch (viz. Raspberry PI) environments by emulating notes in this forum (and some trial and error), I can establish connection to a MySQL server instance hosted on networked Stretch/Raspberry Pi machine from the two client environments (Ubuntu & Stretch).

When I use LibreBase to build a nominal query, I noticed that the Ubuntu LibreBase client works flawlessly. Unfortunately, the Stretch/Raspberry LibreBase client does not bring over the FLOAT and DOUBLE data types correctly. MySQL command line on the Stretch/Raspberry Pi machine however displays the FLOAT and DOUBLE data correctly. While I can grasp that this might be some LibreOffice issue, I am hoping that someone here on the forum can help me out.


Is there "any" obvious step that I am missing in accessing FLOAT/DOUBLE data correctly from a Raspberry Pi machine using LibreOffice products? The documentation (and my clear experience with Ubuntu) indicates that the mapping is 1:1. Thanks.

Different between 5.x and 6.x (no replies)

$
0
0
We are using the MySQL Connector/J in version 5.x since it comes with Spring Boot. Since vulnerability scanners show issues we'd like to upgrade to version 6.x.

What are the main differences between 5.x and 6.x?
How is the advice about using the new major version in Spring Boot?

Has anyone experienced problems with this setup?

Kind regards,
Bernhard

New to mySQL - need advice on connecting to a standalone server remotely (no replies)

$
0
0
Hi Group. I have recently installed MySQL Community Full version with Server version 5.7 and Workbench 6.3 in order to start learning MySQL out of necessity at work (I do not have any background in this at all). So, please bear with me if I ask any rudimentary questions.

Now, I have successfully managed to set up a "standalone mysql server/ classical mysql replication" version on my work laptop instead of Sandbox InnoDB cluster and have even created multiple tables by importing data from Excel.

However, when I tried to connect to MySQL instance from Google Sheets by using a JDBC string such as "jdbc:mysql://localhost:3306/?user=****" I am getting the message that this DB does not exist even when I am giving the table address.

I have tried everything I could find and understand when I searched on Google with no success. Have read somewhere in this forum that giving "localhost" as host name is not going to work as it only points to the local system.

Can anyone please explain how I can solve in as simple terms as you can? Would really appreciate any help I can get.

Regards,
Narendra V.
Viewing all 884 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>