OCI sql 语句包含中文,读不到数据

OCI sql 语句包含中文,读不到数据, 把中文改成英语,就可以。

11个回答

编码不一致导致的~!utf-8 和 gbk

youtherzhang
youtherzhang 这些网址 对 编码 介绍挺好, http://blog.csdn.net/benkaoya/article/details/59522148 http://jimmee.iteye.com/blog/2165685
接近 2 年之前 回复
youtherzhang
youtherzhang 我用MultiByteToWideChar WideCharToMultiByte 等把包含中文sql 语句转换成UTF8, 就可以了。 谢谢大家,很热心的帮助。 只能采纳第一个,后面说的也很对。
接近 2 年之前 回复

语句中的编码出问题了吧

我发的那个变量,值不一定是那个,你看一下你库的编码是什么,两边一致就行,应该是编码不同造成的

NLS_LANG=AMERICAN_AMERICA.AL32UTF8

环境变量的问题,添加上面的环境变量试试

谢谢,我试试, 不过我用 Oracle SQL Develop 工具,直接输入包含中文 的sql 语句 是可以的, 但是在C++ 代码用 OCI 就不行, 过程是OCIEnvCreate OCIHandleAlloc OCIServerAttach OCIStmtPrepare OCIDefineByPos OCIAttrGet OCIStmtExecute

环境变量不行的,应该不用重启吧。 设置了名称: NLS_LANG , 值: AMERICAN_AMERICA.AL32UTF8

谢谢,可以了。 各位给了我信心, 其实之前已经试过sql 转成 UTF8 ,只是粗心看错地方了。 刚调试一下,转UTF8 后是可以的。
另外 学到一句 查看 数据库 编码的 SQL语句,select userenv('language') from dual; 得到 SIMPLIFIED CHINESE_CHINA.AL32UTF8 。

多做了 一些 事, 调试里看内存的UTF8 的 16 进制编码, 和 这个 网址 里 查出来的UTF8 编码 比较, 这个 网址 可以 输入句子查看 UTF8 ,GBK 等编码, 很方便。 http://www.mytju.com/classCode/tools/encode_gb2312.asp 悬赏分就给 第一个说 编码 的人吧。

明天再试试 OTLV4 是不是可以, 刚才是直接用OCI 可以了。

用了这样的函数转换 成 UTF8, MultiByteToWideChar**** WideCharToMultiByte , 可能 还有别的方法,比如代码里写的中文默认就是 UTF8, 不用再去转换。 先不管了, 先这样转换就好。

如果是PHP,连接语句这样写
oci_connect($user, $password, $tnsid,"UTF8" ) ;
注意这里可能是一个BUG,写UTF8,而不是UTF-8。
SQL语句中就可以用中文了,包括支持中文表名和中文字段名。

共11条数据 1 尾页
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
OCI连接Oracle调用OCISessionBegin失败:ORA-24314: 未初始化服务句柄
OCI连接Oracle数据库的时候,建立会话连接OCISessionBegin就失败:Error code为:ORA-24314: 未初始化服务句柄。 而使用PL/SQL Developer连接Oracle就可以,进去PL/SQL Developer里面也可以执行SQL语句。
急 oci_connect调用失败,程序往后不执行
大家好,我的链接数据库的语句如下: $this->_connection = @oci_connect('**','**','**','**'); if (!$this->_connection) { *** } 可是执行到oci_connect时后面不执行,打印语句显示不出来,请问是怎么回事。多谢
PHP pdo_oci问题 报错了 驱动字符集问题
SQLSTATE[HY000]: OCIEnvNlsCreate: Check the character set is valid and that PHP has access to Oracle libraries and NLS data (ext\pdo_oci\oci_driver.c:619) Windows环境下搭建的 现在pdo_oci8_12c.dll连接数据库出现上面那个提示 oci直接连接没有报错
利用OCI调用存储过程失败
利用OCI调用存储过程失败 返回错误码06550 代码: char* strSQL = "begin pro_expired_users; end;"; // 有参数跟没参数的存储过程都试过 res = OCIStmtPrepare(stmthp,errhp,textSQL,strlen((char*)textSQL),OCI_NTV_SYNTAX,OCI_DEFAULT ); // 如果是有参数的存储过程这里就OCIBindByPosXXX OCIStmtExecute(svchp,stmthp,errhp,1,0,NULL,NULL, OCI_DEFAULT); OCIErrorGet((dvoid *) errhp,(ub4) 1,(text *) NULL,&errcodep,(text *)errormsgbuf,(ub4) sizeof(errormsgbuf),(ub4) OCI_HTYPE_ERROR); OCIStmtExecute返回-1,返回错误是 + errormsgbuf 0x0018edfc "ORA-06550: 第 1 行, 第 7 列: PLS-00201: 必须声明标识符 'PRO_EXPIRED_USERS' ORA-06550: 第 1 行, 第 7 列: PL/SQL: Statement ignored " char [512]
php用oci_connect()无密码连接oracle 提示权限不足
感谢浏览! Centos 6.2 php 5.3.6 oracle 11g oci8.so 1.4.4 用oci_connect("system","JCB410","VPMSDBS",null,OCI_DEFAULT); (VPMSDBS 为$ORACLE_SID) 和oci_connect("/","","php_ora_usr",null,OCI_CRED_EXT); (php_ora_usr 为wallet连接串) 均可以连接上 但用oci_connect("/","","VPMSDBS",null,OCI_CRED_EXT+OCI_SYSDBA); 链接时提示:oci_connect():ORA-01031:insufficient privileges
PHP OCI执行oracle存储过程如何传递CLOB参数
_下面的代码有关于测试数据表test_clob,以及插入记录的存储过程test_p_saveclob 。代码如下: #!/opt/php/bin/php -q <?php // 参考:http://www.golaravel.com/php/function.oci-new-descriptor.html // 参考:http://php.net/manual/zh/function.oci-bind-by-name.php /* 1)数据表 test_clob SQL> desc test_clob Name Null? Type ----------------------------------------- -------- ---------------------------- ID NUMBER BIGSTR CLOB SNAM VARCHAR2(20) SQL> 2)存储过程 SQL> desc test_p_saveclob PROCEDURE test_p_saveclob Argument Name Type In/Out Default? ------------------------------ ----------------------- ------ -------- I_ID NUMBER(38) IN I_BIGSTR CLOB IN I_SNAM VARCHAR2 IN O_COUNT NUMBER(38) OUT O_RETURN NUMBER(38) OUT SQL> CREATE OR REPLACE PROCEDURE TEST_P_SAVECLOB ( I_ID IN INT, I_BIGSTR IN CLOB, I_SNAM IN VARCHAR2, O_COUNT OUT INT, --返回值导入的号码数量 O_RETURN OUT INT --返回值:0为导入成,-1为导入失败 ) AS V_BIGSTR CLOB; BEGIN --INSERT INTO TEST_CLOB(ID,BIGSTR,SNAM) VALUES(I_ID ,I_BIGSTR ,I_SNAM); --insert into TEST_CLOB(id,BIGSTR,SNAM) values(I_ID ,EMPTY_CLOB() ,I_SNAM) returning BIGSTR into I_BIGSTR; INSERT INTO TEST_CLOB(ID,BIGSTR,SNAM) VALUES(I_ID ,EMPTY_CLOB() ,I_SNAM); SELECT BIGSTR INTO V_BIGSTR FROM TEST_CLOB WHERE ID=I_ID; DBMS_LOB.OPEN(V_BIGSTR,DBMS_LOB.LOB_READWRITE); DBMS_LOB.WRITE(V_BIGSTR,LENGTH(I_BIGSTR),1,I_BIGSTR); DBMS_LOB.CLOSE(V_BIGSTR); O_COUNT := 1; --插入的个数 O_RETURN := 0; --插入成功 END; 3)pl/sql测试: declare O_COUNT int := 88; O_RETURN int := -2; begin TEST_P_SAVECLOB(3,'11111111---','wjj',O_COUNT,O_RETURN); commit; end; */ //参数-------------- $I_ID = 5; $I_BIGSTR = '---abc--'; $I_BIGSTR = str_repeat($I_BIGSTR,12); $I_SNAM = 'wjj'; $O_COUNT = 88; $O_RETURN = -2; $db_str = "172.29.3.191/mobile"; $conn = oci_connect("帐号", "密码",$db_str); $sql_sp = "begin TEST_P_SAVECLOB(:I_ID ,:I_BIGSTR ,:I_SNAM ,:O_COUNT ,:O_RETURN); end;"; $stmt = oci_parse($conn, $sql_sp); //输入参数 oci_bind_by_name($stmt, ":I_ID", $I_ID ,32); oci_bind_by_name($stmt, ":I_SNAM", $I_SNAM ,64); //输出参数 oci_bind_by_name($stmt, ":O_COUNT", $O_COUNT, 32); oci_bind_by_name($stmt, ":O_RETURN", $O_RETURN, 32); //oci_execute($stmt, OCI_DEFAULT); //大数据CLOB: // Create a new lob descriptor object $textLob = oci_new_descriptor($conn, OCI_D_LOB); oci_bind_by_name($stmt, ":I_BIGSTR", $textLob, -1, OCI_B_CLOB); //$textLob->write($I_BIGSTR); $textLob->write($I_BIGSTR); oci_execute($stmt, OCI_DEFAULT); /* // Execute the statement but do not commit oci_execute($stmt, OCI_DEFAULT); // Save the body of the blog entry to the CLOB if ( !$textLob->save($I_BIGSTR) ) { //这里才是处理CLOB大数据的关键技术 // Rollback the procedure oci_rollback($conn); die ("Error saving lob\n"); } */ // Everything OK so commit oci_commit($conn); echo $O_COUNT,"--",$O_RETURN,"\n"; ?> 可是在linux下面运行后,总是报错,如下: vm-web1:/var/www/html/test # ./clob-proc2.php PHP Warning: OCI-Lob::write(): OCI_INVALID_HANDLE in /var/www/html/test/clob-proc2.php on line 85 ​ Warning: OCI-Lob::write(): OCI_INVALID_HANDLE in /var/www/html/test/clob-proc2.php on line 85 PHP Warning: oci_execute(): ORA-22275: invalid LOB locator specified ORA-06512: at "YLCQ.TEST_P_SAVECLOB", line 17 ORA-06512: at line 1 in /var/www/html/test/clob-proc2.php on line 86 Warning: oci_execute(): ORA-22275: invalid LOB locator specified ORA-06512: at "YLCQ.TEST_P_SAVECLOB", line 17 ORA-06512: at line 1 in /var/www/html/test/clob-proc2.php on line 86 88---2 vm-web1:/var/www/html/test # 问题:在sqlplus中用匿名过程调用存储过程test_p_saveclob,一切都正常,数据表中可以新增一条记录。可是用上面的php脚本测试,就出错! 求高手指点! __
thinkphp oci8扩展无法加载,什么问题
![图片说明](https://img-ask.csdn.net/upload/201602/18/1455786396_878889.png) TP版本3.1 ,orcale数据库连接不上,一开始报“无法加载数据库驱动: DbOracle”,官网下载添加扩展驱动DbOracle.class.php后,报错:'系统不支持oracle', 现在问题应该是没办法加载oci8吧,该怎么解决呢?php.ini的扩展已经打开了! get_loaded_extensions()了下,没有看到oci8![![图片说明](https://img-ask.csdn.net/upload/201602/18/1455786326_140031.png)图片说明](https://img-ask.csdn.net/upload/201602/18/1455786300_20134.png)
关于PHP查询ORACLE数据乱码问题
数据库字符集 AMERICAN_AMERICA.WE8ISO8859P1 如果我不设置数据库第四个参数返回的中文信息为null,如果将第四个参数设置为utf8 返回乱码,代码如下 直接上代码 ``` <?php header('Content-type:application/json;charset=utf-8'); putenv("NLS_LANG=AMERICAN_AMERICA.WE8ISO8859P1"); $Oracle_conn=oci_connect('user','pass','db','utf8'); $query="Select CMNAME,CDMMKT,CDMNO,CDMTYPE, CDMSTATUS,CDMFLAG,CDMCID,CCURJFYE CDMJF, CTOTXFJE CDMXFJE, NVL(CDMZHYE1, 0) CDMZHYE1, CMNAME,CMBIRTHDAY,CMIDNO, CMMOBILE1,CMLCZHYE From CARDMAIN,CUSTMEMBER, CUSTOMER Where CDMOWNER=CMMEMID And CDMCID = CID and cdmno = '" . $_GET["ds"] ."'"; $statement=oci_parse($Oracle_conn,$query); //执行语句; oci_execute($statement); //取得结果数据; while (($row = oci_fetch_object ($statement)) != false) { //var_dump($row); echo json_encode($row); } //释放资源; oci_free_statement($statement); oci_close($Oracle_conn); ?> ``` 分割线------------------------------------ 以上代码查询ORACLE正常,但是库里有中文时显示乱码,以下为查询结果 ![图片说明](https://img-ask.csdn.net/upload/201904/29/1556530190_915822.png) ![图片说明](https://img-ask.csdn.net/upload/201904/29/1556530201_126019.png) 因数据库内有大量数据,无法修改字符集,有没有什么办法能在不修改数据库字符集的情况下中文能正常显示, 请大神们不灵赐教
QT连接Oracle数据库问题
![图片说明](https://img-ask.csdn.net/upload/201912/23/1577112013_922919.png) 按照网上的方法写的QMAKE_LFLAGS+=oci.lib INCLUDEPATH+=C:\app\product\18.0.0\dbhomeXE\oci\include LIBPATH += C:\app\product\18.0.0\dbhomeXE\oci\lib\msvc 然后还是显示oci.lib未找到
oci_execute函数无法调用(php+oracle)
1.已经phpinfo过支持oci8 2.无法使用oci_execute()函数 3.结果不执行也没有看出问题 在哪 ``` <?php header("Content-type:text/html;charset=utf8"); try{ $user = "*****"; //ORACLE用户名 $password = "***"; $conn = oci_connect($user,$password,"(DEscriptION=(ADDRESS=(PROTOCOL =TCP)(HOST=1.1.1.1(PORT = 1521))(CONNECT_DATA =(SID=tjfxdb)))"); var_dump($conn); echo "连接成功"; $sql="insert into sd_realtime_sync_03(comcode) value('201503')"; $query=oci_parse($conn, $sql); $bo=oci_execute($query);//只插入到表3 echo $bo; }catch(Exception $e){ echo ("Error:".$e->getMessage()); } ?> ``` 结果:![图片说明](https://img-ask.csdn.net/upload/201904/01/1554113011_332457.jpg)
oracle oci 的 OCIEnv 结构体 在 哪个文件中定义
请教大家一个问题 程序报错: 使用了未定义类型“OCIEnv” 我在 oci.h中找到 typedef struct OCIEnv OCIEnv; /* OCI environment handle */ 文件 但是不知道struct OCIEnv 结构体在哪个文件中定义,麻烦大家帮忙解答
用jdbc:oracle:oci方式连接数据库时出现UnsatisfiedLinkError错误
我win7 64位系统,jdk是64位的1.7版本,oracle装的是32的10g,客户端跟服务器端都装了 ,我在用jdbc:oracle:oci方式连接数据库时连接失败,而用jdbc:oracle:thin方式就行,错误如下: java.lang.IllegalStateException: Failed to load ApplicationContext at org.springframework.test.context.TestContext.getApplicationContext(TestContext.java:308) at org.springframework.test.context.support.DependencyInjectionTestExecutionListener.injectDependencies(DependencyInjectionTestExecutionListener.java:109) at org.springframework.test.context.support.DependencyInjectionTestExecutionListener.prepareTestInstance(DependencyInjectionTestExecutionListener.java:75) at org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:321) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.createTest(SpringJUnit4ClassRunner.java:211) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner$1.runReflectiveCall(SpringJUnit4ClassRunner.java:287) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.methodBlock(SpringJUnit4ClassRunner.java:289) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:231) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:49) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184) at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61) at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70) at org.junit.runners.ParentRunner.run(ParentRunner.java:236) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:174) at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:86) at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:459) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:675) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192) Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [beans.xml]: Invocation of init method failed; nested exception is java.lang.UnsatisfiedLinkError: E:\Ebook\JavaSE\develop\Oracle\product\10.2.0\client_1\BIN\ocijdbc10.dll: Can't load IA 32-bit .dll on a AMD 64-bit platform at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1420) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456) at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:293) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:290) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:192) at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:567) at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425) at org.springframework.test.context.support.AbstractGenericContextLoader.loadContext(AbstractGenericContextLoader.java:84) at org.springframework.test.context.support.AbstractGenericContextLoader.loadContext(AbstractGenericContextLoader.java:1) at org.springframework.test.context.TestContext.loadApplicationContext(TestContext.java:280) at org.springframework.test.context.TestContext.getApplicationContext(TestContext.java:304) ... 24 more Caused by: java.lang.UnsatisfiedLinkError: E:\Ebook\JavaSE\develop\Oracle\product\10.2.0\client_1\BIN\ocijdbc10.dll: Can't load IA 32-bit .dll on a AMD 64-bit platform at java.lang.ClassLoader$NativeLibrary.load(Native Method) at java.lang.ClassLoader.loadLibrary1(ClassLoader.java:1965) at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1890) at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1880) at java.lang.Runtime.loadLibrary0(Runtime.java:849) at java.lang.System.loadLibrary(System.java:1088) at oracle.jdbc.driver.T2CConnection$1.run(T2CConnection.java:3135) at java.security.AccessController.doPrivileged(Native Method) at oracle.jdbc.driver.T2CConnection.loadNativeLibrary(T2CConnection.java:3131) at oracle.jdbc.driver.T2CConnection.logon(T2CConnection.java:221) at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:414) at oracle.jdbc.driver.T2CConnection.<init>(T2CConnection.java:132) at oracle.jdbc.driver.T2CDriverExtension.getConnection(T2CDriverExtension.java:78) at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:801) at org.apache.commons.dbcp.DriverConnectionFactory.createConnection(DriverConnectionFactory.java:38) at org.apache.commons.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:582) at org.apache.commons.dbcp.BasicDataSource.validateConnectionFactory(BasicDataSource.java:1556) at org.apache.commons.dbcp.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:1545) at org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1388) at org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:1044) at org.apache.ibatis.mapping.VendorDatabaseIdProvider.getDatabaseProductName(VendorDatabaseIdProvider.java:76) at org.apache.ibatis.mapping.VendorDatabaseIdProvider.getDatabaseName(VendorDatabaseIdProvider.java:61) at org.apache.ibatis.mapping.VendorDatabaseIdProvider.getDatabaseId(VendorDatabaseIdProvider.java:49) at org.mybatis.spring.SqlSessionFactoryBean.buildSqlSessionFactory(SqlSessionFactoryBean.java:395) at org.mybatis.spring.SqlSessionFactoryBean.afterPropertiesSet(SqlSessionFactoryBean.java:295) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1477) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1417) ... 37 more 这个有什么解决办法吗
php5.6连接oracle,连接不上,如何配置?
我的机器是win7 64位,使用的xampps安装的php5.6, 配置了pdo扩展,但是在phpinfo的PDO drivers 中看不到对oci的支持,打开sqlite和odbc的pdo都没有问题,但是打开oci就是不显示,也就连接不了远程的oracle, 使用oci_connection提示方法未定义 如果使用new pdo的方式,提示找不到驱动 问题就是这样的,难道php5.6不支持连接oracle了么? 百度上能搜的都差不多都搜索了,找不到解决的方案
instant已经好了 oci8也开了要怎么让laravel支持呢
![图片说明](https://img-ask.csdn.net/upload/201908/15/1565880453_904409.jpg) oci已经开了 laravel要怎么连
biee导入元数据时数据源为空
数据库是11g的,系统是win7 32位。我安装完biee后,导入元数据时,数据源那块是空的。![图片说明](https://img-ask.csdn.net/upload/201906/13/1560413768_270361.jpg) 也用了网上说的安装oracle客户端时安装oci组件,还是不行。求各位大神给帮办帮忙!
本地已经安装Oracle服务,怎么数据写入问题
我本机装有Oracle数据库,想写一个C++程序通过OCI接口实现Oracle数据写入。已经实现了通过安装ODTwithODAC112030程序,然后调用oci接口访问Oracle。现在想既然已经安装Oracle服务了,直接怎么访问?
java web jdbc oci 方式连接oracle报错UnsatisfiedLinkError
环境为AIX Version 5.3! sqlplus sqlldr 可用, java web jdbc oci 方式连接数据库不成功 Connection conn = null; Statement stmt = null; ResultSet rs = null; try { Class.forName("oracle.jdbc.OracleDriver"); conn = DriverManager.getConnection("jdbc:oracle:oci:@bbs", "user", "password"); stmt = conn.createStatement(); rs = stmt.executeQuery("select name from abc"); while (rs.next()) { String s = rs.getString(1); System.out.println(s); } } catch (Exception e) { e.printStackTrace(); } System.out.println(System.getProperties().get("java.library.path"));输出:/oracle11/app/oracle/11.2.0/lib windows上测试成功: -Djava.library.path=E:\oracle\product\10.2.0\client_1\BIN 报错信息 INFO: Server startup in 1286 ms Exception in thread "Timer-0" java.lang.UnsatisfiedLinkError: ocijdbc11 (A file or directory in the path name does not exist.) at java.lang.ClassLoader.loadLibraryWithPath(ClassLoader.java:986) at java.lang.ClassLoader.loadLibraryWithClassLoader(ClassLoader.java:950) at java.lang.System.loadLibrary(System.java:453) at oracle.jdbc.driver.T2CConnection$1.run(T2CConnection.java:3516) at java.security.AccessController.doPrivileged(AccessController.java:197) at oracle.jdbc.driver.T2CConnection.loadNativeLibrary(T2CConnection.java:3512) at oracle.jdbc.driver.T2CConnection.logon(T2CConnection.java:266) at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:536) at oracle.jdbc.driver.T2CConnection.<init>(T2CConnection.java:162) at oracle.jdbc.driver.T2CDriverExtension.getConnection(T2CDriverExtension.java:53) at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:521) at java.sql.DriverManager.getConnection(DriverManager.java:572) at java.sql.DriverManager.getConnection(DriverManager.java:196) at com.gmail.wangchengyong2009.db.OracleETL.getQueryColumnName(OracleETL.java:374)
php2018用的php5.6打开oci之后Oracle Run-time Client Library Version一直显示0.0.0.0.0
php2018用的php5.6打开oci之后Oracle Run-time Client Library Version一直显示0.0.0.0.0![图片说明](https://img-ask.csdn.net/upload/201908/05/1565005481_340809.png)![图片说明](https://img-ask.csdn.net/upload/201908/05/1565005486_861377.png)
Java学习的正确打开方式
在博主认为,对于入门级学习java的最佳学习方法莫过于视频+博客+书籍+总结,前三者博主将淋漓尽致地挥毫于这篇博客文章中,至于总结在于个人,实际上越到后面你会发现学习的最好方式就是阅读参考官方文档其次就是国内的书籍,博客次之,这又是一个层次了,这里暂时不提后面再谈。博主将为各位入门java保驾护航,各位只管冲鸭!!!上天是公平的,只要不辜负时间,时间自然不会辜负你。 何谓学习?博主所理解的学习,它是一个过程,是一个不断累积、不断沉淀、不断总结、善于传达自己的个人见解以及乐于分享的过程。
程序员必须掌握的核心算法有哪些?
由于我之前一直强调数据结构以及算法学习的重要性,所以就有一些读者经常问我,数据结构与算法应该要学习到哪个程度呢?,说实话,这个问题我不知道要怎么回答你,主要取决于你想学习到哪些程度,不过针对这个问题,我稍微总结一下我学过的算法知识点,以及我觉得值得学习的算法。这些算法与数据结构的学习大多数是零散的,并没有一本把他们全部覆盖的书籍。下面是我觉得值得学习的一些算法以及数据结构,当然,我也会整理一些看过...
前端 | 2. 正则
转载请注明以下: 本文转自清自以敬的博客:https://blog.csdn.net/qq_45791147 文章目录1.转义2.正则表达式初步2.1.匹配字符2.1.1.组成元素2.1.2.基础正则的设计 1.转义 转义的作用: 当某个字符在表达式中具有特殊含义,例如字符串引号中出现了引号,为了可以使用这些字符本身,而不是使用其在表达式中的特殊含义,则需要通过转义符“\”来构建该字符转义...
有哪些让程序员受益终生的建议
从业五年多,辗转两个大厂,出过书,创过业,从技术小白成长为基层管理,联合几个业内大牛回答下这个问题,希望能帮到大家,记得帮我点赞哦。 敲黑板!!!读了这篇文章,你将知道如何才能进大厂,如何实现财务自由,如何在工作中游刃有余,这篇文章很长,但绝对是精品,记得帮我点赞哦!!!! 一腔肺腑之言,能看进去多少,就看你自己了!!! 目录: 在校生篇: 为什么要尽量进大厂? 如何选择语言及方...
大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了
大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、电子书搜索 对于大部分程序员...
linux系列之常用运维命令整理笔录
本博客记录工作中需要的linux运维命令,大学时候开始接触linux,会一些基本操作,可是都没有整理起来,加上是做开发,不做运维,有些命令忘记了,所以现在整理成博客,当然vi,文件操作等就不介绍了,慢慢积累一些其它拓展的命令,博客不定时更新 free -m 其中:m表示兆,也可以用g,注意都要小写 Men:表示物理内存统计 total:表示物理内存总数(total=used+free) use...
比特币原理详解
一、什么是比特币 比特币是一种电子货币,是一种基于密码学的货币,在2008年11月1日由中本聪发表比特币白皮书,文中提出了一种去中心化的电子记账系统,我们平时的电子现金是银行来记账,因为银行的背后是国家信用。去中心化电子记账系统是参与者共同记账。比特币可以防止主权危机、信用风险。其好处不多做赘述,这一层面介绍的文章很多,本文主要从更深层的技术原理角度进行介绍。 二、问题引入 假设现有4个人...
程序员接私活怎样防止做完了不给钱?
首先跟大家说明一点,我们做 IT 类的外包开发,是非标品开发,所以很有可能在开发过程中会有这样那样的需求修改,而这种需求修改很容易造成扯皮,进而影响到费用支付,甚至出现做完了项目收不到钱的情况。 那么,怎么保证自己的薪酬安全呢? 我们在开工前,一定要做好一些证据方面的准备(也就是“讨薪”的理论依据),这其中最重要的就是需求文档和验收标准。一定要让需求方提供这两个文档资料作为开发的基础。之后开发...
网页实现一个简单的音乐播放器(大佬别看。(⊙﹏⊙))
今天闲着无事,就想写点东西。然后听了下歌,就打算写个播放器。 于是乎用h5 audio的加上js简单的播放器完工了。 演示地点演示 html代码如下` music 这个年纪 七月的风 音乐 ` 然后就是css`*{ margin: 0; padding: 0; text-decoration: none; list-...
Python十大装B语法
Python 是一种代表简单思想的语言,其语法相对简单,很容易上手。不过,如果就此小视 Python 语法的精妙和深邃,那就大错特错了。本文精心筛选了最能展现 Python 语法之精妙的十个知识点,并附上详细的实例代码。如能在实战中融会贯通、灵活使用,必将使代码更为精炼、高效,同时也会极大提升代码B格,使之看上去更老练,读起来更优雅。
数据库优化 - SQL优化
以实际SQL入手,带你一步一步走上SQL优化之路!
2019年11月中国大陆编程语言排行榜
2019年11月2日,我统计了某招聘网站,获得有效程序员招聘数据9万条。针对招聘信息,提取编程语言关键字,并统计如下: 编程语言比例 rank pl_ percentage 1 java 33.62% 2 cpp 16.42% 3 c_sharp 12.82% 4 javascript 12.31% 5 python 7.93% 6 go 7.25% 7 p...
通俗易懂地给女朋友讲:线程池的内部原理
餐盘在灯光的照耀下格外晶莹洁白,女朋友拿起红酒杯轻轻地抿了一小口,对我说:“经常听你说线程池,到底线程池到底是个什么原理?”
《奇巧淫技》系列-python!!每天早上八点自动发送天气预报邮件到QQ邮箱
将代码部署服务器,每日早上定时获取到天气数据,并发送到邮箱。 也可以说是一个小型人工智障。 知识可以运用在不同地方,不一定非是天气预报。
经典算法(5)杨辉三角
杨辉三角 是经典算法,这篇博客对它的算法思想进行了讲解,并有完整的代码实现。
腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹?
昨天,有网友私信我,说去阿里面试,彻底的被打击到了。问了为什么网上大量使用ThreadLocal的源码都会加上private static?他被难住了,因为他从来都没有考虑过这个问题。无独有偶,今天笔者又发现有网友吐槽了一道腾讯的面试题,我们一起来看看。 腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹? 在互联网职场论坛,一名程序员发帖求助到。二面腾讯,其中一个算法题:64匹...
面试官:你连RESTful都不知道我怎么敢要你?
干货,2019 RESTful最贱实践
Docker 从入门到掉坑
Docker 介绍 简单的对docker进行介绍,可以把它理解为一个应用程序执行的容器。但是docker本身和虚拟机还是有较为明显的出入的。我大致归纳了一下,可以总结为以下几点: docker自身也有着很多的优点,关于它的优点,可以总结为以下几项: 安装docker 从 2017 年 3 月开始 docker 在原来的基础上分为两个分支版本: Docker CE 和 Doc...
为啥国人偏爱Mybatis,而老外喜欢Hibernate/JPA呢?
关于SQL和ORM的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行了一番讨论,感触还是有一些,于是就有了今天这篇文。 声明:本文不会下关于Mybatis和JPA两个持久层框架哪个更好这样的结论。只是摆事实,讲道理,所以,请各位看官勿喷。 一、事件起因 关于Mybatis和JPA孰优孰劣的问题,争论已经很多年了。一直也没有结论,毕竟每个人的喜好和习惯是大不相同的。我也看...
白话阿里巴巴Java开发手册高级篇
不久前,阿里巴巴发布了《阿里巴巴Java开发手册》,总结了阿里巴巴内部实际项目开发过程中开发人员应该遵守的研发流程规范,这些流程规范在一定程度上能够保证最终的项目交付质量,通过在时间中总结模式,并推广给广大开发人员,来避免研发人员在实践中容易犯的错误,确保最终在大规模协作的项目中达成既定目标。 无独有偶,笔者去年在公司里负责升级和制定研发流程、设计模板、设计标准、代码标准等规范,并在实际工作中进行...
SQL-小白最佳入门sql查询一
不要偷偷的查询我的个人资料,即使你再喜欢我,也不要这样,真的不好;
项目中的if else太多了,该怎么重构?
介绍 最近跟着公司的大佬开发了一款IM系统,类似QQ和微信哈,就是聊天软件。我们有一部分业务逻辑是这样的 if (msgType = "文本") { // dosomething } else if(msgType = "图片") { // doshomething } else if(msgType = "视频") { // doshomething } else { // doshom...
Nginx 原理和架构
Nginx 是一个免费的,开源的,高性能的 HTTP 服务器和反向代理,以及 IMAP / POP3 代理服务器。Nginx 以其高性能,稳定性,丰富的功能,简单的配置和低资源消耗而闻名。 Nginx 的整体架构 Nginx 里有一个 master 进程和多个 worker 进程。master 进程并不处理网络请求,主要负责调度工作进程:加载配置、启动工作进程及非停升级。worker 进程负责处...
Python 编程开发 实用经验和技巧
Python是一门很灵活的语言,也有很多实用的方法,有时候实现一个功能可以用多种方法实现,我这里总结了一些常用的方法和技巧,包括小数保留指定位小数、判断变量的数据类型、类方法@classmethod、制表符中文对齐、遍历字典、datetime.timedelta的使用等,会持续更新......
YouTube排名第一的励志英文演讲《Dream(梦想)》
Idon’t know what that dream is that you have, I don't care how disappointing it might have been as you've been working toward that dream,but that dream that you’re holding in your mind, that it’s po...
“狗屁不通文章生成器”登顶GitHub热榜,分分钟写出万字形式主义大作
一、垃圾文字生成器介绍 最近在浏览GitHub的时候,发现了这样一个骨骼清奇的雷人项目,而且热度还特别高。 项目中文名:狗屁不通文章生成器 项目英文名:BullshitGenerator 根据作者的介绍,他是偶尔需要一些中文文字用于GUI开发时测试文本渲染,因此开发了这个废话生成器。但由于生成的废话实在是太过富于哲理,所以最近已经被小伙伴们给玩坏了。 他的文风可能是这样的: 你发现,...
程序员:我终于知道post和get的区别
是一个老生常谈的话题,然而随着不断的学习,对于以前的认识有很多误区,所以还是需要不断地总结的,学而时习之,不亦说乎
《程序人生》系列-这个程序员只用了20行代码就拿了冠军
你知道的越多,你不知道的越多 点赞再看,养成习惯GitHub上已经开源https://github.com/JavaFamily,有一线大厂面试点脑图,欢迎Star和完善 前言 这一期不算《吊打面试官》系列的,所有没前言我直接开始。 絮叨 本来应该是没有这期的,看过我上期的小伙伴应该是知道的嘛,双十一比较忙嘛,要值班又要去帮忙拍摄年会的视频素材,还得搞个程序员一天的Vlog,还要写BU...
程序员把地府后台管理系统做出来了,还有3.0版本!12月7号最新消息:已在开发中有github地址
第一幕:缘起 听说阎王爷要做个生死簿后台管理系统,我们派去了一个程序员…… 996程序员做的梦: 第一场:团队招募 为了应对地府管理危机,阎王打算找“人”开发一套地府后台管理系统,于是就在地府总经办群中发了项目需求。 话说还是中国电信的信号好,地府都是满格,哈哈!!! 经常会有外行朋友问:看某网站做的不错,功能也简单,你帮忙做一下? 而这次,面对这样的需求,这个程序员...
网易云6亿用户音乐推荐算法
网易云音乐是音乐爱好者的集聚地,云音乐推荐系统致力于通过 AI 算法的落地,实现用户千人千面的个性化推荐,为用户带来不一样的听歌体验。 本次分享重点介绍 AI 算法在音乐推荐中的应用实践,以及在算法落地过程中遇到的挑战和解决方案。 将从如下两个部分展开: AI算法在音乐推荐中的应用 音乐场景下的 AI 思考 从 2013 年 4 月正式上线至今,网易云音乐平台持续提供着:乐屏社区、UGC...
为什么要学数据结构?
一、前言 在可视化化程序设计的今天,借助于集成开发环境可以很快地生成程序,程序设计不再是计算机专业人员的专利。很多人认为,只要掌握几种开发工具就可以成为编程高手,其实,这是一种误解。要想成为一个专业的开发人员,至少需要以下三个条件: 1) 能够熟练地选择和设计各种数据结构和算法 2) 至少要能够熟练地掌握一门程序设计语言 3) 熟知所涉及的相关应用领域的知识 其中,后两个条件比较容易实现,而第一个...
相关热词 c# 引用mysql c#动态加载非托管dll c# 两个表数据同步 c# 返回浮点json c# imap 链接状态 c# 漂亮字 c# 上取整 除法 c#substring c#中延时关闭 c#线段拖拉
立即提问