jdbc是sun提供的不是微软
微软提供的是odbc
微软提供的是odbc
解决方案 »
- 求救:struts2中的标签不识别"?"
- 在Java里调用sqlplus执行sql脚本的一些问题
- 请教各位,如何分批获取数据库中数据?
- spring和hibernate整合的问题
- 用myeclipse整合spring,hibernate的简单问题
- struts javascript 删除记录
- 在TOMCAT里的session问题,估计大家都很难明白.
- Jbuilder9.0开发实体EJB是否要先创建数据库,开发的步骤是什么?
- 如何保留两位小数?
- Struts2 Validation问题
- BEA WEBLOGIC WORKSHOP开发的WEB SERVICE如何发布?
- 在struts标签中如何使用checkbox????
com.microsoft.jdbc.sqlserver.SQLServerDriver
这是微软自己官方发布的jdbc
不过用了几天发现很多不爽,再看了网上相关评论都建议用第三方的jdbc
这样的一段简单的连接sql server 2000开发版(os win2000professinoal)的程序:
import java.sql.*;
import java.util.*;
import java.text.*;
import java.io.*;
public class Jdbcodbc{
public static void main(String args[]){
Statement stmt=null;
ResultSet rs=null;
Connection conn=null;
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver").newInstance();
String url="jdbc:odbc:pubs";//数据源为pubs
String db_name="Administrator";
String db_pwd="";
conn= DriverManager.getConnection(url,db_name,db_pwd); String sqlstr="select * from sales";
stmt=conn.createStatement(java.sql.ResultSet.TYPE_SCROLL_INSENSITIVE,java.sql.ResultSet.CONCUR_READ_ONLY);
rs=stmt.executeQuery(sqlstr);
}catch(Exception e){}
finally{
try{
if(stmt!=null)stmt.close();
if(rs!=null)rs.close();
if(conn!=null)conn.close();
}
catch(Exception e){}}
}
}
运行后出现错误:Unexpected Signal : EXCEPTION_ACCESS_VIOLATION occurred at PC=0x6D366658
Function=[Unknown.]
Library=D:\j2sdk\jre\bin\client\jvm.dllNOTE: We are unable to locate the function name symbol for the error
just occurred. Please refer to release documentation for possible
reason and solutions.
Current Java thread:
at sun.jdbc.odbc.JdbcOdbc.setStmtAttrPtr(Native Method)
at sun.jdbc.odbc.JdbcOdbc.SQLSetStmtAttrPtr(JdbcOdbc.java:4676)
at sun.jdbc.odbc.JdbcOdbcResultSet.setRowStatusPtr(JdbcOdbcResultSet.jav
a:4473)
at sun.jdbc.odbc.JdbcOdbcResultSet.initialize(JdbcOdbcResultSet.java:171
)
at sun.jdbc.odbc.JdbcOdbcStatement.getResultSet(JdbcOdbcStatement.java:4
23)
- locked <02A321B8> (a sun.jdbc.odbc.JdbcOdbcStatement)
at sun.jdbc.odbc.JdbcOdbcStatement.executeQuery(JdbcOdbcStatement.java:2
53)
at Jdbcodbc.main(Jdbcodbc.java:20)Dynamic libraries:
0x00400000 - 0x00406000 D:\j2sdk\bin\java.exe
0x77F80000 - 0x77FFB000 C:\WINNT\System32\ntdll.dll
0x77D90000 - 0x77DED000 C:\WINNT\system32\ADVAPI32.dll
0x77E60000 - 0x77F35000 C:\WINNT\system32\KERNEL32.DLL
0x786F0000 - 0x7875E000 C:\WINNT\system32\RPCRT4.DLL
0x78000000 - 0x78046000 C:\WINNT\system32\MSVCRT.dll
0x6D330000 - 0x6D445000 D:\j2sdk\jre\bin\client\jvm.dll
0x77DF0000 - 0x77E55000 C:\WINNT\system32\USER32.dll
0x77F40000 - 0x77F7C000 C:\WINNT\system32\GDI32.DLL
0x77530000 - 0x77560000 C:\WINNT\System32\WINMM.dll
0x75E00000 - 0x75E1A000 C:\WINNT\System32\IMM32.DLL
0x10000000 - 0x10019000 C:\WINNT\System32\NVDESK32.DLL
0x6D1D0000 - 0x6D1D7000 D:\j2sdk\jre\bin\hpi.dll
0x6D300000 - 0x6D30D000 D:\j2sdk\jre\bin\verify.dll
0x6D210000 - 0x6D228000 D:\j2sdk\jre\bin\java.dll
0x6D320000 - 0x6D32D000 D:\j2sdk\jre\bin\zip.dll
0x6D250000 - 0x6D25A000 D:\j2sdk\jre\bin\JdbcOdbc.dll
0x1F7F0000 - 0x1F825000 C:\WINNT\System32\ODBC32.dll
0x76AF0000 - 0x76B2D000 C:\WINNT\system32\comdlg32.dll
0x77C50000 - 0x77C9A000 C:\WINNT\system32\SHLWAPI.DLL
0x77B30000 - 0x77BB9000 C:\WINNT\system32\COMCTL32.DLL
0x78F90000 - 0x791D6000 C:\WINNT\system32\SHELL32.DLL
0x1F8E0000 - 0x1F8F6000 C:\WINNT\System32\odbcint.dll
0x41160000 - 0x411D3000 C:\WINNT\System32\SQLSRV32.dll
0x41090000 - 0x410BD000 C:\WINNT\System32\SQLUNIRL.DLL
0x777C0000 - 0x777DE000 C:\WINNT\System32\WINSPOOL.DRV
0x75010000 - 0x75020000 C:\WINNT\system32\MPR.DLL
0x777E0000 - 0x777E7000 C:\WINNT\system32\VERSION.dll
0x75950000 - 0x75956000 C:\WINNT\system32\LZ32.DLL
0x77990000 - 0x77A2B000 C:\WINNT\system32\OLEAUT32.DLL
0x77A30000 - 0x77B1C000 C:\WINNT\system32\ole32.dll
0x75100000 - 0x7514F000 C:\WINNT\System32\NETAPI32.DLL
0x77BC0000 - 0x77BCF000 C:\WINNT\System32\SECUR32.DLL
0x75150000 - 0x75156000 C:\WINNT\System32\NETRAP.DLL
0x750E0000 - 0x750F0000 C:\WINNT\System32\SAMLIB.DLL
0x74FB0000 - 0x74FC3000 C:\WINNT\System32\WS2_32.DLL
0x74FA0000 - 0x74FA8000 C:\WINNT\System32\WS2HELP.DLL
0x77930000 - 0x7795A000 C:\WINNT\system32\WLDAP32.DLL
0x77960000 - 0x77984000 C:\WINNT\System32\DNSAPI.DLL
0x74FD0000 - 0x74FDA000 C:\WINNT\System32\WSOCK32.DLL
0x76940000 - 0x76947000 C:\WINNT\System32\NDDEAPI.DLL
0x0B3B0000 - 0x0B3C6000 C:\WINNT\System32\sqlsrv32.rll
0x1F840000 - 0x1F85A000 C:\WINNT\System32\odbccp32.dll
0x74CB0000 - 0x74CC7000 C:\WINNT\System32\DBNETLIB.DLL
0x75490000 - 0x75494000 C:\WINNT\System32\security.dll
0x77400000 - 0x77477000 C:\WINNT\System32\crypt32.dll
0x773F0000 - 0x77400000 C:\WINNT\System32\MSASN1.DLL
0x782D0000 - 0x782EE000 C:\WINNT\system32\msv1_0.dll
0x77BD0000 - 0x77BE1000 C:\WINNT\System32\ntdsapi.dll
0x74CD0000 - 0x74CD7000 C:\WINNT\System32\DBmsLPCn.dll
0x77900000 - 0x77923000 C:\WINNT\system32\imagehlp.dll
0x72960000 - 0x7298D000 C:\WINNT\system32\DBGHELP.dll
0x687E0000 - 0x687EB000 C:\WINNT\System32\PSAPI.DLLLocal Time = Mon Nov 10 22:23:13 2003
Elapsed Time = 2
#
# HotSpot Virtual Machine Error : EXCEPTION_ACCESS_VIOLATION
# Error ID : 4F530E43505002D5
# Please report this error at
# http://java.sun.com/cgi-bin/bugreport.cgi
#
# Java VM: Java HotSpot(TM) Client VM (1.4.0_01-b03 mixed mode)
#
# An error report file has been saved as hs_err_pid1592.log.
# Please refer to the file for further information.
#
Press any key to continue...
用jsp运行tomcat会死掉,是什么原因啊?
请指教!
import java.sql.*;
import java.util.*;
import java.text.*;
import java.io.*;
import com.microsoft.jdbc.sqlserver.SQLServerDriver;
public class Jdbcodbc{
public static void main(String args[]){
Statement stmt=null;
ResultSet rs=null;
Connection conn=null;
try{
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
conn = DriverManager.getConnection("jdbc:microsoft:sqlserver://C-DM9T900L53JDN:1433;DatabaseName=pubs;User=ww;Password=ww");
String sqlstr="select * from sales";
stmt=conn.createStatement(java.sql.ResultSet.TYPE_SCROLL_INSENSITIVE,java.sql.ResultSet.CONCUR_READ_ONLY);
rs=stmt.executeQuery(sqlstr);
while(rs.next()){
System.out.println(rs.getString(1));
}
}catch(Exception e){
e.printStackTrace();}
finally{
try{
if(stmt!=null)stmt.close();
if(rs!=null)rs.close();
if(conn!=null)conn.close();
}
catch(Exception e){}}
}
}出现错误:
java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]用
户 'ww' 登录失败。原因: 未与信任 SQL Server 连接相关联。
…………
我在sql server的企业管理器中添加了用户ww,密码也是ww,为什么还有这样的错误?
另外我在安装sql server的时候选的是windows验证方式
但是我用用户Administrator连接数据库也出现同样的错误,是为什么?
初次用java连接数据库,希望能得到大家帮助。
谢谢。
是微软sqls2000的jdbc driver
一旦取blob/clob就会有问题
数据只能取一次,并且必须顺序取
网上已经不只一个人说这问题了