我正在使用android进行SqlServer2008 r2连接。
我的代码如下:
public class MainActivity extends Activity {
String url="jdbc:sqlserver://localhost;instance=14GRAFICALI\\MSSQLSERVER2008;databaseName=AndroidDB;integrated security=true";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TextView tvData=(TextView)findViewById(R.id.tvSelectedData);
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance();
Connection conn =DriverManager.getConnection(url);
System.out.println("connected");
Statement statement=conn.createStatement();
ResultSet resultSet=statement.executeQuery("select * from AndroidDB");
while(resultSet.next()){
tvData.setText(" Data1 : "+resultSet.getString(1)+" Data 2 : "+resultSet.getNString(2));
}
} catch (Exception e) {
e.printStackTrace();
}
}
此代码无法正常运行并在线提供错误:
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance();
错误:
java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver
但是当我检查这条路径时,文件就在上面有路径。
看看它:
可能是什么问题?
请帮帮我。
修改
Javabuildpath:
利布斯:
答案 0 :(得分:1)
确保在类路径中包含SQLServerDriver类的jar按[{3}}解释。
如果您正在使用Eclipse,请右键单击您的项目,然后右键单击Libraries选项卡下的Java Build Path,检查jar是否存在且不存在同一jar的其他版本。
答案 1 :(得分:1)
根据this thread on the microsoft msdn forum使用不同的JDBC驱动程序应该可行。我自己没有测试过。
答案 2 :(得分:1)
CLASSPATH变量是Java虚拟机(JVM)用于在计算机上查找JDBC驱动程序的搜索字符串。如果您的CLASSPATH变量中未列出驱动程序,则在尝试加载驱动程序时会收到以下错误消息: java.lang.ClassNotFoundException:com / microsoft / jdbc / sqlserver / SQLServerDriver
JDBC驱动程序不是Java SDK的一部分。如果要使用它,则必须将类路径设置为包含sqljdbc.jar文件或sqljdbc4.jar文件。如果类路径缺少sqljdbc.jar或sqljdbc4.jar的条目,则应用程序将抛出常见的“未找到类”异常。
sqljdbc.jar文件和sqljdbc4.jar文件安装在以下位置:
<installation directory>\sqljdbc_<version>\<language>\sqljdbc.jar
<installation directory>\sqljdbc_<version>\<language>\sqljdbc4.jar
以下是用于Windows应用程序的CLASSPATH语句的示例:
CLASSPATH =.;C:\Program Files\Microsoft JDBC Driver 4.0 for SQL Server\sqljdbc_4.0\enu\sqljdbc.jar
以下是用于Unix / Linux应用程序的CLASSPATH语句的示例:
CLASSPATH =.:/home/usr1/mssqlserverjdbc/Driver/sqljdbc_4.0/enu/sqljdbc.jar
您必须确保CLASSPATH语句仅包含一个用于SQL Server的Microsoft JDBC驱动程序,例如sqljdbc.jar或sqljdbc4.jar。
答案 3 :(得分:0)
当我们将Android连接到SQLServer时,有一些步骤需要愚蠢。
我已经在这里提到了我的答案中的每一个详细步骤:
请按照各个阶段进行操作,我相信您将克服所有错误。